yum-mirror/slang

Making it easier to work with shaders

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

Ellie HermaszewskaSPIR-V WIP (#3064)00bd481e0

master
594 B30 linesraw
1// direct-spirv-control-flow.slang
2
3//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute
4
5// Test direct SPIRV emit on control fl.
6
7//TEST_INPUT:set resultBuffer = out ubuffer(data=[0 0 0 0], stride=4)
8RWStructuredBuffer<uint> resultBuffer;
9
10uint test(uint p)
11{
12    int result = 0;
13    if (p == 0)
14    {
15        result = 5;
16    }
17    else
18    {
19        result = 6;
20    }
21    return result;
22}
23
24[numthreads(4,1,1)]
25void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
26{
27    uint threadId = dispatchThreadID.x;
28    uint result = test(threadId);
29    resultBuffer[threadId] = result;
30}