v135 · graphics

Remove WebGPU limit maxInterStageShaderComponents

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 ar

concepts

  1. maxInterStageShaderComponents removed

    Live probe of the adapter's limits dictionary — the removed key is gone.

  2. Limits probe of your real device

    Requests requestAdapter(), renders every relevant limit in a table, and shows which interstage limit survived the cleanup.

  3. Limit budget explorer

    Pick variable and component counts; see pre-135 vs 135+ verdicts side-by-side. The pre-135 column fails the moment the total components cross 64, while 135+ relaxes once only the variable cap matters.

  4. Shader variable packer

    Add vertex-to-fragment shader variables by name and type (f32, vec2f, vec3f, vec4f…). The packer assigns each to a slot, counts maxInterStageShaderVariables consumed, and generates the WGSL struct — so you can see exactly what the Chrome 135 limit checks.

why it shipped

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.

references