From 90f74ba87d249b83d764695cad86df05c2b4ca6e Mon Sep 17 00:00:00 2001 From: Gregg Tavares Date: Wed, 24 Jan 2024 13:44:51 -0800 Subject: [PATCH] Add inter-stage superset test --- .../validation/render_pipeline/inter_stage.spec.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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 575ddc93ef7c..db65ba8bf429 100644 --- a/src/webgpu/api/validation/render_pipeline/inter_stage.spec.ts +++ b/src/webgpu/api/validation/render_pipeline/inter_stage.spec.ts @@ -97,8 +97,18 @@ g.test('location,mismatch') }); g.test('location,superset') - .desc(`TODO: implement after spec is settled: https://github.com/gpuweb/gpuweb/issues/2038`) - .unimplemented(); + .desc(`Tests that validation should succeed when vertex output is superset of fragment input`) + .params(u => u.combine('isAsync', [false, true])) + .fn(t => { + const { isAsync } = t.params; + + const descriptor = t.getDescriptorWithStates( + t.getVertexStateWithOutputs(['@location(0) vout0: f32', '@location(1) vout1: f32']), + t.getFragmentStateWithInputs(['@location(1) fin1: f32']) + ); + + t.doCreateRenderPipelineTest(isAsync, true, descriptor); + }); g.test('location,subset') .desc(`Tests that validation should fail when vertex output is a subset of fragment input.`)