yum-mirror/slang

Making it easier to work with shaders

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

Julius IkkalaAllow 1D SV_DispatchThreadID in CPU targets (#8612)1e4265edd

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