yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

ArielG-NVEnable (at least a sub-set of) CoopVec tests that are disabled (#7706)d8d0b8969

master
860 B35 linesraw
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 float[15] 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}