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/CAPpwU5%2BWmFXK02PGgBU%3DTkovSjW%3D32B-OgyfB3jzrSqTqpW9Yw%40mail.gmail.com.

Reply via email to