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.

Reply via email to