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?

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?

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.

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


        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/99f91606-86c1-4327-b942-4bfc41956c7e%40chromium.org.

Reply via email to