diff options
| author | Yong He <yonghe@outlook.com> | 2024-03-23 10:54:01 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-23 10:54:01 -0700 |
| commit | a23adc221b1ea26db3f3313226b629eb9e308b0f (patch) | |
| tree | 6f758d64201f2c606dc3e61394899bff4fa72f51 /tests/language-feature | |
| parent | 9b0df14cdf9d9ea8857b5b9d59505b18020f8414 (diff) | |
Make `-no-mangle` option work, add `-no-hlsl-binding`. (#3817)
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 |
