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
741 B36 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], 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    int j = 0;
13    defer {
14        if (j == 2)
15        {
16            outputBuffer[i++] = j;
17        }
18        else
19        {
20            outputBuffer[i++] = 2048;
21        }
22    }
23    defer {
24        if (j == 1)
25        {
26            outputBuffer[i++] = j;
27        }
28        else
29        {
30            outputBuffer[i++] = 1024;
31        }
32        j++;
33    }
34    outputBuffer[i++] = j;
35    j++;
36}