From d849b67718d5166f3ab9479c91570a612ad2edd7 Mon Sep 17 00:00:00 2001 From: David Neto Date: Tue, 13 Aug 2024 15:05:50 -0400 Subject: [PATCH] validation: clamp low_high test must reference the test function (#3899) The clamp validation test creates a 'foo' function that contains code to be checked. The entry point must call 'foo' in order for those override expressions to be checked. Bug: crbug.com/351378281 --- src/webgpu/listing_meta.json | 2 +- .../shader/validation/expression/call/builtin/clamp.spec.ts | 1 + src/webgpu/shader/validation/shader_validation_test.ts | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/webgpu/listing_meta.json b/src/webgpu/listing_meta.json index 85fe0bdc6a8b..2374c4cff7e1 100644 --- a/src/webgpu/listing_meta.json +++ b/src/webgpu/listing_meta.json @@ -862,7 +862,6 @@ "webgpu:compat,api,validation,encoding,programmable,pipeline_bind_group_compat:twoDifferentTextureViews,render_pass,used:*": { "subcaseMS": 0.000 }, "webgpu:compat,api,validation,render_pipeline,depth_stencil_state:depthBiasClamp:*": { "subcaseMS": 1.604 }, "webgpu:compat,api,validation,render_pipeline,fragment_state:colorState:*": { "subcaseMS": 32.604 }, - "webgpu:compat,api,validation,render_pipeline,vertex_state:maxVertexAttributesVertexIndexInstanceIndex:*": { "subcaseMS": 3.700 }, "webgpu:compat,api,validation,render_pipeline,unsupported_wgsl:interpolate:*": { "subcaseMS": 3.488 }, "webgpu:compat,api,validation,render_pipeline,unsupported_wgsl:sample_index:*": { "subcaseMS": 0.487 }, "webgpu:compat,api,validation,render_pipeline,unsupported_wgsl:sample_mask:*": { "subcaseMS": 0.408 }, @@ -870,6 +869,7 @@ "webgpu:compat,api,validation,render_pipeline,unsupported_wgsl:textureLoad_with_depth_textures,renderPipeline:*": { "subcaseMS": 1.259 }, "webgpu:compat,api,validation,render_pipeline,unsupported_wgsl:unsupportedStorageTextureFormats,computePipeline:*": { "subcaseMS": 1.206 }, "webgpu:compat,api,validation,render_pipeline,unsupported_wgsl:unsupportedStorageTextureFormats,renderPipeline:*": { "subcaseMS": 1.206 }, + "webgpu:compat,api,validation,render_pipeline,vertex_state:maxVertexAttributesVertexIndexInstanceIndex:*": { "subcaseMS": 3.700 }, "webgpu:compat,api,validation,texture,createTexture:depthOrArrayLayers_incompatible_with_textureBindingViewDimension:*": { "subcaseMS": 12.712 }, "webgpu:compat,api,validation,texture,createTexture:format_reinterpretation:*": { "subcaseMS": 7.012 }, "webgpu:compat,api,validation,texture,createTexture:invalidTextureBindingViewDimension:*": { "subcaseMS": 6.022 }, diff --git a/src/webgpu/shader/validation/expression/call/builtin/clamp.spec.ts b/src/webgpu/shader/validation/expression/call/builtin/clamp.spec.ts index 1ac752a3bfa9..e94162b1ce5a 100644 --- a/src/webgpu/shader/validation/expression/call/builtin/clamp.spec.ts +++ b/src/webgpu/shader/validation/expression/call/builtin/clamp.spec.ts @@ -187,6 +187,7 @@ fn foo() { code: wgsl, constants, reference: ['o_low', 'o_high'], + statements: ['foo();'], }); } }); diff --git a/src/webgpu/shader/validation/shader_validation_test.ts b/src/webgpu/shader/validation/shader_validation_test.ts index 6a4cae331766..5db47bd586ba 100644 --- a/src/webgpu/shader/validation/shader_validation_test.ts +++ b/src/webgpu/shader/validation/shader_validation_test.ts @@ -119,9 +119,14 @@ export class ShaderValidationTest extends GPUTest { constants?: Record; // List of additional module-scope variable the entrypoint needs to reference reference?: string[]; + // List of additional statements to insert in the entry point. + statements?: string[]; }) { const phonies: Array = []; + if (args.statements !== undefined) { + phonies.push(...args.statements); + } if (args.constants !== undefined) { phonies.push(...keysOf(args.constants).map(c => `_ = ${c};`)); }