Adding +Corentin Wallez <cwal...@google.com> to the thread On Fri, Aug 23, 2024 at 2:29 PM François Beaufort <fbeauf...@google.com> wrote:
> > > On Fri, Aug 23, 2024 at 7:01 AM Domenic Denicola <dome...@chromium.org> > wrote: > >> >> >> On Thu, Aug 22, 2024 at 9:13 PM 'François Beaufort' via blink-dev < >> blink-dev@chromium.org> wrote: >> >>> Contact emails >>> >>> fbeauf...@google.com >>> >>> Explainer >>> >>> The “dual-source-blending” GPU feature adds additional blend factors and >>> the WGSL @blend_src attribute to allow a fragment shader to blend two color >>> outputs into a single output buffer. >>> https://github.com/gpuweb/gpuweb/pull/4621 >>> >>> Specification >>> >>> https://gpuweb.github.io/gpuweb/#dom-gpufeaturename-dual-source-blending >>> >>> Summary >>> >>> Functionality added to the WebGPU spec after its first shipment in a >>> browser. >>> >>> Adds the optional GPU feature “dual-source-blending” that enables >>> combining two fragment shader outputs into a single framebuffer. This >>> technique is particularly useful for applications that require complex >>> blending operations, such as those based on Porter-Duff blend modes. By >>> reducing the need for frequent pipeline state object changes, dual source >>> blending can enhance performance and flexibility. >>> >>> Blink component >>> >>> Blink>WebGPU >>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebGPU> >>> >>> TAG review >>> >>> None >>> >>> TAG review status >>> >>> Not applicable >>> >> >> I can't figure out which exception >> <https://www.chromium.org/blink/guidelines/api-owners/process-exceptions/> >> this would fall under. Can you help explain why TAG review is not >> applicable here? >> > > Back in October 2023, Corentin Wallez, the WebGPU Tech Lead, met with the > Blink API owners to address the process for releasing WebGPU features > following their inclusion in Chromium. It was mutually agreed that > requesting TAG reviews for minor features would be unnecessary. This policy > applied to all features added at the time. See > https://groups.google.com/a/chromium.org/g/blink-dev/search?q=%22tag%20review%22%20subject%3Awebgpu > > >> >> >>> >>> Risks >>> >>> Interoperability and Compatibility >>> >>> This feature has not yet been implemented in any browser. It has been >>> approved by the GPU for the Web Community Group, with representatives from >>> Chrome, Firefox, and Safari. See minutes at >>> https://github.com/gpuweb/gpuweb/wiki/GPU-Web-2024-05-29#add-optional-feature-dual_source_blending-4621 >>> >>> Gecko: No signal (Mozilla members have approved >>> https://github.com/gpuweb/gpuweb/pull/4621 and requested during weekly >>> standardization meetings that we postpone filing standard positions until >>> we reach Candidate Recommendation (CR) status in Q4.) >>> >>> WebKit: Positive ( >>> https://github.com/WebKit/standards-positions/issues/294#issuecomment-1877411933 >>> ) >>> >>> Web developers: Positive (https://github.com/gpuweb/gpuweb/issues/4283) >>> >>> Other signals: >>> >>> WebView application risks >>> >>> Does this intent deprecate or change behavior of existing APIs, such >>> that it has potentially high risk for Android WebView-based applications? >>> >>> None >>> >>> >>> Debuggability >>> >>> None >>> >>> >>> Will this feature be supported on all six Blink platforms (Windows, Mac, >>> Linux, ChromeOS, Android, and Android WebView)? >>> >>> No >>> >>> All platforms will eventually have support. Will immediately be >>> available on Android, Android WebView, ChromeOS, Mac, and Windows, since >>> those platforms already support WebGPU. Linux is planned to have WebGPU >>> support in the future, so this feature will become available when WebGPU >>> does. >>> >>> Is this feature fully tested by web-platform-tests >>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>> ? >>> >>> Yes. See https://github.com/gpuweb/cts/issues/3810 >>> >>> WebGPU/WGSL have a conformance test suite (https://github.com/gpuweb/cts) >>> that is regularly pulled into Chromium and part of the testing of Dawn/Tint >>> in Chromium. >>> >> >> But, it is not tested by web platform tests themselves, right? >> https://github.com/web-platform-tests/wpt/tree/master/webgpu seems to >> not contain any tests for this feature. >> >> (This does not block shipping, but rather is just a request to improve >> the accuracy of your Chrome Platform Status entry.) >> > > As you can see in > https://groups.google.com/a/chromium.org/g/blink-dev/search?q=cts%20web-platform-tests%20subject%3Awebgpu, > we’ve always replied “Yes” to this question. The WebGPU/WGSL conformance > test suite (https://github.com/gpuweb/cts) is not used only by Chromium. > Other engines, like WebKit and Gecko, also rely on this test suite to > ensure their implementation aligns with the WebGPU specification. > This test suite can be exported to WPT and we use that export for a subset > of tests in Chromium for reftests: > https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/wpt_internal/webgpu/ > The rest of the tests are executed with a different harness in Chromium > for better speed and test result granularity. > > >> >>> >>> Flag name on chrome://flags >>> >>> None >>> >>> Finch feature name >>> >>> WebGPU.Enabled:UnsafeFeatures >>> >> >> This Finch feature name is a bit scary. Does it actually allow unshipping >> only this new feature? It sounds rather general. >> >> > > It does allow disabling specific GPU features such as > FeatureName::DualSourceBlending, but also FeatureName::Subgroups, etc. See > https://source.chromium.org/chromium/chromium/src/+/main:gpu/config/gpu_finch_features.cc;l=275;drc=168a59b6bada5b30a6f2390c22a6177216b17e4d > . > If it really matters, we could rename the Finch feature name to > WebGPU.Enabled:BlocklistFeatures to better reflect the meaning. > > >>> Requires code in //chrome? >>> >>> False >>> >>> Tracking bug >>> >>> https://issues.chromium.org/issues/341973423 >>> >>> Estimated milestones >>> >>> DevTrial on desktop >>> >>> 129 >>> >>> DevTrial on Android >>> >>> 129 >>> >>> >>> >>> >>> Anticipated spec changes >>> >>> Open questions about a feature may be a source of future web compat or >>> interop issues. Please list open issues (e.g. links to known github issues >>> in the project for the feature specification) whose resolution may >>> introduce web compat/interop risk (e.g., changing to naming or structure of >>> the API in a non-backward-compatible way). >>> >>> None >>> >>> Link to entry on the Chrome Platform Status >>> >>> https://chromestatus.com/feature/5167711051841536 >>> >>> >>> This intent message was generated by Chrome Platform Status >>> <https://chromestatus.com/>. >>> >>> -- >>> 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 blink-dev+unsubscr...@chromium.org. >>> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5LYcjs9iaFmzLZ%2BtorNvAQ0no4SSxGAm6ZJ62NONiASNA%40mail.gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5LYcjs9iaFmzLZ%2BtorNvAQ0no4SSxGAm6ZJ62NONiASNA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- 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 blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5L5XPV4Z9amhPMP8819GR_WtDOS2pwN2iph_bLOKoCZoQ%40mail.gmail.com.