summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorJames Helferty (NVIDIA) <jhelferty@nvidia.com>2025-08-15 06:02:01 -0700
committerGitHub <noreply@github.com>2025-08-15 13:02:01 +0000
commitfeb1569d972f294ce482ea8b1645da6cde4e982d (patch)
treede019b45af2c09a78f550bc06cf241a9c454826a /source
parentcfd08da1036cf72b8e6c6f661260b968f79667e7 (diff)
Prohibit use of buffer.GetDimensions on metal (#8156)
Fixes #7011
Diffstat (limited to 'source')
-rw-r--r--source/slang/hlsl.meta.slang15
1 files changed, 8 insertions, 7 deletions
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<T,L:IBufferDataLayout>
__intrinsic_op($(kIROp_StructuredBufferGetDimensions))
-[require(cpp_cuda_glsl_hlsl_metal_spirv, appendstructuredbuffer)]
+[require(cpp_cuda_glsl_hlsl_spirv, appendstructuredbuffer)]
uint2 __structuredBufferGetDimensions(AppendStructuredBuffer<T,L> buffer);
__generic<T,L:IBufferDataLayout>
__intrinsic_op($(kIROp_StructuredBufferGetDimensions))
-[require(cpp_cuda_glsl_hlsl_metal_spirv, consumestructuredbuffer)]
+[require(cpp_cuda_glsl_hlsl_spirv, consumestructuredbuffer)]
uint2 __structuredBufferGetDimensions(ConsumeStructuredBuffer<T,L> buffer);
__intrinsic_op($(kIROp_StructuredBufferGetDimensions))
-[require(cpp_cuda_glsl_hlsl_metal_spirv_wgsl, structuredbuffer)]
+[require(cpp_cuda_glsl_hlsl_spirv_wgsl, structuredbuffer)]
uint2 __structuredBufferGetDimensions<T,L:IBufferDataLayout>(StructuredBuffer<T,L> 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<T,L:IBufferDataLayout>(RWStructuredBuffer<T,L> 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<T,L:IBufferDataLayout>(RasterizerOrderedStructuredBuffer<T,L> 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)