From b5cdd8322bd51603c217dfb7662306628b144c78 Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 10 Jun 2024 11:45:36 -0700 Subject: Support all integer typed indices in StructuredBuffer Load/Store/[]. (#4311) * Support all integer typed indices in StructuredBuffer Load/Store/[]. * Fix tests. --------- Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> --- source/slang/hlsl.meta.slang | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'source/slang') diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index f9831bef2..e215fd93b 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -3655,13 +3655,14 @@ struct StructuredBuffer __intrinsic_op($(kIROp_StructuredBufferLoad)) [__readNone] [require(cpp_cuda_glsl_hlsl_spirv, structuredbuffer)] - T Load(int location); + T Load(TIndex location); __intrinsic_op($(kIROp_StructuredBufferLoadStatus)) [require(cpp_cuda_glsl_hlsl_spirv, structuredbuffer)] - T Load(int location, out uint status); + T Load(TIndex location, out uint status); - __subscript(uint index) -> T + __generic + __subscript(TIndex index) -> T { [__readNone] __intrinsic_op($(kIROp_StructuredBufferLoad)) @@ -4940,13 +4941,14 @@ struct $(item.name) [__NoSideEffect] __intrinsic_op($(kIROp_RWStructuredBufferLoad)) - T Load(int location); + T Load(TIndex location); [__NoSideEffect] __intrinsic_op($(kIROp_RWStructuredBufferLoadStatus)) - T Load(int location, out uint status); + T Load(TIndex location, out uint status); - __subscript(uint index) -> T + __generic + __subscript(TIndex index) -> T { [__NoSideEffect] __intrinsic_op($(kIROp_RWStructuredBufferGetElementPtr)) -- cgit v1.2.3