yum-mirror/slang

Making it easier to work with shaders

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

Yong HeAdd Loop Unrolling Pass. (#2644)4dbc74a95

master
576 B25 linesraw
1//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
2//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj
3
4//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
5RWStructuredBuffer<uint> outputBuffer;
6
7[numthreads(1, 1, 1)]
8void computeMain(uint3 dispatchThreadID: SV_DispatchThreadID)
9{
10    int i = 0;
11    int sum = 0;
12    [ForceUnroll]
13    while (i < 2)
14    {
15        int j = 1;
16        [ForceUnroll(2)]
17        while (j < 3)
18        {
19            sum += (i+j);
20            j++;
21        }
22        i++;
23    }
24    outputBuffer[0] = sum;
25}