yum-mirror/slang

Making it easier to work with shaders

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

skallweitNVenable more metal tests (#4326)712ce653d

master
736 B32 linesraw
1//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -shaderobj
2
3[Flags]
4enum MyFlags
5{
6    Zero = 0,
7    BitOne, // = 1
8    BitTwo, // = 2
9    BitThree // = 4
10}
11
12bool test(MyFlags f1)
13{
14    return (f1 & MyFlags.BitTwo) != 0;
15}
16
17//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
18RWStructuredBuffer<int> outputBuffer;
19
20[numthreads(1, 1, 1)]
21void computeMain(int3 dispatchThreadID: SV_DispatchThreadID)
22{
23    int outVal = test(MyFlags.BitOne | MyFlags.BitTwo) ? 1 : 0;
24    // CHECK: 1
25    outputBuffer[0] = outVal;
26    // CHECK: 4
27    outputBuffer[1] = (int)MyFlags.BitThree;
28    // CHECK: 0
29    outputBuffer[2] = test(MyFlags.BitOne | MyFlags.BitThree) ? 1 : 0;
30    // CHECK: 8
31    outputBuffer[3] = MyFlags(8);
32}