yum-mirror/slang

Making it easier to work with shaders

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

Yong HeProperly check switch case. (#5341)307315a73

master
679 B31 linesraw
1//TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=CHECK):-slang -compute -shaderobj -output-using-type
2//TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=CHECK):-vk -compute -shaderobj -output-using-type
3
4enum class E : uint32_t
5{
6    A,
7    B,
8    C
9}
10
11//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
12RWStructuredBuffer<uint> outputBuffer;
13
14[NumThreads(1,1,1)]
15void computeMain(int i : SV_DispatchThreadID)
16{
17    E e = E(i);
18    switch (e)
19    {
20    case E::A:
21        outputBuffer[0] = 1;
22        break;
23    case E::B:
24        outputBuffer[0] = 2;
25        break;
26    case E::C:
27        outputBuffer[0] = 3;
28        break;
29    }
30    // CHECK: 1
31}