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// Test that enum values can be used as compile time constants 4// to specialize generics. 5 6[Flags] 7enum BitFlags 8{ 9 One, Two, Three 10} 11 12int test<let F : BitFlags>() 13{ 14 return F; 15} 16 17int testInt<let f : int>() 18{ 19 return f; 20} 21 22//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer 23RWStructuredBuffer<int> outputBuffer; 24 25[numthreads(1, 1, 1)] 26void computeMain(int3 dispatchThreadID : SV_DispatchThreadID) 27{ 28 // CHECK: 3 29 outputBuffer[0] = test<BitFlags.One | BitFlags.Two>(); 30 31 // CHECK: 3 32 outputBuffer[1] = testInt<BitFlags.One | BitFlags.Two>(); 33}