On Wed, Mar 23, 2022 at 1:13 PM Yoav Weiss <[email protected]> wrote:
> LGTM to continue experimenting till M105 (inclusive) but no further. > > Thank you! > On Wed, Mar 23, 2022 at 12:57 PM Corentin Wallez <[email protected]> > 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. > > Sounds good, I really hope by then we'll be ready for launch, with the potential gap of one release. We need to figure out the implications but it's likely we can do a pause. > >> 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 >> <https://github.com/WebKit/WebKit/commits/main/Source/WebGPU> >> 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 <https://github.com/gfx-rs/wgpu> the >> library used to implement WebGPU in Firefox, is running the tests through >> Deno <https://deno.land/>, which provides coverage of most of the >> code. (from our experience in Chromium). I don't know the pass rate of >> wgpu >> though. >> >> > Thanks! May be interesting (but not blocking) to run those WPTs manually > and see if they pass. Or we could wait for them to integrate them into > their CI :) > > >> Cheers, >> >> Corentin >> >> On Wed, Mar 23, 2022 at 6:06 AM Yoav Weiss <[email protected]> >> wrote: >> >>> Thanks for tackling this large , important and complex capability! :) >>> >>> As this extension will bring the OT to 12 milestones, which is the >>> typical limit of time we let OTs run (to reduce burn-in risk), I'd love to >>> better understand the higher level plan. >>> Are you planning for this to be the last OT extension, and planning to >>> ship around M105? Are you planning to pause the OT at some point, to reduce >>> the burn-in risk? Something else? >>> >>> On Monday, March 21, 2022 at 2:43:54 PM UTC+1 Corentin Wallez wrote: >>> >>>> The origin trial for WebGPU was started in M94 and was later extended >>>> to end in M101. We are asking to extend for 4 additional releases to M105 >>>> so that we can address previous feedback from developers and gather >>>> additional ones. >>>> >>>> Particularly important pieces of feedback that we are currently >>>> investigating are: >>>> >>>> - The performance of WebGPU-based video processing on the Web, >>>> which after extensive efforts by partners is getting to a benchmarkable >>>> state (so we can understand the performance of the API and correct if >>>> need >>>> be). >>>> - Missing functionality and its impact on large projects targeting >>>> WebGPU via emscripten (for example we got multiple important pieces of >>>> feedback from Unity with likely more coming) >>>> - The expressed need to have synchronous readbacks from the GPU >>>> being available in WebGPU (something that you can do in WebGL and that >>>> at >>>> least half a dozen developers requested be added to WebGPU). >>>> - How the recently agreed upon direction for exposing GPU >>>> identifiers in WebGPU will work for developers (since it is more limited >>>> than available in WebGL for privacy considerations). >>>> >>>> >>>> Contact [email protected], [email protected], >>>> [email protected] >>>> >>>> Explainerhttps://gpuweb.github.io/gpuweb/explainer/ >>>> >>>> Specificationhttps://gpuweb.github.io/gpuweb/ >>>> >>>> Design docs >>>> https://gpuweb.github.io/gpuweb/ >>>> https://gpuweb.github.io/gpuweb/wgsl/ >>>> https://gpuweb.github.io/gpuweb/explainer/ >>>> >>>> Summary >>>> >>>> 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: >>>> >>>> - The performance of WebGPU-based video processing on the Web, >>>> which after extensive efforts by partners is getting to a benchmarkable >>>> state (so we can understand the performance of the API and correct if >>>> need >>>> be). >>>> - Missing functionality and its impact on large projects targeting >>>> WebGPU via emscripten (for example we got multiple important pieces of >>>> feedback from Unity with likely more coming) >>>> - The expressed need to have synchronous readbacks from the GPU >>>> being available in WebGPU (something that you can do in WebGL and that >>>> at >>>> least half a dozen developers requested be added to WebGPU). >>>> - How the recently agreed upon direction for exposing GPU >>>> identifiers in WebGPU will work for developers (since it is more limited >>>> than available in WebGL for privacy considerations). >>>> >>>> We are asking to extend the Origin Trial to keep getting feedback from >>>> developers during their prototyping and also when they are testing with >>>> users in the wild. (identifier information for example is only useful in >>>> the latter case). >>>> >>>> Blink componentBlink>WebGPU >>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebGPU> >>>> >>>> Search tagsgpu <https://chromestatus.com/features#tags:gpu>, webgl >>>> <https://chromestatus.com/features#tags:webgl> >>>> >>>> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/626 >>>> >>>> TAG review statusStill ongoing (after 11 months and regular reminders). >>>> >>>> Risks >>>> >>>> >>>> Interoperability and Compatibility >>>> >>>> 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. >>>> >>>> Gecko: In development ( >>>> https://hg.mozilla.org/mozilla-central/file/tip/dom/webgpu) >>>> >>>> WebKit: In development ( >>>> https://github.com/WebKit/WebKit/tree/main/Source/WebGPU/WebGPU) >>>> >>>> Web developers: Strongly positive ( >>>> https://doc.babylonjs.com/extensions/webgpu) Significant interest and >>>> positive feedback from the many early adopters (Babylon.js, Earth, TF.js, >>>> sokol-gfx, and many many others). >>>> >>>> Activation >>>> >>>> WebGPU is not polyfillable on existing APIs and requires hardware >>>> support on the system. (software fallback is not enabled by default yet). >>>> >>>> >>>> Security >>>> >>>> See detailed security explainer: >>>> https://gpuweb.github.io/gpuweb/#malicious-use >>>> >>>> >>>> Goals for experimentation >>>> >>>> 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. >>>> >>>> >>>> Reason this experiment is being extended >>>> >>>> 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: >>>> >>>> - The performance of WebGPU-based video processing on the Web, >>>> which after extensive efforts by partners is getting to a benchmarkable >>>> state (so we can understand the performance of the API and correct if >>>> need >>>> be). >>>> - Missing functionality and its impact on large projects targeting >>>> WebGPU via emscripten (for example we got multiple important pieces of >>>> feedback from Unity with likely more coming) >>>> - The expressed need to have synchronous readbacks from the GPU >>>> being available in WebGPU (something that you can do in WebGL and that >>>> at >>>> least half a dozen developers requested be added to WebGPU). >>>> - How the recently agreed upon direction for exposing GPU >>>> identifiers in WebGPU will work for developers (since it is more limited >>>> than available in WebGL for privacy considerations). >>>> >>>> We are asking to extend the Origin Trial to keep getting feedback from >>>> developers during their prototyping and also when they are testing with >>>> users in the wild. (identifier information for example is only useful in >>>> the latter case). >>>> >>>> >>>> >>>> Ongoing technical constraints >>>> >>>> None >>>> >>>> >>>> Debuggability >>>> >>>> Warnings and errors are exposed via dev tools. Specialized tools for >>>> debugging are TBD. >>>> >>>> >>>> Will this feature be supported on all six Blink platforms (Windows, >>>> Mac, Linux, Chrome OS, Android, and Android WebView)?No >>>> >>>> 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. >>>> >>>> >>>> Is this feature fully tested by web-platform-tests >>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> >>>> ?Yes >>>> >>> >>> Are the Firefox and Safari implementations passing the WPTs? That could >>> be reassuring from an interop perspective. >>> >>> >>>> >>>> DevTrial instructions >>>> https://github.com/gpuweb/gpuweb/wiki/Implementation-Status#chromium-chrome-edge-etc >>>> >>>> Flag name--enable-unsafe-webgpu >>>> >>>> Requires code in //chrome?False >>>> >>>> Tracking bug >>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1156646 >>>> >>>> Launch bughttps://bugs.chromium.org/p/chromium/issues/detail?id=1156661 >>>> >>>> Estimated milestones >>>> OriginTrial desktop last 101 >>>> OriginTrial desktop first 94 >>>> >>>> Link to entry on the Chrome Platform Status >>>> https://chromestatus.com/feature/6213121689518080 >>>> >>>> Links to previous Intent discussionsIntent to prototype: >>>> https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/dxqWTSvyhDg/1UDaFD17AQAJ >>>> Intent to Experiment: >>>> https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/K4_egTNAvTs >>>> Intent to Extend: >>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/l-QcZ7qOcUQ >>>> >>> -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGdfWNN0oMy-myvVWZcpJS4kWMrVG9q7mRSCOPBJwbRmcWD85A%40mail.gmail.com.
