Intent to Ship: WebGPU: GPUAdapter info attribute

368 views
Skip to first unread message

François Beaufort

unread,
May 30, 2024, 12:34:03 AMMay 30
to blink-dev

Contact emails

fbea...@google.com

Explainer

None

Specification

https://gpuweb.github.io/gpuweb/#dom-gpuadapter-info

Summary

Functionality added to the WebGPU spec after its first shipment in a browser. Adds a synchronous GPUAdapter info attribute to retrieve the same information about the physical adapter as with the asynchronous GPUAdapter requestAdapterInfo() method. A separate Intent will be sent to deprecate and remove the asynchronous GPUAdapter requestAdapterInfo() method.



Blink component

Blink>WebGPU

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

The GPUAdapter info attribute 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/GPU-Web-2024-05-22#add-synchronous-gpuadapterinfo-4550



Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1033)

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

Web developers: Positive (https://github.com/gpuweb/gpuweb/issues/4536)

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?

Yes

See https://github.com/gpuweb/cts/pull/3679 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.



Flag name on chrome://flags

None

Finch feature name

None

Non-finch justification

None

Requires code in //chrome?

False

Tracking bug

https://issues.chromium.org/issues/335383516

Estimated milestones

Shipping on desktop127
Shipping on Android127
Shipping on WebView127


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/5087914701881344?gate=5141800569536512

This intent message was generated by Chrome Platform Status.

François Beaufort

unread,
May 30, 2024, 4:00:30 AMMay 30
to blink-dev
On Thu, May 30, 2024 at 6:33 AM François Beaufort <fbea...@google.com> wrote:

Contact emails

fbea...@google.com

Explainer

None

Currently, developers can only get GPUAdapterInfo asynchronously using the GPUAdapter requestAdapterInfo() method. But the WebGPU WG determined it was impractical for requestAdapterInfo() to trigger a permission prompt at this point and removed that option, then decided to replace it with a new GPUAdapter info attribute so they can get GPUAdapterInfo synchronously with https://github.com/gpuweb/gpuweb/pull/4662

Domenic Denicola

unread,
May 30, 2024, 9:16:18 PMMay 30
to blink-dev, fbea...@google.com


On Thursday, May 30, 2024 at 1:34:03 PM UTC+9 fbea...@google.com wrote:


Summary

Functionality added to the WebGPU spec after its first shipment in a browser. Adds a synchronous GPUAdapter info attribute to retrieve the same information about the physical adapter as with the asynchronous GPUAdapter requestAdapterInfo() method. A separate Intent will be sent to deprecate and remove the asynchronous GPUAdapter requestAdapterInfo() method.



Blink componentBlink>WebGPU

TAG reviewNone

TAG review statusNot applicable


Risks


Interoperability and Compatibility

The GPUAdapter info attribute 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/GPU-Web-2024-05-22#add-synchronous-gpuadapterinfo-4550



Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1033)

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

Web developers: Positive (https://github.com/gpuweb/gpuweb/issues/4536)

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?Yes

See https://github.com/gpuweb/cts/pull/3679 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.



Flag name on chrome://flagsNone

Finch feature nameNone

 


Non-finch justificationNone

Requires code in //chrome?False

Tracking bughttps://issues.chromium.org/issues/335383516

Estimated milestonesShipping on desktop127Shipping on Android127Shipping on WebView127


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

François Beaufort

unread,
May 31, 2024, 1:31:33 AMMay 31
to Domenic Denicola, blink-dev
We'll have a blink runtime feature flag named "WebGPUAdapterInfoAttribute" for this.
Thanks for catching Domenic!

Domenic Denicola

unread,
May 31, 2024, 1:35:45 AMMay 31
to François Beaufort, Domenic Denicola, blink-dev
In that case, LGTM1.

Yoav Weiss (@Shopify)

unread,
May 31, 2024, 4:07:42 AMMay 31
to Domenic Denicola, François Beaufort, blink-dev
LGTM2

--
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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8zntEfiC5SBHcPeOAKV2SOfUM%3DTn9P8Wrq4L3d%3D_pXyQ%40mail.gmail.com.

Mike Taylor

unread,
May 31, 2024, 9:25:42 AMMay 31
to Yoav Weiss (@Shopify), Domenic Denicola, François Beaufort, blink-dev
Reply all
Reply to author
Forward
0 new messages