Contact emailsfbeauf...@google.com

ExplainerNone

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

Summary

The WebGPU WG decided it was impractical for requestAdapterInfo() to
trigger a permission prompt so they’ve removed that option and replaced it
with the GPUAdapter info attribute so that web developers can get the same
GPUAdapterInfo value synchronously this time. See the previous intent to
ship at
https://groups.google.com/a/chromium.org/g/blink-dev/c/eZqMmX7q_bA/m/euMLVMpxAgAJ


Blink componentBlink>WebGPU
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebGPU>

Motivation

The requestAdapterInfo() asynchronous method in WebGPU is redundant because
developers can already get GPUAdapterInfo synchronously using the
GPUAdapter info attribute. Hence, it should be removed.

A search for the string "requestAdapterInfo" in HTTPArchive yielded no
results.

According to
https://chromestatus.com/metrics/feature/timeline/popularity/4977, the
requestAdapterInfo() method accounted for approximately 0.41% of page loads
in September 2024.

Chrome UKMs helped us in identifying the most popular websites using the
WebGPU requestAdapterInfo() method: - Twitch: The team has been contacted
and has indicated that they will update their code. - Dynatrace: Used by
the vast majority of those websites for analytics, they have been made
aware of this deprecation.


Initial public proposalNone

TAG reviewNone

TAG review statusNot applicable

Risks


Interoperability and Compatibility

When WebGPU eventually launches in Safari and Firefox, websites will be
able to get GPUAdapterInfo values exclusively through the standardized
GPUAdapter info attribute. We anticipate Safari and Firefox will soon
support WebGPU, but won't include this non-standard method. Therefore, the
sooner Chromium implements the Deprecate and Remove process, the less
likely it is that content will work in Chromium but not in other browsers.
In Chromium-based browsers, as the requestAdapterInfo() asynchronous method
returned a promise, websites that followed best practices were already
catching rejected promises. Web developers have been made aware of this
change in July 2024 at
https://developer.chrome.com/blog/new-in-webgpu-127?hl=en#gpuadapter_info_attribute.
They can use the following one-line code during the transition period:
const info = adapter.info || await adapter.requestAdapterInfo();


*Gecko*: No signal

*WebKit*: No signal

*Web developers*: No signals

*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


Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?No

Flag name on chrome://flagsNone

Finch feature nameNone

Non-finch justificationNone

Requires code in //chrome?False

Estimated milestones

No milestones specified


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5140787340509184?gate=5110989125844992

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/CAPpwU5KohE-NU%2B0bAsWzgaNLUCPGCqBr%2BH3jpoY58yGK-frwOg%40mail.gmail.com.

Reply via email to