diff --git a/src/webgpu/shader/execution/expression/call/builtin/textureGather.spec.ts b/src/webgpu/shader/execution/expression/call/builtin/textureGather.spec.ts index 4ee0ed6d4a90..b58d8805ab47 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureGather.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureGather.spec.ts @@ -88,12 +88,12 @@ Parameters: .combine('format', kTestableColorFormats) .filter(t => isFillable(t.format)) .combine('minFilter', ['nearest', 'linear'] as const) + .combine('offset', [false, true] as const) .beginSubcases() .combine('C', ['i32', 'u32'] as const) .combine('samplePoints', kSamplePointMethods) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); @@ -514,11 +514,11 @@ Parameters: // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) .combine('minFilter', ['nearest', 'linear'] as const) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) - .combine('offset', [false, true] as const) ) .fn(async t => { const { format, stage, samplePoints, addressModeU, addressModeV, minFilter, offset } = t.params; @@ -696,12 +696,12 @@ Parameters: // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) .combine('minFilter', ['nearest', 'linear'] as const) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('A', ['i32', 'u32'] as const) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); diff --git a/src/webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.ts b/src/webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.ts index 88db023e88b3..fdab3cd78b96 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.ts @@ -75,13 +75,13 @@ Parameters: // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) .combine('minFilter', ['nearest', 'linear'] as const) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('A', ['i32', 'u32'] as const) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('compare', kCompareFunctions) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); @@ -293,12 +293,12 @@ Parameters: // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) .combine('minFilter', ['nearest', 'linear'] as const) + .combine('offset', [false, true] as const) .beginSubcases() .combine('C', ['i32', 'u32'] as const) .combine('samplePoints', kSamplePointMethods) .combine('addressMode', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('compare', kCompareFunctions) - .combine('offset', [false, true] as const) ) .fn(async t => { const { format, C, stage, samplePoints, addressMode, compare, minFilter, offset } = t.params; diff --git a/src/webgpu/shader/execution/expression/call/builtin/textureSample.spec.ts b/src/webgpu/shader/execution/expression/call/builtin/textureSample.spec.ts index 4eda05033707..62e75fd22cfd 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureSample.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureSample.spec.ts @@ -140,12 +140,12 @@ Parameters: u .combine('format', kTestableColorFormats) .filter(t => isPotentiallyFilterableAndFillable(t.format)) - .combine('samplePoints', kSamplePointMethods) + .combine('offset', [false, true] as const) .beginSubcases() + .combine('samplePoints', kSamplePointMethods) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -229,15 +229,15 @@ Parameters: .filter(t => isPotentiallyFilterableAndFillable(t.format)) .combine('viewDimension', ['3d', 'cube'] as const) .filter(t => isSupportedViewFormatCombo(t.format, t.viewDimension)) + .combine('offset', [false, true] as const) + .filter(t => t.viewDimension !== 'cube' || t.offset !== true) + .beginSubcases() .combine('samplePoints', kCubeSamplePointMethods) .filter(t => t.samplePoints !== 'cube-edges' || t.viewDimension !== '3d') - .beginSubcases() .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeW', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) - .filter(t => t.viewDimension !== 'cube' || t.offset !== true) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -351,12 +351,12 @@ Parameters: .filter(t => isDepthTextureFormat(t.format)) // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) ) .fn(async t => { const { format, samplePoints, addressModeU, addressModeV, minFilter, offset } = t.params; @@ -435,13 +435,13 @@ Parameters: u .combine('format', kTestableColorFormats) .filter(t => isPotentiallyFilterableAndFillable(t.format)) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('A', ['i32', 'u32'] as const) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -714,12 +714,12 @@ Parameters: // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) .beginSubcases() + .combine('offset', [false, true] as const) .combine('samplePoints', kSamplePointMethods) .combine('addressMode', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) .combine('A', ['i32', 'u32'] as const) .combine('L', ['i32', 'u32'] as const) - .combine('offset', [false, true] as const) ) .fn(async t => { const { format, samplePoints, addressMode, minFilter, A, L, offset } = t.params; diff --git a/src/webgpu/shader/execution/expression/call/builtin/textureSampleBias.spec.ts b/src/webgpu/shader/execution/expression/call/builtin/textureSampleBias.spec.ts index 471fe79e970e..b1e997e7b1fa 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureSampleBias.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureSampleBias.spec.ts @@ -60,12 +60,12 @@ Parameters: u .combine('format', kTestableColorFormats) .filter(t => isPotentiallyFilterableAndFillable(t.format)) - .combine('samplePoints', kSamplePointMethods) + .combine('offset', [false, true] as const) .beginSubcases() + .combine('samplePoints', kSamplePointMethods) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -149,15 +149,15 @@ Parameters: .filter(t => isPotentiallyFilterableAndFillable(t.format)) .combine('viewDimension', ['3d', 'cube'] as const) .filter(t => isSupportedViewFormatCombo(t.format, t.viewDimension)) + .combine('offset', [false, true] as const) + .filter(t => t.viewDimension !== 'cube' || t.offset !== true) + .beginSubcases() .combine('samplePoints', kCubeSamplePointMethods) .filter(t => t.samplePoints !== 'cube-edges' || t.viewDimension !== '3d') - .beginSubcases() .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeW', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) - .filter(t => t.viewDimension !== 'cube' || t.offset !== true) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -273,13 +273,13 @@ Parameters: u .combine('format', kTestableColorFormats) .filter(t => isPotentiallyFilterableAndFillable(t.format)) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('A', ['i32', 'u32'] as const) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) diff --git a/src/webgpu/shader/execution/expression/call/builtin/textureSampleCompare.spec.ts b/src/webgpu/shader/execution/expression/call/builtin/textureSampleCompare.spec.ts index bb268a645952..9d6cd9f920b0 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureSampleCompare.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureSampleCompare.spec.ts @@ -59,12 +59,12 @@ Parameters: // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) .combine('minFilter', ['nearest', 'linear'] as const) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('compare', kCompareFunctions) - .combine('offset', [false, true] as const) ) .fn(async t => { const { format, samplePoints, addressModeU, addressModeV, minFilter, compare, offset } = @@ -240,13 +240,13 @@ Parameters: // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) .combine('minFilter', ['nearest', 'linear'] as const) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('A', ['i32', 'u32'] as const) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('compare', kCompareFunctions) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); diff --git a/src/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel.spec.ts b/src/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel.spec.ts index a92c91dff571..5cec7d845f4b 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel.spec.ts @@ -67,12 +67,12 @@ Parameters: // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) .combine('minFilter', ['nearest', 'linear'] as const) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('compare', kCompareFunctions) - .combine('offset', [false, true] as const) ) .fn(async t => { const { format, stage, samplePoints, addressModeU, addressModeV, minFilter, compare, offset } = @@ -268,13 +268,13 @@ Parameters: // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) .combine('minFilter', ['nearest', 'linear'] as const) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('A', ['i32', 'u32'] as const) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('compare', kCompareFunctions) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); diff --git a/src/webgpu/shader/execution/expression/call/builtin/textureSampleGrad.spec.ts b/src/webgpu/shader/execution/expression/call/builtin/textureSampleGrad.spec.ts index a1bcbe192bf7..aef41481a30a 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureSampleGrad.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureSampleGrad.spec.ts @@ -61,12 +61,12 @@ Parameters: .combine('stage', kShaderStages) .combine('format', kTestableColorFormats) .filter(t => isPotentiallyFilterableAndFillable(t.format)) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -160,15 +160,15 @@ Parameters: .filter(t => isPotentiallyFilterableAndFillable(t.format)) .combine('viewDimension', ['3d', 'cube'] as const) .filter(t => isSupportedViewFormatCombo(t.format, t.viewDimension)) + .combine('offset', [false, true] as const) + .filter(t => t.viewDimension !== 'cube' || t.offset !== true) + .beginSubcases() .combine('samplePoints', kCubeSamplePointMethods) .filter(t => t.samplePoints !== 'cube-edges' || t.viewDimension !== '3d') - .beginSubcases() .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeW', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) - .filter(t => t.viewDimension !== 'cube' || t.offset !== true) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -296,13 +296,13 @@ Parameters: .combine('stage', kShaderStages) .combine('format', kTestableColorFormats) .filter(t => isPotentiallyFilterableAndFillable(t.format)) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('A', ['i32', 'u32'] as const) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) diff --git a/src/webgpu/shader/execution/expression/call/builtin/textureSampleLevel.spec.ts b/src/webgpu/shader/execution/expression/call/builtin/textureSampleLevel.spec.ts index 0eb15a00c518..8f269819877f 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureSampleLevel.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureSampleLevel.spec.ts @@ -70,12 +70,12 @@ Parameters: .combine('stage', kShaderStages) .combine('format', kTestableColorFormats) .filter(t => isPotentiallyFilterableAndFillable(t.format)) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -172,13 +172,13 @@ Parameters: .combine('stage', kShaderStages) .combine('format', kTestableColorFormats) .filter(t => isPotentiallyFilterableAndFillable(t.format)) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('A', ['i32', 'u32'] as const) .combine('addressModeU', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('addressModeV', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -281,13 +281,13 @@ Parameters: .filter(t => isPotentiallyFilterableAndFillable(t.format)) .combine('viewDimension', ['3d', 'cube'] as const) .filter(t => !isCompressedTextureFormat(t.format) || t.viewDimension === 'cube') + .combine('offset', [false, true] as const) + .filter(t => t.viewDimension !== 'cube' || t.offset !== true) .beginSubcases() .combine('samplePoints', kCubeSamplePointMethods) .filter(t => t.samplePoints !== 'cube-edges' || t.viewDimension !== '3d') .combine('addressMode', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) - .combine('offset', [false, true] as const) - .filter(t => t.viewDimension !== 'cube' || t.offset !== true) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -515,12 +515,12 @@ Parameters: .filter(t => isDepthTextureFormat(t.format)) // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('addressMode', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) .combine('L', ['i32', 'u32'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format) @@ -621,13 +621,13 @@ Parameters: .filter(t => isDepthTextureFormat(t.format)) // MAINTENANCE_TODO: Remove when support for depth24plus, depth24plus-stencil8, and depth32float-stencil8 is added. .filter(t => isEncodableTextureFormat(t.format)) + .combine('offset', [false, true] as const) .beginSubcases() .combine('samplePoints', kSamplePointMethods) .combine('addressMode', ['clamp-to-edge', 'repeat', 'mirror-repeat'] as const) .combine('minFilter', ['nearest', 'linear'] as const) .combine('A', ['i32', 'u32'] as const) .combine('L', ['i32', 'u32'] as const) - .combine('offset', [false, true] as const) ) .beforeAllSubcases(t => skipIfTextureFormatNotSupportedNotAvailableOrNotFilterable(t, t.params.format)