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 <http://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 <http://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)?



    /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/8559a28a-d196-4b29-bfe1-607285d0e11a%40chromium.org.

Reply via email to