The WebGPU API is the successor to the WebGL and WebGL 2 graphics APIs for the Web. It will provide modern features such as “GPU compute” as well as lower overhead access to GPU hardware and better, more predictable performance. WebGPU is being developed by the “GPU for the Web” W3C community group.
WebGPU is a large and complex API. Developers take time to port existing applications to it and surface feedback on functionality / performance, and TAG review is still ongoing due to the complexity of the API. We are starting to gather feedback from developers and get additional ones. Particularly important pieces of feedback that we are currently investigating are:
With positive signals (and at least WIP implementations) from all browsers, the biggest interoperability risk is the surface of the API which is quite large.
WebGPU is not polyfillable on existing APIs and requires hardware support on the system. (software fallback is not enabled by default yet).
See detailed security explainer: https://gpuweb.github.io/gpuweb/#malicious-use
Allow developers to use WebGPU and provide feedback on the API or the shading language. We expect feedback about ergonomics, ease of use and ease of porting existing content to WebGPU, and missing features. As well as many bug reports :) Also help partners evaluate the performance of WebGPU in the wild to figure out areas of the implementation to optimize before launch.
WebGPU is a large and complex API. Developers take time to port existing applications to it and surface feedback on functionality / performance, and TAG review is still ongoing due to the complexity of the API. We are starting to gather feedback from developers and get additional ones. Particularly important pieces of feedback that we are currently investigating are:
None
Warnings and errors are exposed via dev tools. Specialized tools for debugging are TBD.
This feature will not be available in Origin Trial on: - Android because adding Android support is a lot of engineering that we're scheduling to happen between the Origin Trial and the shipment of WebGPU. - Windows 7 and 8 since they don't have D3D12. Support will be extended to these versions of Windows after the first version of WebGPU is shipped. - Other devices that don't support D3D12/Metal/Vulkan or don't have a GPU with good enough minimum specifications.(maybe) - ARM devices if we don't find time to test on ARM platforms before the Origin Trial starts. The goal is that WebGPU will eventually be supported in hardware on the vast majority of systems on all Blink OSes and have software fallback on the others.
OriginTrial desktop last | 101 |
OriginTrial desktop first | 94 |
Hey Yoav,The W3C group is looking to finish a first version of the spec ASAP and while standardization always has a bunch of unknowns, we want to get to a stable spec in months, not quarters. So for Chromium our hope was that we could keep the OT going until shipping, with maybe a pause of one release in the middle. Burn-in is always a risk but fairly minimal for WebGPU because all browsers are implementing and horizontal reviews seem to have little comments that would change the shape of the API drastically. (so we're not in a situation like when WebVR turned into WebXR). We've also been doing rolling deprecations during the OT and developers all upgraded in a timely fashion.Of course we might be biased in evaluating the risk of burn-in but it seems minimal, so extending OTs for 12 milestones (or even longer) doesn't look scary. Happy to discuss more obviously :)
Re: WebGPU WPT in Firefox and WebKit, short answer is that they aren't running the tests yet, but looking to.
- WebKit started implementing WebGPU again actively a couple weeks ago and assured they wanted the vast majority of their tests to be the WPT ones we develop (and that they are going to contribute to if they find holes). They asked for pointers on how to run the WebGPU CTS through WPT so they must be looking at doing that.
- I thought Firefox ran WebGPU WPT on CI but it seems it later got disabled. Kelsey Gilbert confirmed it: "Not as part of Firefox CI yet, but yes we are working on it". wgpu the library used to implement WebGPU in Firefox, is running the tests through Deno, which provides coverage of most of the code. (from our experience in Chromium). I don't know the pass rate of wgpu though.
LGTM to continue experimenting till M105 (inclusive) but no further.
On Wed, Mar 23, 2022 at 12:57 PM Corentin Wallez <cwa...@chromium.org> wrote:Hey Yoav,The W3C group is looking to finish a first version of the spec ASAP and while standardization always has a bunch of unknowns, we want to get to a stable spec in months, not quarters. So for Chromium our hope was that we could keep the OT going until shipping, with maybe a pause of one release in the middle. Burn-in is always a risk but fairly minimal for WebGPU because all browsers are implementing and horizontal reviews seem to have little comments that would change the shape of the API drastically. (so we're not in a situation like when WebVR turned into WebXR). We've also been doing rolling deprecations during the OT and developers all upgraded in a timely fashion.Of course we might be biased in evaluating the risk of burn-in but it seems minimal, so extending OTs for 12 milestones (or even longer) doesn't look scary. Happy to discuss more obviously :)Extension beyond the 12 milestone mark would require 3 LGTMs and significant analysis of the risks involved. Pausing the OT for a release would go a long way towards reducing the risks, so it might be worthwhile for y'all to consider.