yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
2a5d5b323
master
1//TEST(compute):COMPARE_COMPUTE: -shaderobj 2//TEST(compute):COMPARE_COMPUTE:-cpu -shaderobj 3 4// Check that user code can declare and use a generic 5// `struct` type. 6 7//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer 8RWStructuredBuffer<int> outputBuffer; 9 10__generic<T> 11struct GenStruct 12{ 13 T x; 14 T y; 15}; 16 17__generic<T> 18T test(T val) 19{ 20 GenStruct<T> gs; 21 gs.x = val; 22 gs.y = val; 23 return gs.x; 24} 25 26 27[numthreads(4, 1, 1)] 28void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) 29{ 30 uint tid = dispatchThreadID.x; 31 32 float outVal = 0; 33 34 outVal += test<uint>(tid); 35 outVal += test<float>(tid * 16.0f); 36 37 outputBuffer[tid] = int(outVal); 38}