Contact emails
chou...@google.com
Explainer
No information provided
Specification
https://github.com/gpuweb/gpuweb/pull/5268
Summary
Allows a single assignment statement to update multiple components of a vector in the WebGPU Shading Language (WGSL). Developers can use swizzle syntax on the left-hand side of an assignment rather than reconstruct entire vectors or assign components individually. This reduces boilerplate, improves shader readability, and aligns WGSL with other common shading languages.
Blink component
Blink>WebGPU
Web Feature ID
webgpu
Motivation
Allows a single assignment statement to update multiple components of a vector in the WebGPU Shading Language (WGSL) to reduce boilerplate, improve shader readability, and align WGSL with other common shading languages.
Initial public proposal
No information provided
TAG review
No information provided
TAG review status
Pending
Goals for experimentation
None
Risks
Interoperability and Compatibility
This feature has been approved in W3C GPU for the Web WG meetings including participants from Safari and Firefox.
Gecko: No signal (
https://github.com/gpuweb/gpuweb/pull/5268) Feedback indicated via WebGPU standardization process.
WebKit: Positive (
https://github.com/gpuweb/gpuweb/pull/5268) Specification approval constitutes a positive signal.
Web developers: Positive (
https://github.com/gpuweb/gpuweb/issues/737) The spec issue requesting this feature is one of the top 10 most thumbs-upped issues in the gpuweb repository.
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?
No information provided
Debuggability
No information provided
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, where hardware support is available. Linux is planned to have WebGPU support in the future, so this feature will become available when WebGPU does.
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.
https://github.com/gpuweb/cts/issues/4579
Flag name on about://flags
No information provided
Finch feature name
UnsafeWGSLFeatures
Rollout plan
Will ship enabled for all users
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/433787057
Estimated milestones
No milestones specified
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).
No information provided
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6229154029764608?gate=6055470115717120