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.