yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Yong HeVarious WGSL fixes. (#5490)7c2ff5475

master
844 B38 linesraw
1// nested-switch.slang
2
3//TEST(compute):COMPARE_COMPUTE: -shaderobj
4//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj
5//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
6//TEST(compute):COMPARE_COMPUTE:-wgpu
7
8int test(int t, int r)
9{
10    int result = 0;
11    switch (t)
12    {
13    case 0:
14        switch (r)
15        {
16        case 0:
17            return 1;
18        case 2:
19            return 2;
20        }
21    default:
22        result = 3;
23        break;
24    }
25    return result;
26}
27
28//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
29RWStructuredBuffer<int> outputBuffer;
30
31[numthreads(1, 1, 1)]
32void computeMain(int3 dispatchThreadID: SV_DispatchThreadID)
33{
34    outputBuffer[0] = test(dispatchThreadID.x, 0);
35    outputBuffer[1] = test(dispatchThreadID.x, 1);
36    outputBuffer[2] = test(dispatchThreadID.x, 2);
37    outputBuffer[3] = 0;
38}