diff options
Diffstat (limited to 'tests/spirv/array-stride-decoration-2.slang')
| -rw-r--r-- | tests/spirv/array-stride-decoration-2.slang | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/spirv/array-stride-decoration-2.slang b/tests/spirv/array-stride-decoration-2.slang new file mode 100644 index 000000000..702004657 --- /dev/null +++ b/tests/spirv/array-stride-decoration-2.slang @@ -0,0 +1,29 @@ +//TEST:SIMPLE(filecheck=CHECK):-target spirv -entry computeMain -stage compute -emit-spirv-directly + +// The test check that if an array is used in thread-local, we don't decorate it with array stride decoration. + +// The reason we have to check the SPIRV instead of using spirv-val is because slang uses spv1.6 as the target_env, +// but the issue only occurs when the target_env is vulkan1.2+ + +// CHECK: OpEntryPoint +// CHECK-NOT: OpDecorate %_arr_int_int_2 ArrayStride +struct S +{ + int[2] a; +} + +ParameterBlock<S> input; + +static S s; + +RWStructuredBuffer<int> output; + +[shader("compute")] +void computeMain(uint3 id : SV_DispatchThreadID) +{ + s.a = input.a; + for (int i = 0; i < 1; i++) + { + output[i] = s.a[i]; + } +} |
