Intent to Ship: WebGPU: 1-component vertex formats (and unorm8x4-bgra)

55 views
Skip to first unread message

Corentin Wallez

unread,
Nov 19, 2024, 10:48:14 AM11/19/24
to blink-dev

Contact emails

cwa...@google.com

Explainer

None

Specification

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

Summary

Adds additional vertex formats not present in the initial release of WebGPU due to lack of support or old macOS versions (which are no longer supported by any browser). The 1-component vertex formats lets applications request only the necessary data when previously they had to request at least 2x more for 8 and 16-bit data types. The unorm8x4-bgra format makes it slightly more convenient to load BGRA-encoded vertex colors while keeping the same shader.



Blink component

Blink>WebGPU

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

This feature has been approved in W3C GPU for the Web WG meetings including participants from Safari and Firefox. https://github.com/gpuweb/gpuweb/issues/4549#issuecomment-2044859355



Gecko: No signal Mozilla members have approved <link to the PR, or tracking issue> and requested during weekly standardization meetings that we postpone filing standard positions until we reach Candidate Recommendation (CR) status in Q4.

WebKit: Closed Without a Position (https://github.com/WebKit/standards-positions/issues/294#issuecomment-1877411933)

Web developers: Positive (https://x.com/SebAaltonen/status/1856361670437646622)

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



Goals for experimentation



Ongoing technical constraints

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, where hardware support is available. 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?

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/pull/4029



Flag name on about://flags

None

Finch feature name

WebGPUOneComponentVertexFormats

Requires code in //chrome?

False

Tracking bug

https://issues.chromium.org/issues/376924407

Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4609840973086720

This intent message was generated by Chrome Platform Status.

Yoav Weiss (@Shopify)

unread,
Nov 20, 2024, 11:08:56 AM11/20/24
to blink-dev, Corentin Wallez
LGTM1

Alex Russell

unread,
Nov 20, 2024, 12:18:53 PM11/20/24
to blink-dev, Yoav Weiss, Corentin Wallez
LGTM2

Chris Harrelson

unread,
Nov 20, 2024, 12:20:26 PM11/20/24
to Alex Russell, blink-dev, Yoav Weiss, Corentin Wallez
LGTM3

--
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+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ac1f86d0-3a7c-447f-a771-d540f2512f59n%40chromium.org.

Corentin Wallez

unread,
Nov 20, 2024, 12:21:43 PM11/20/24
to Chris Harrelson, Alex Russell, blink-dev, Yoav Weiss
Thanks all!
Reply all
Reply to author
Forward
0 new messages