Contact emails

fbeauf...@google.com

Explainer

Not all graphics cards and systems have the same capabilities when it comes
to WebGPU.

To address this, WebGPU has a GPU feature system where developers can check
if a device supports specific functionalities.

We’re introducing a new “float32-blendable” GPU feature that makes GPU
textures with formats "r32float", "rg32float", and "rgba32float" blendable.

32-bit floating-point textures are essential for HDR rendering to preserve
a wide range of color values and prevent color banding artifacts.

It is also useful for scientific visualization such as radio astronomy
imaging.

By exposing this capability as a GPU feature, developers can explicitly
check for "float32-blendable" support and provide fallback solutions or
alternative rendering paths when necessary.

This ensures consistent and predictable behavior across a diverse range of
WebGPU implementations.


https://github.com/gpuweb/gpuweb/pull/4896/

Specification

https://www.w3.org/TR/webgpu/#float32-blendable

Summary

Functionality added to the WebGPU spec after its first shipment in a
browser.

The “float32-blendable” GPU feature makes GPU textures with formats
"r32float", "rg32float", and "rgba32float" blendable.

Blink component

Blink>WebGPU
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebGPU>

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/Minutes-2023-04-19#support-blending-32-bit-float-textures-3556
and https://github.com/gpuweb/gpuweb/pull/4896

Gecko: No signal (Mozilla members have 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/3556)

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

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.

While the CTS can be embedded in WPT, the WebGPU team opted to keep it
separate in Chromium testing to use a customized harness for robustness and
performance.

All the tests about this feature in WebGPU CTS can be found through the
below link: https://github.com/gpuweb/cts/pull/4003

Flag name on chrome://flags

chrome://flags/#enable-unsafe-webgpu

Finch feature name

WebGPU.Enabled:UnsafeFeatures

Requires code in //chrome?

False

Tracking bug

https://issues.chromium.org/369649348

Estimated milestones

DevTrial on desktop

132

DevTrial  on Android

132




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/5173655901044736?gate=5129994471473152

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/CAPpwU5%2Bg4W0ruYJZ4-Mbg%2B4yW4vX%3DkpZJdisCg4tBsnUN%3D66%2Bw%40mail.gmail.com.

Reply via email to