diff options
| author | James Helferty (NVIDIA) <jhelferty@nvidia.com> | 2025-08-15 06:02:01 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-15 13:02:01 +0000 |
| commit | feb1569d972f294ce482ea8b1645da6cde4e982d (patch) | |
| tree | de019b45af2c09a78f550bc06cf241a9c454826a /tests | |
| parent | cfd08da1036cf72b8e6c6f661260b968f79667e7 (diff) | |
Prohibit use of buffer.GetDimensions on metal (#8156)
Fixes #7011
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/metal/get-dimensions-error.slang | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/metal/get-dimensions-error.slang b/tests/metal/get-dimensions-error.slang new file mode 100644 index 000000000..a632ece0b --- /dev/null +++ b/tests/metal/get-dimensions-error.slang @@ -0,0 +1,35 @@ +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target metal -stage compute -entry cmain -DTEST=0 -DBUFFER_TYPE=StructuredBuffer +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target metal -stage compute -entry cmain -DTEST=0 -DBUFFER_TYPE=RWStructuredBuffer +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target metal -stage compute -entry cmain -DTEST=0 -DBUFFER_TYPE=AppendStructuredBuffer +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target metal -stage compute -entry cmain -DTEST=0 -DBUFFER_TYPE=ConsumeStructuredBuffer +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target metal -stage compute -entry cmain -DTEST=0 -DBUFFER_TYPE=RasterizerOrderedStructuredBuffer +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target metal -stage compute -entry cmain -DTEST=1 -DBUFFER_TYPE=ByteAddressBuffer +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target metal -stage compute -entry cmain -DTEST=1 -DBUFFER_TYPE=RWByteAddressBuffer +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target metal -stage compute -entry cmain -DTEST=1 -DBUFFER_TYPE=RasterizerOrderedByteAddressBuffer + +//TEST_INPUT:ubuffer(data=[0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<uint> outputBuffer; + +//TEST_INPUT:ubuffer(data=[7 2 9 53], stride=4):name buffer +#if TEST == 0 +BUFFER_TYPE<int> buffer; +#elif TEST==1 +BUFFER_TYPE buffer; +#endif + +//CHECK: error 36107: +//CHECK: buffer.GetDimensions + +[shader("compute")] +[numthreads(1, 1, 1)] +void cmain(uint3 dispatchThreadID : SV_DispatchThreadID) +{ + uint count = 0, stride = 0; +#if TEST == 0 + buffer.GetDimensions(count, stride); +#elif TEST == 1 + buffer.GetDimensions(count); +#endif + outputBuffer[0] = count; + outputBuffer[1] = stride; +} |
