Would the libraries using maxInterStageShaderComponents (from Mike's github
link) "break" when accessed? I'm guessing since nobody seems to be calling
them, it should be fine and 2 milestones should be enough to find
deprecation warnings.

LGTM3

On Thu, Nov 21, 2024 at 12:16 PM Mike Taylor <miketa...@chromium.org> wrote:

> 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
>>>>>
>>>>> 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
>>>>>
>>>>> Specification
>>>>>
>>>>>
>>>>> 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.
>>>>> 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 and
>>>>> 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
>>>>>
>>>>> WebKit: No signal Apple representative strongly suggested removing
>>>>> the limit from the spec:
>>>>> 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
>>>>>
>>>>> 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
>>>>>
>>>>> 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
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/36461972-9e22-42e1-bc14-2a0698eab83e%40chromium.org?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/CADsXd2P2hrVdC9JsR%2B8YDPwZpoxU_sheRE8FEjv7xWjFY0ELhA%40mail.gmail.com.

Reply via email to