yum-mirror/slang

Making it easier to work with shaders

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

Harsh Aggarwal (NVIDIA)Fix#8083: Batch-7: Enable cuda tests (#8267)7b4d02803

master
751 B38 linesraw
1//TEST(compute, vulkan):COMPARE_COMPUTE(filecheck-buffer=CHECK):-vk -shaderobj
2//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cuda -shaderobj
3
4// CHECK:      2
5// CHECK-NEXT: 1
6// CHECK-NEXT: 4
7// CHECK-NEXT: 3
8// CHECK-NEXT: 6
9// CHECK-NEXT: 5
10// CHECK-NEXT: 8
11// CHECK-NEXT: 7
12
13struct S
14{
15    int a;
16    int b;
17};
18
19//TEST_INPUT:ubuffer(data=[1 2 3 4 5 6 7 8], stride=8):out,name=buf
20RWStructuredBuffer<S> buf;
21
22S test(S s)
23{
24    s.a = s.a ^ s.b;
25    s.b = s.a ^ s.b;
26    s.a = s.a ^ s.b;
27    return s;
28}
29
30[numthreads(4, 1, 1)]
31// void computeMain(uint i : SV_GroupIndex)
32// {
33//     buf[i] = test(buf[i]);
34// }
35void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
36{
37    buf[dispatchThreadID.x] = test(buf[dispatchThreadID.x]);
38}