From 64c1fa9b85391a9626a4f898589fed14e47c2608 Mon Sep 17 00:00:00 2001 From: Greggman Date: Mon, 16 Dec 2024 17:32:31 -0800 Subject: [PATCH] Compat: skip in-pass-encoder tests if not enough storage textures (#4094) --- .../resource_usages/texture/in_pass_encoder.spec.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.ts b/src/webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.ts index f50cc3e09f40..61d6bbb06114 100644 --- a/src/webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.ts +++ b/src/webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.ts @@ -11,6 +11,7 @@ import { kDepthStencilFormatResolvedAspect, kTextureFormatInfo, } from '../../../../format_info.js'; +import { MaxLimitsTestMixin } from '../../../../gpu_test.js'; import { ValidationTest } from '../../validation_test.js'; type TextureBindingType = @@ -238,7 +239,7 @@ class TextureUsageTracking extends ValidationTest { } } -export const g = makeTestGroup(TextureUsageTracking); +export const g = makeTestGroup(MaxLimitsTestMixin(TextureUsageTracking)); const BASE_LEVEL = 1; const TOTAL_LEVELS = 6; @@ -1426,6 +1427,11 @@ g.test('scope,basic,render') ) ) .fn(t => { + t.skipIf( + t.isCompatibility && !(t.device.limits.maxStorageTexturesInFragmentStage! >= 2), + `maxStorageTexturesInFragmentStage(${t.device.limits.maxStorageTexturesInFragmentStage}) < 2` + ); + const { setBindGroup0, setBindGroup1, usage1, usage2 } = t.params; const { bindGroup0, bindGroup1, encoder, pass } = t.testValidationScope(false, usage1, usage2); @@ -1518,6 +1524,11 @@ g.test('scope,pass_boundary,render') ) ) .fn(t => { + t.skipIf( + t.isCompatibility && !(t.device.limits.maxStorageTexturesInFragmentStage! >= 2), + `maxStorageTexturesInFragmentStage(${t.device.limits.maxStorageTexturesInFragmentStage}) < 2` + ); + const { splitPass, draw, usage1, usage2 } = t.params; const { bindGroupLayouts, bindGroups } = t.makeTwoBindGroupsWithOneTextureView(usage1, usage2);