LGTM2

On 11/21/24 2:02 AM, François Beaufort wrote:
Oh! I've set the appropriate status Thank you!

On Wed, Nov 20, 2024 at 5:46 PM Daniel Bratell <bratel...@gmail.com> wrote:

    There is an API Owner dashboard in Chromestatus showing everything
    that has an "intent to ship" but is not yet approved (or
    rejected), and this one doesn't show up there which also means
    that I cannot record the LGTM1

    I'm not absolutely sure how to get it there since I'm on the other
    end, but it should be the steps listed on
    https://www.chromium.org/blink/launching-features/ under "Feature
    Deprecations" -> "Step 6: Prepare to Ship".

    /Daniel

    On 2024-11-20 17:22, François Beaufort wrote:
    I can see it in the "Chrome 133" column from
    https://chromestatus.com/roadmap
    What do you see?

    On Wed, Nov 20, 2024 at 4:12 PM Daniel Bratell
    <bratel...@gmail.com> wrote:

        Note, this doesn't show up as "intent to ship
        (deprecate/remove)" in chromestatus so there is probably some
        buttons you need to press there.

        /Daniel

        On 2024-11-20 15:58, Daniel Bratell wrote:

        LGTM1 to deprecate now with full removal in M135. The amount
        of fingerprinting/tracking scripts that access this is
        scarily high but I trust those to be suitably robust.

        /Daniel

        On 2024-11-20 08:13, 'François Beaufort' via blink-dev wrote:



        On Wed, Nov 20, 2024 at 4:07 AM Mike Taylor
        <miketa...@chromium.org> wrote:


            On 11/19/24 11:55 AM, François Beaufort wrote:
            Thanks for the review Mike!

            On Tue, Nov 19, 2024 at 5:30 PM Mike Taylor
            <miketa...@chromium.org> wrote:


                On 11/19/24 5:21 AM, 'François Beaufort' via
                blink-dev wrote:


                        Contact emails

                fbeauf...@google.com <mailto:fbeauf...@google.com>


                        Explainer

                The maxInterStageShaderComponents limit is being
                removed due to a combination of factors:

                - Redundancy with maxInterStageShaderVariables:
                This limit already serves a similar purpose,
                controlling the amount of data passed between
                shader stages.

                - Minor discrepancies: While there are slight
                differences in how the two limits are calculated,
                these differences are minor and can be
                effectively managed within the
                maxInterStageShaderVariables limit.

                - Simplification: Removing
                maxInterStageShaderComponents streamlines the
                shader interface and reduces complexity for
                developers. Instead of managing two separate
                limits with subtle differences, they can focus on
                the more appropriately named and comprehensive
                maxInterStageShaderVariables.


                https://github.com/gpuweb/gpuweb/pull/4783
                <https://github.com/gpuweb/gpuweb/pull/4783>


                        Specification

                
https://gpuweb.github.io/gpuweb/#dom-supported-limits-maxinterstageshadervariables
                
<https://gpuweb.github.io/gpuweb/#dom-supported-limits-maxinterstageshadervariables>


                        Summary

                Removes the maxInterStageShaderComponents limit
                from WebGPU, which has been deemed to be
                unnecessary. This removal is a minor breaking change.



                        Blink component

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


                        Motivation

                Removing maxInterStageShaderComponents eliminates
                unnecessary complexity and potential confusion by
                consolidating the functionality within the
                existing maxInterStageShaderVariables limit. This
                change promotes cleaner code and a more intuitive
                development experience.

                To clarify, are you requesting to deprecate this
                for some period of time (if so, I don't see a
                deprecation plan), and then come back to remove?
                Or just remove it in M133?


            This intent is for deprecating this limit for some
            period of time to give developers enough time to
            migrate and eventually remove it.
            Thanks François - so what is the plan? If we send a
            deprecation message - how long do you think doing so
            would be effective?


        Regarding the deprecation plan, I suggest the following
        timeline as we're anticipating Safari and Firefox to soon
        support WebGPU :
        - 133: Deprecation warnings begin, recommending the use of
        the maxInterStageShaderVariables limit instead.
        - 135: Effective removal of the
        maxInterStageShaderComponents limit.


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

                There does seem to be non-test code calling this
                when poking around
                
https://github.com/search?q=maxInterStageShaderComponents+language%3AJavaScript&type=code&l=JavaScript
                
