yum-mirror/slang

Making it easier to work with shaders

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

kaizhangNVFix ambiguous reference for 'extern' and 'export' (#7515)d48f050cb

master
1021 B32 linesraw
1//TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=BUFFER):-slang -compute -shaderobj
2//TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=BUFFER):-slang -compute -dx12 -shaderobj
3//TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=BUFFER):-vk -compute -shaderobj
4//TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=BUFFER):-cpu -compute -shaderobj
5
6import "ambiguous-extern-export-lib1.slang";
7import "ambiguous-extern-export-lib2.slang";
8
9export static const int call_data_len = 6;
10export static const int call_group_vector[call_data_len] = {1,2,3,4,5,6};
11
12//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0], stride=4):out,name=outputBuffer
13RWStructuredBuffer<int> outputBuffer;
14
15[shader("compute")]
16[numthreads(1, 1, 1)]
17void computeMain()
18{
19    initCallId1();
20    initCallId2();
21
22    for (int i = 0; i < call_data_len; i++)
23    {
24        outputBuffer[i] = call_id_1[i] + call_id_2[i];
25    }
26    // BUFFER: 2
27    // BUFFER-NEXT: 4
28    // BUFFER-NEXT: 6
29    // BUFFER-NEXT: 8
30    // BUFFER-NEXT: A
31    // BUFFER-NEXT: C
32}