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 9c062f7465f5..fddb65e1420f 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureGather.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureGather.spec.ts @@ -119,6 +119,7 @@ Parameters: const calls: TextureCall[] = generateTextureBuiltinInputs2D(50, { method: samplePoints, + textureBuiltin: 'textureGather', sampler, descriptor, offset, @@ -304,6 +305,7 @@ Parameters: const calls: TextureCall[] = generateTextureBuiltinInputs2D(50, { method: samplePoints, + textureBuiltin: 'textureGather', sampler, descriptor, arrayIndex: { num: texture.depthOrArrayLayers, type: A }, @@ -486,6 +488,7 @@ Parameters: const calls: TextureCall[] = generateTextureBuiltinInputs2D(50, { method: samplePoints, + textureBuiltin: 'textureGather', sampler, descriptor, offset, @@ -654,6 +657,7 @@ Parameters: const calls: TextureCall[] = generateTextureBuiltinInputs2D(50, { method: samplePoints, + textureBuiltin: 'textureGather', sampler, descriptor, arrayIndex: { num: texture.depthOrArrayLayers, type: A }, 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 6758e75f0018..89891738b0f6 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.ts @@ -107,6 +107,7 @@ Parameters: const calls: TextureCall[] = generateTextureBuiltinInputs2D(50, { method: samplePoints, + textureBuiltin: 'textureGatherCompare', sampler, descriptor, arrayIndex: { num: texture.depthOrArrayLayers, type: A }, @@ -284,6 +285,7 @@ Parameters: const calls: TextureCall[] = generateTextureBuiltinInputs2D(50, { method: samplePoints, + textureBuiltin: 'textureGatherCompare', sampler, descriptor, offset, diff --git a/src/webgpu/shader/execution/expression/call/builtin/texture_utils.ts b/src/webgpu/shader/execution/expression/call/builtin/texture_utils.ts index c6de05725e12..9550de6fc516 100644 --- a/src/webgpu/shader/execution/expression/call/builtin/texture_utils.ts +++ b/src/webgpu/shader/execution/expression/call/builtin/texture_utils.ts @@ -569,7 +569,7 @@ export interface TextureCall extends TextureCallArgs builtin === 'textureGatherCompare'; -const isBuiltinGather = (builtin: TextureBuiltin) => +const isBuiltinGather = (builtin: TextureBuiltin | undefined) => builtin === 'textureGather' || builtin === 'textureGatherCompare'; const s_u32 = new Uint32Array(1); @@ -2515,8 +2515,8 @@ function generateTextureBuiltinInputsImpl( // MacOS, M1 Mac: 256 const kSubdivisionsPerTexel = 4; const avoidEdgeCase = - !args.sampler || args.sampler.minFilter === 'nearest' || isBuiltinGather(args.textureBuiltin!); - const edgeRemainder = args.textureBuiltin === 'textureGather' ? kSubdivisionsPerTexel / 2 : 0; + !args.sampler || args.sampler.minFilter === 'nearest' || isBuiltinGather(args.textureBuiltin); + const edgeRemainder = isBuiltinGather(args.textureBuiltin) ? kSubdivisionsPerTexel / 2 : 0; const numComponents = isDepthOrStencilTextureFormat(descriptor.format) ? 1 : 4; return coords.map((c, i) => { const mipLevel = args.mipLevel @@ -2948,8 +2948,8 @@ export function generateSamplePointsCube( // const kSubdivisionsPerTexel = 4; const avoidEdgeCase = - !args.sampler || args.sampler.minFilter === 'nearest' || isBuiltinGather(args.textureBuiltin!); - const edgeRemainder = isBuiltinGather(args.textureBuiltin!) ? kSubdivisionsPerTexel / 2 : 0; + !args.sampler || args.sampler.minFilter === 'nearest' || isBuiltinGather(args.textureBuiltin); + const edgeRemainder = isBuiltinGather(args.textureBuiltin) ? kSubdivisionsPerTexel / 2 : 0; return coords.map((c, i) => { const mipLevel = args.mipLevel