yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
6e32976de
master
1//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -shaderobj -output-using-type 2//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -cpu -shaderobj -output-using-type 3//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -vk -shaderobj -output-using-type 4 5//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer 6RWStructuredBuffer<float> outputBuffer; 7 8void aggregate(inout int v, int u) 9{ 10 v = v * u; 11} 12 13T test<T:IInteger, each U : IInteger>(T t, expand each U u) 14{ 15 int v = 1; 16 expand aggregate(v, (each u).toInt()); 17 return t + T(v); 18} 19 20[numthreads(1, 1, 1)] 21void computeMain() 22{ 23 // CHECK: 11 24 outputBuffer[0] = test<int>(5, 1, 2, 3); 25}