<https://github.com/search?q=maxInterStageShaderComponents+language%3AJavaScript&type=code&l=JavaScript>.
                Have you looked at that yet?


            Yes. Those are mostly libraries that handle getting
            the maxInterStageShaderComponents limit, but not
            "real" apps actually requiring the limit when the
            limit is not high enough for their use case.


                As of November 16th, 2024, usage of the
                maxInterStageShaderComponents limit within
                GPUAdapter and GPUDevice reached a peak of
                0.3163% of page loads. Additionally, its usage in
                requiredLimits when called through requestDevice
                reached 0.0004% on the same day. These metrics
                are tracked in the ChromeStatus dashboard through
                
https://chromestatus.com/metrics/feature/timeline/popularity/5110
                
<https://chromestatus.com/metrics/feature/timeline/popularity/5110>and
                
https://chromestatus.com/metrics/feature/timeline/popularity/5111
                
<https://chromestatus.com/metrics/feature/timeline/popularity/5111>.

                Can you help a non-expert understand the
                difference between these two metrics? ~0.32% is
                quite high.


            The first one happens when a web app calls the
            GPUSupportedLimits attribute getter
            adapter.limits.maxInterStageShaderComponents for
            instance. The high usage is due to scripts using this
            for analytics/bot protection/fingerprinting.
            The second one is the one we care the most. It is web
            apps that actually require
            a maxInterStageShaderComponents GPU limit when
            requesting a GPU device. We don't want to break those,
            and that's why we'll add deprecation warnings so that
            they can use the maxInterStageShaderVariables limit
            instead.

                Also, what about
                https://github.com/gpuweb/gpuweb/pull/4781 - do we
                ship this behavior in Chromium?

            I'm actually working on this as we speak. It's not in
            Chromium yet.



                        Initial public proposal

                None


                        TAG review

                None


                        TAG review status

                Not applicable as we're simply removing a WebGPU
                limit.


                        Risks



                        Interoperability and Compatibility

                When WebGPU eventually launches in Safari and
                Firefox, websites will use exclusively the
                maxInterStageShaderVariables limit.

                We anticipate Safari and Firefox will soon
                support WebGPU, but won't include the
                non-standard maxInterStageShaderComponents limit.
                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.


                Gecko: No signal - Firefox representative agreed
                during team meeting to remove the limit from the
                spec:
                
https://github.com/gpuweb/gpuweb/wiki/GPU-Web-2024-08-28#added-late-ok-to-defer-if-necessary-maxinterstageshadercomponents-seems-to-overlap-with-maxinterstageshadervariables-4688
                
<https://github.com/gpuweb/gpuweb/wiki/GPU-Web-2024-08-28#added-late-ok-to-defer-if-necessary-maxinterstageshadercomponents-seems-to-overlap-with-maxinterstageshadervariables-4688>


                WebKit: No signal Apple representative strongly
                suggested removing the limit from the spec:
                
https://github.com/gpuweb/gpuweb/issues/4688#issuecomment-2218446444
                
<https://github.com/gpuweb/gpuweb/issues/4688#issuecomment-2218446444>


                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


                        Flag name on chrome://flags

                None


                        Finch feature name

                WebGPUMaxInterStageShaderComponentsLimit


                        Non-finch justification

                None


                        Requires code in //chrome?

                False


                        Tracking bug

                https://issues.chromium.org/issues/364338810
                <https://issues.chromium.org/issues/364338810>


                        Estimated milestones

                Shipping on desktop

                        

                133

                Shipping on Android

                        

                133



                        Link to entry on the Chrome Platform Status

                
https://chromestatus.com/feature/4853767735083008?gate=5110989125844992
                
<https://chromestatus.com/feature/4853767735083008?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 visit
                
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5Kmb-sNm70ox0xRp5raXxAVBb%2BtJ_AanGJYv47Ysobt9Q%40mail.gmail.com
                
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5Kmb-sNm70ox0xRp5raXxAVBb%2BtJ_AanGJYv47Ysobt9Q%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 visit
        
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5LiZYCFsstHg%2BAvmd9o8paF_7nLVD_kFb45Hf4QOxauCA%40mail.gmail.com
        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5LiZYCFsstHg%2BAvmd9o8paF_7nLVD_kFb45Hf4QOxauCA%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 visit
        
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/07aa7ef6-83ba-49a2-abd8-607e5bd33c7a%40gmail.com
        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/07aa7ef6-83ba-49a2-abd8-607e5bd33c7a%40gmail.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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/36461972-9e22-42e1-bc14-2a0698eab83e%40chromium.org.

Reply via email to