yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
439e025c1
master
1//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-vk -render-feature cooperative-vector 2 3// CHECK: 1 4// CHECK-NEXT: 2 5// CHECK-NEXT: 3 6// CHECK-NEXT: 4 7// CHECK-NEXT: 5 8// CHECK-NEXT: 6 9// CHECK-NEXT: 7 10// CHECK-NEXT: 8 11// CHECK-NEXT: 9 12// CHECK-NEXT: A 13// CHECK-NEXT: B 14// CHECK-NEXT: C 15// CHECK-NEXT: D 16// CHECK-NEXT: E 17// CHECK-NEXT: F 18 19//TEST_INPUT:ubuffer(data=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]):name=input 20RWByteAddressBuffer input; 21 22//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]):out,name=outputBuffer 23RWStructuredBuffer<uint32_t> outputBuffer; 24 25groupshared float3[5] temp; 26 27[numthreads(1, 1, 1)] 28void computeMain() 29{ 30 let vec = coopVecLoad<15, uint32_t>(input); 31 vec.storeAny(temp); 32 let result = CoopVec<uint32_t, 15>.loadAny(temp); 33 for(int i = 0; i < result.getCount(); ++i) 34 outputBuffer[i] = result[i]; 35}