https://github.com/gpuweb/gpuweb/pull/4662#issuecomment-2338982367
indicates they have just removed it in WebKit as expected.


On Mon, Sep 9, 2024 at 5:48 PM François Beaufort <fbeauf...@google.com>
wrote:

>
>
> On Mon, Sep 9, 2024 at 5:47 PM Mike Taylor <miketa...@chromium.org> wrote:
>
>> On 9/9/24 11:45 AM, François Beaufort wrote:
>>
>> On Mon, Sep 9, 2024 at 5:39 PM Mike Taylor <miketa...@chromium.org>
>> wrote:
>>
>>> On 9/9/24 10:38 AM, 'François Beaufort' via blink-dev wrote:
>>>
>>> Contact emails fbeauf...@google.com
>>>
>>> Explainer None
>>>
>>> Specification https://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 component Blink>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 proposal None
>>>
>>> TAG review None
>>>
>>> TAG review status Not 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();
>>>
>>> I know that WebKit !== Safari, but I do see they have requestAdapterInfo
>>> <https://github.com/WebKit/WebKit/blob/e5b033ce5afcc666cf85ec75d53179dbd75006df/Source/WebCore/Modules/WebGPU/GPUAdapter.idl#L41>
>>> today. Do we have any sense of what their plans are there (maybe a
>>> standards position could clarify that)?
>>>
>>
>> As you can see in
>> https://github.com/gpuweb/gpuweb/pull/4662#issuecomment-2141279713, they
>> re-added temporarily requestAdapterInfo() at the time to avoid breaking
>> websites that didn't make the move yet.
>> FYI, I've updated Apache TVM used by WebLLM to use adapter.info in
>> apache/tvm#17051 <https://github.com/apache/tvm/pull/17051>.
>>
>> Cool - does that mean WebKit is willing to remove it now (or shortly
>> after we do)?
>>
>
> I believe they do but I'll let them respond to that:
> https://github.com/gpuweb/gpuweb/pull/4662#issuecomment-2338474559
>
>>
>>>
>>> *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://flags None
>>>
>>> Finch feature name None
>>>
>>> Non-finch justification None
>>>
>>> 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
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5KohE-NU%2B0bAsWzgaNLUCPGCqBr%2BH3jpoY58yGK-frwOg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>>

-- 
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/CAPpwU5L_N0GVoAddkmw5B564QCjqPDpas8xAwZBPT2nxxpORew%40mail.gmail.com.

Reply via email to