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
https://gpuweb.github.io/gpuweb/#dom-gpufeaturename-dual-source-blending
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.
None
Not applicable
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:
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None
None
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.
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.
None
WebGPU.Enabled:UnsafeFeatures
False
https://issues.chromium.org/issues/341973423
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
https://chromestatus.com/feature/5167711051841536
This intent message was generated by Chrome Platform Status.
Contact emails
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
TAG review
None
TAG review status
Not applicable
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?
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.
Flag name on chrome://flags
None
Finch feature name
WebGPU.Enabled:UnsafeFeatures
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/issues/341973423
Estimated milestones
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.
--
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+...@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.
On Thu, Aug 22, 2024 at 9:13 PM 'François Beaufort' via blink-dev <blin...@chromium.org> wrote:Contact emails
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
TAG review
None
TAG review status
Not applicable
I can't figure out which exception this would fall under. Can you help explain why TAG review is not applicable here?
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?
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.)
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.
Adding +Corentin Wallez to the threadOn Fri, Aug 23, 2024 at 2:29 PM François Beaufort <fbea...@google.com> wrote:On Fri, Aug 23, 2024 at 7:01 AM Domenic Denicola <dom...@chromium.org> wrote:On Thu, Aug 22, 2024 at 9:13 PM 'François Beaufort' via blink-dev <blin...@chromium.org> wrote:Contact emails
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
TAG review
None
TAG review status
Not applicable
I can't figure out which exception 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
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.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@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.
--
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+unsubscribe@chromium.org.
LGTM3 (after two LGTM1s from Alex and Yoav).
The finch flag is just a followup on Domenic's question. It seems the issue is that the documented flag doesn't actually correspond to the on-off switch for this feature so please update the finch flag documentation to reflect the correct switch. Just in case this will need emergency surgery.
There is a discussion to be had about TAG reviews for minor WebGPU features. By the book this should probably have had one, but I'm not sure anyone would have benefited from such a request so it's probably the book that needs updating. Also see Alex' comment below.
/Daniel
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ad26c92d-a28a-4ed2-9f95-17b02439f276n%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@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.
--
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+...@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.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@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.
--
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+unsubscribe@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.
--
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+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@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.
--
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+...@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.
--
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+...@chromium.org.