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.