diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/diagnostics/specialization-constants.slang | 16 | ||||
| -rw-r--r-- | tests/spirv/push-constant-space.slang | 18 |
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/diagnostics/specialization-constants.slang b/tests/diagnostics/specialization-constants.slang new file mode 100644 index 000000000..30f3a5f95 --- /dev/null +++ b/tests/diagnostics/specialization-constants.slang @@ -0,0 +1,16 @@ +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target spirv + +struct T { int x; int y; } + +// CHECK: ([[# @LINE+1]]): error 31218 +[vk::constant_id(1)] +const T st; + +[vk::constant_id(1)] +// CHECK: ([[# @LINE+1]]): error 31219 +static const int x = 2; + +[push_constant] +[vk::constant_id(1)] +// CHECK: ([[# @LINE+1]]): error 31220 +const int y;
\ No newline at end of file diff --git a/tests/spirv/push-constant-space.slang b/tests/spirv/push-constant-space.slang new file mode 100644 index 000000000..847c60b7d --- /dev/null +++ b/tests/spirv/push-constant-space.slang @@ -0,0 +1,18 @@ +// Test that push constants should not occupy the default +// space. + +//TEST:SIMPLE(filecheck=CHECK): -target spirv + +// CHECK-NOT: OpDecorate {{.*}} DescriptorSet 1 + +struct Data { + StructuredBuffer<uint4> data; + RWStructuredBuffer<float> output; +}; +ParameterBlock<Data> gData; + +[numthreads(1,1,1)] +void taskMain(uniform uint a) +{ + gData.output[0] = gData.data[0].x + a; +} |
