Chrome 143 WebGPU texture-component-swizzle feature#28411
Chrome 143 WebGPU texture-component-swizzle feature#28411chrisdavidmills merged 13 commits intomdn:mainfrom
Conversation
|
Tip: Review these changes grouped by change (recommended for most PRs), or grouped by feature (for large PRs). |
Note that this will be partially fixed by #28226, so some of the statements will become "mirror" again, except the ones where Chrome has two notes. |
caugner
left a comment
There was a problem hiding this comment.
We need to run npm ci && npm run fix once on this branch, which will revert some now Chrome Android statements to mirror.
As for other changes, I left some comments. (Sorry, reviewed last week and missed to submit.)
Co-authored-by: Claas Augner <495429+caugner@users.noreply.github.com>
Co-authored-by: Claas Augner <495429+caugner@users.noreply.github.com>
Co-authored-by: Claas Augner <495429+caugner@users.noreply.github.com>
Co-authored-by: Claas Augner <495429+caugner@users.noreply.github.com>
Co-authored-by: Claas Augner <495429+caugner@users.noreply.github.com>
Co-authored-by: Claas Augner <495429+caugner@users.noreply.github.com>
Thanks! I ran the command as suggested and also added a missing comma. |
caugner
left a comment
There was a problem hiding this comment.
Could we extract the other changes to a separate PR?
This should be straight-forward:
- Copy the branch (
git checkout -b webgpu-fixes) - Remove the
swizzlefeatures in that branch.
Then we can merge that PR first, afterwards merge main into this one, which would only leave adding the new swizzle features.
| "chrome_android": "mirror", | ||
| "chrome_android": { | ||
| "version_added": "139", | ||
| "notes": "Available on all adapters and enabled automatically on all devices even if not requested." |
There was a problem hiding this comment.
I understand that this is note is pre-existing, but what does it mean for web developers? Are there certain things that don't work, and why does it not justify partial_implementation: true?
There was a problem hiding this comment.
It is a feature that represents the basic, core featureset of WebGPU without requesting any extra features or advanced featuresets (which may well follow in the future). It is always available unless your GPU Adapter is set to "compatibility mode". I'm not 100% sure why they needed a specific feature name to represent the feature status quo.
There was a problem hiding this comment.
Gotcha, but then, based on the spec, isn't the Chrome note just describing the expected behavior of this feature? And could therefore be removed?
If I understand correctly, GPURequestAdapterOptions.featureLevel defaults to "core", which includes this feature. This would explain to me that it is available "even if not requested", but this isn't Chrome-specific.
There was a problem hiding this comment.
It is still going to be supported at different times by different browsers. I also suspect that, depending on the environment you are running WebGPU in, it might not always be the case that it is always enabled by default.
There was a problem hiding this comment.
Gotcha, so it provides useful information for web developers that may avoid webcompat issues, once another engine adds support.
Sure. Done in #28525. |
|
This pull request has merge conflicts that must be resolved before it can be merged. |
Summary
Chrome 143 adds support for the WebGPU
texture-component-swizzlefeature, which, when enabled, allows usage of thecreateView()method'sswizzleoption that allows developers to perform color swizzles.See https://chromestatus.com/feature/5110223547269120.
This PR adds a data point for both the feature and the option.
I also took this opportunity to clean up the rest of the Chrome feature data, as a bunch of the entries weren't quite right (the Chrome Android data shouldn't mirror Chrome when Chrome is marked partial implementation and has a note, neither of which are relevant to CxA).
Test results and supporting details
Related issues