diff options
Diffstat (limited to 'tests/language-feature')
| -rw-r--r-- | tests/language-feature/general-inline.slang | 4 | ||||
| -rw-r--r-- | tests/language-feature/multi-level-break-switch.slang | 48 | ||||
| -rw-r--r-- | tests/language-feature/multi-level-break-switch.slang.expected.txt | 4 |
3 files changed, 54 insertions, 2 deletions
diff --git a/tests/language-feature/general-inline.slang b/tests/language-feature/general-inline.slang index 0fd323014..168f24faa 100644 --- a/tests/language-feature/general-inline.slang +++ b/tests/language-feature/general-inline.slang @@ -4,7 +4,7 @@ //TEST(compute):COMPARE_COMPUTE: -vk -shaderobj //DISABLE_TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj -[__unsafeForceInlineEarly] +[ForceInline] int test(int r) { int result = 0; @@ -24,7 +24,7 @@ int test(int r) return result; } -[__unsafeForceInlineEarly] +[ForceInline] void testVoid(int r, out int result) { result = 0; diff --git a/tests/language-feature/multi-level-break-switch.slang b/tests/language-feature/multi-level-break-switch.slang new file mode 100644 index 000000000..54c47278a --- /dev/null +++ b/tests/language-feature/multi-level-break-switch.slang @@ -0,0 +1,48 @@ +// multi-level-break-switch.slang + +//TEST(compute):COMPARE_COMPUTE: -shaderobj +//DISABLE_TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj + +int test(int t, int r) +{ + int result = 0; +outter: + switch (t) + { + case 0: + case 1: + jLoop: + for (int j = 0; j < 3; j++) + { + switch (r) + { + case 0: + break outter; + case 1: + break jLoop; + default: + { + result++; + break; + } + } + } + result++; + break; + case 2: + return 100; + } + return result; +} + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(1, 1, 1)] +void computeMain(int3 dispatchThreadID: SV_DispatchThreadID) +{ + outputBuffer[0] = test(dispatchThreadID.x, 0); + outputBuffer[1] = test(dispatchThreadID.x, 1); + outputBuffer[2] = test(dispatchThreadID.x, 2); + outputBuffer[3] = 0; +} diff --git a/tests/language-feature/multi-level-break-switch.slang.expected.txt b/tests/language-feature/multi-level-break-switch.slang.expected.txt new file mode 100644 index 000000000..704ae470f --- /dev/null +++ b/tests/language-feature/multi-level-break-switch.slang.expected.txt @@ -0,0 +1,4 @@ +0 +1 +4 +0 |
