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 (that both apply simultaneously but with subtle differences), they can focus on the more appropriately named and comprehensive maxInterStageShaderVariables. https://github.com/gpuweb/gpuweb/pull/4783
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.