diff --git a/src/webgpu/shader/validation/extension/readonly_and_readwrite_storage_textures.spec.ts b/src/webgpu/shader/validation/extension/readonly_and_readwrite_storage_textures.spec.ts index 3614381ca9aa..547b30d1b8c0 100644 --- a/src/webgpu/shader/validation/extension/readonly_and_readwrite_storage_textures.spec.ts +++ b/src/webgpu/shader/validation/extension/readonly_and_readwrite_storage_textures.spec.ts @@ -3,7 +3,10 @@ Validation tests for the readonly_and_readwrite_storage_textures language featur `; import { makeTestGroup } from '../../../../common/framework/test_group.js'; -import { kPossibleStorageTextureFormats } from '../../../format_info.js'; +import { + getRequiredFeatureForTextureFormat, + kPossibleStorageTextureFormats, +} from '../../../format_info.js'; import { ShaderValidationTest } from '../shader_validation_test.js'; export const g = makeTestGroup(ShaderValidationTest); @@ -28,6 +31,11 @@ g.test('var_decl') .fn(t => { const { type, format, access } = t.params; + const requiredFeature = getRequiredFeatureForTextureFormat(format); + if (requiredFeature) { + t.skipIfDeviceDoesNotHaveFeature(requiredFeature); + } + const source = `@group(0) @binding(0) var t : ${type}<${format}, ${access}>;`; const requiresFeature = access !== 'write'; t.expectCompileResult(t.hasLanguageFeature(kFeatureName) || !requiresFeature, source);