From feb1569d972f294ce482ea8b1645da6cde4e982d Mon Sep 17 00:00:00 2001 From: "James Helferty (NVIDIA)" Date: Fri, 15 Aug 2025 06:02:01 -0700 Subject: Prohibit use of buffer.GetDimensions on metal (#8156) Fixes #7011 --- source/slang/hlsl.meta.slang | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'source') diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index 740f48320..78f6a4eb8 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -65,24 +65,24 @@ struct GLSLShaderStorageBuffer {} __generic __intrinsic_op($(kIROp_StructuredBufferGetDimensions)) -[require(cpp_cuda_glsl_hlsl_metal_spirv, appendstructuredbuffer)] +[require(cpp_cuda_glsl_hlsl_spirv, appendstructuredbuffer)] uint2 __structuredBufferGetDimensions(AppendStructuredBuffer buffer); __generic __intrinsic_op($(kIROp_StructuredBufferGetDimensions)) -[require(cpp_cuda_glsl_hlsl_metal_spirv, consumestructuredbuffer)] +[require(cpp_cuda_glsl_hlsl_spirv, consumestructuredbuffer)] uint2 __structuredBufferGetDimensions(ConsumeStructuredBuffer buffer); __intrinsic_op($(kIROp_StructuredBufferGetDimensions)) -[require(cpp_cuda_glsl_hlsl_metal_spirv_wgsl, structuredbuffer)] +[require(cpp_cuda_glsl_hlsl_spirv_wgsl, structuredbuffer)] uint2 __structuredBufferGetDimensions(StructuredBuffer buffer); __intrinsic_op($(kIROp_StructuredBufferGetDimensions)) -[require(cpp_cuda_glsl_hlsl_metal_spirv_wgsl, structuredbuffer_rw)] +[require(cpp_cuda_glsl_hlsl_spirv_wgsl, structuredbuffer_rw)] uint2 __structuredBufferGetDimensions(RWStructuredBuffer buffer); __intrinsic_op($(kIROp_StructuredBufferGetDimensions)) -[require(cpp_cuda_glsl_hlsl_metal_spirv_wgsl, structuredbuffer_rw)] +[require(cpp_cuda_glsl_hlsl_spirv_wgsl, structuredbuffer_rw)] uint2 __structuredBufferGetDimensions(RasterizerOrderedStructuredBuffer buffer); //@public: @@ -150,7 +150,7 @@ struct ByteAddressBuffer ///@param[out] dim The number of bytes in the buffer. [__readNone] [ForceInline] - [require(cpp_cuda_glsl_hlsl_metal_spirv_wgsl, structuredbuffer)] + [require(cpp_cuda_glsl_hlsl_spirv_wgsl, structuredbuffer)] void GetDimensions(out uint dim) { __target_switch @@ -4852,6 +4852,7 @@ struct StructuredBuffer /// @param stride The stride, in bytes, of each structure element. [__readNone] [ForceInline] + [require(cpp_cuda_glsl_hlsl_spirv_wgsl, structuredbuffer)] void GetDimensions( out uint numStructs, out uint stride) @@ -6048,7 +6049,7 @@ struct $(item.name) /// @param stride The stride, in bytes, of each structure element. [__readNone] [ForceInline] - [require(cpp_cuda_glsl_hlsl_metal_spirv_wgsl, structuredbuffer_rw)] + [require(cpp_cuda_glsl_hlsl_spirv_wgsl, structuredbuffer_rw)] void GetDimensions( out uint numStructs, out uint stride) -- cgit v1.2.3