yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
712ce653d
master
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}