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. A search for the string "maxInterStageShaderComponents" in HTTPArchive yielded no results. 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. 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.