Platform/GFX/WebGPU: Difference between revisions

Jump to navigation Jump to search
Update status.
(Update bug tracking info)
(Update status.)
Line 2: Line 2:


=Architecture=
=Architecture=
TODO
 
Firefox's WebGPU implementation has the following layers:
 
* Content-visible WebIDL bindings, generated in the usual way from [https://searchfox.org/mozilla-central/source/dom/webidl/WebGPU.webidl <code>dom/webidl/WebGPU.webidl</code>].
* C++ implementations of those bindings in [https://searchfox.org/mozilla-central/source/dom/webgpu <code>dom/webgpu</code>], which are mostly concerned with marshaling content requests to be sent to the GPU process.
* The [https://searchfox.org/mozilla-central/source/dom/webgpu/ipc/PWebGPU.ipdl <code>PWebGPU</code> IPDL protocol], which carries those requests.
* Rust code in [https://searchfox.org/mozilla-central/source/gfx/wgpu_bindings <code>gfx/wgpu_bindings</code>] to adapt our <code>PWebGPU</code> handlers to call <code>wgpu_core</code> methods.
* The [https://github.com/gfx-rs/wgpu/ <code>wgpu</code>] GitHub project, an independent open source project implementing the core of the WebGPU API in Rust.
* The [https://github.com/gfx-rs/naga/ Naga] GitHub project, which translates WebGPU's shading language into platform API shading languages like SPIR-V, HLSL, and Metal Shading Language. This is used internally by <code>wgpu</code>.


==Presentation==
==Presentation==
Line 54: Line 62:
==Bug tracking==
==Bug tracking==


All relevant bugs for this project are tracked by the <code>Graphics: WebGPU</code> component. See [https://bugzilla.mozilla.org/buglist.cgi?product=Core&component=Graphics%3A%20WebGPU&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED all open bugs], or [https://bugzilla.mozilla.org/buglist.cgi?product=Core&component=Graphics%3A%20WebGPU all bugs (including closed ones)]
All relevant bugs for this project are tracked by the <code>Graphics: WebGPU</code> component. See [https://bugzilla.mozilla.org/buglist.cgi?product=Core&component=Graphics%3A%20WebGPU&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED all open bugs], or [https://bugzilla.mozilla.org/buglist.cgi?product=Core&component=Graphics%3A%20WebGPU all bugs (including closed ones)]
 
Current work is tracked in the following bugs:


The [https://bugzilla.mozilla.org/show_bug.cgi?id=webgpu-v1&hide_resolved=1 <code>webgpu-v1>] meta-bug tracks all dependencies for a mostly compliant implementation of WebGPU v1.
* [https://bugzilla.mozilla.org/show_bug.cgi?id=webgpu-v1&hide_resolved=1 <code>webgpu-v1</code>] - meta-bug for remaining standard compliance issues
* [https://github.com/gfx-rs/wgpu/milestone/8 WebGPU Specification V1] milestone for [https://github.com/gfx-rs/wgpu <code>wgpu</code>]
* [https://github.com/gfx-rs/naga/milestone/4 WGSL Specification v1] milestone for [https://github.com/gfx-rs/naga `naga`]


Demos:
Demos:


*[https://hello-webgpu-compute.glitch.me/ hello-webgpu-compute]
* [https://wgpu.rs] - The `wgpu` crate's examples
* [https://hello-webgpu-compute.glitch.me/ hello-webgpu-compute]


General information:
General information:
Confirmed users
497

edits

Navigation menu