yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
0f3ff5f38
master
1//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -shaderobj -output-using-type 2//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -wgpu -shaderobj -output-using-type -render-features half 3 4//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer 5RWStructuredBuffer<float> outputBuffer; 6 7T writeSingle<T : __BuiltinFloatingPointType>(inout int offset, T value) 8{ 9 outputBuffer[offset++] = __realCast<float>(value); 10 return value; 11} 12 13void write<each T : __BuiltinFloatingPointType>(Tuple<T> tuple) 14{ 15 int offset = 0; 16 expand writeSingle(offset, each tuple); 17} 18 19[numthreads(1,1,1)] 20void computeMain() 21{ 22 // CHECK: 1.0 23 // CHECK: 2.0 24 // CHECK: 3.0 25 // CHECK: 4.0 26 let tuple = Tuple<float, half, float, float>(1.0, 2.0h, 3.0, 4.0); 27 write(tuple); 28}