diff --git a/src/webgpu/api/validation/render_pipeline/inter_stage.spec.ts b/src/webgpu/api/validation/render_pipeline/inter_stage.spec.ts index 8290111eab93..4d11c557b2a8 100644 --- a/src/webgpu/api/validation/render_pipeline/inter_stage.spec.ts +++ b/src/webgpu/api/validation/render_pipeline/inter_stage.spec.ts @@ -315,23 +315,22 @@ g.test('max_variables_count,input') u.combine('isAsync', [false, true]).combineWithParams([ // Number of user-defined output variables in test shader = // device.limits.maxInterStageShaderVariables + numVariablesDelta - { numVariablesDelta: 0, useExtraBuiltinInputs: false }, - { numVariablesDelta: 1, useExtraBuiltinInputs: false }, - { numVariablesDelta: 0, useExtraBuiltinInputs: true }, - { numVariablesDelta: -1, useExtraBuiltinInputs: true }, + { numVariablesDelta: 0, useExtraBuiltinInputs: false, _success: true }, + { numVariablesDelta: 1, useExtraBuiltinInputs: false, _success: false }, + { numVariablesDelta: -1, useExtraBuiltinInputs: true, _success: true }, + { numVariablesDelta: -2, useExtraBuiltinInputs: true, _success: false }, + { numVariablesDelta: -3, useExtraBuiltinInputs: true, _success: true }, ] as const) ) .fn(t => { - const { isAsync, numVariablesDelta, useExtraBuiltinInputs } = t.params; + const { isAsync, numVariablesDelta, useExtraBuiltinInputs, _success: success } = t.params; const numVec4 = t.device.limits.maxInterStageShaderVariables + numVariablesDelta; - const numExtraVariables = useExtraBuiltinInputs ? 1 : 0; - const numUsedVariables = numVec4 + numExtraVariables; - const success = numUsedVariables <= t.device.limits.maxInterStageShaderVariables; const outputs = range(numVec4, i => `@location(${i}) vout${i}: vec4`); const inputs = range(numVec4, i => `@location(${i}) fin${i}: vec4`); + // NOTE: `numVec4` matches `inputs.length` here. We use this property later. if (useExtraBuiltinInputs) { inputs.push('@builtin(front_facing) front_facing_in: bool'); if (!t.isCompatibility) {