yum-mirror/slang

Making it easier to work with shaders

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

Julius IkkalaAdd defer statement (#6619)1b82501dd

master
766 B30 linesraw
1//TEST(compute):COMPARE_COMPUTE: -shaderobj
2//TEST(compute):COMPARE_COMPUTE: -vk -shaderobj
3//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj
4
5//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out,name=outputBuffer
6RWStructuredBuffer<int> outputBuffer;
7
8[numthreads(1, 1, 1)]
9void computeMain(int3 dispatchThreadID: SV_DispatchThreadID)
10{
11    int i = 0;
12    defer outputBuffer[i++] = 128;
13    for (int j = 0; j < 4; j++)
14    {
15        defer outputBuffer[i++] = j*2+1;
16        outputBuffer[i++] = j*2;
17    }
18
19    for (int j = 0; j < 5; j++)
20    {
21        if (j == 1)
22            continue;
23        defer outputBuffer[i++] = j*2+1;
24        if (j == 2)
25            continue;
26        outputBuffer[i++] = j*2;
27        if (j == 3)
28            break;
29    }
30}