diff options
Diffstat (limited to 'tests/language-feature')
| -rw-r--r-- | tests/language-feature/no-hlsl-binding.slang | 21 | ||||
| -rw-r--r-- | tests/language-feature/no-mangle.slang | 27 |
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/language-feature/no-hlsl-binding.slang b/tests/language-feature/no-hlsl-binding.slang new file mode 100644 index 000000000..57f0449f9 --- /dev/null +++ b/tests/language-feature/no-hlsl-binding.slang @@ -0,0 +1,21 @@ +//TEST:SIMPLE(filecheck=CHECK):-target hlsl -entry main -profile cs_6_0 -no-mangle -no-hlsl-binding + +// Test that -no-hlsl-binding option disables automatically assigned bindings in the hlsl output. + +// CHECK-DAG: cbuffer {{.*}} : register(b3) +cbuffer MyCB : register(b3) +{ + int member; +} + +// CHECK-DAG: RWStructuredBuffer<float > outputBuffer : register(u2); +RWStructuredBuffer<float> outputBuffer : register(u2); + +// CHECK-DAG: RWStructuredBuffer<int > inputBuffer; +RWStructuredBuffer<int> inputBuffer; + +[numthreads(1,1,1)] +void main() +{ + outputBuffer[0] = inputBuffer[0] + member; +} diff --git a/tests/language-feature/no-mangle.slang b/tests/language-feature/no-mangle.slang new file mode 100644 index 000000000..11462ef26 --- /dev/null +++ b/tests/language-feature/no-mangle.slang @@ -0,0 +1,27 @@ +//TEST:SIMPLE(filecheck=CHECK):-target hlsl -entry main -profile cs_6_0 -no-mangle + +// Test that -no-mangle option disables name mangling on global parameters and struct fields. + +cbuffer BufferName +{ + int cbufferParam; +} + +struct MyStruct +{ + int v; +} + +RWStructuredBuffer<MyStruct> outputBuffer; + +// CHECK-DAG: SLANG_ParameterGroup_BufferName{{.*}} BufferName; + +// CHECK-DAG: RWStructuredBuffer<{{.*}}> outputBuffer : + +[numthreads(1,1,1)] +void main() +{ + // CHECK-DAG: = {{.*}}cbufferParam; + + outputBuffer[0].v = cbufferParam; +}
\ No newline at end of file |
