yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
7c2ff5475
master
1// nested-switch.slang 2 3//TEST(compute):COMPARE_COMPUTE: -shaderobj 4//TEST(compute):COMPARE_COMPUTE:-vk -shaderobj 5//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj 6//TEST(compute):COMPARE_COMPUTE:-wgpu 7 8int test(int t, int r) 9{ 10 int result = 0; 11 switch (t) 12 { 13 case 0: 14 switch (r) 15 { 16 case 0: 17 return 1; 18 case 2: 19 return 2; 20 } 21 default: 22 result = 3; 23 break; 24 } 25 return result; 26} 27 28//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer 29RWStructuredBuffer<int> outputBuffer; 30 31[numthreads(1, 1, 1)] 32void computeMain(int3 dispatchThreadID: SV_DispatchThreadID) 33{ 34 outputBuffer[0] = test(dispatchThreadID.x, 0); 35 outputBuffer[1] = test(dispatchThreadID.x, 1); 36 outputBuffer[2] = test(dispatchThreadID.x, 2); 37 outputBuffer[3] = 0; 38}