yum-mirror/slang

Making it easier to work with shaders

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

Yong HeFix IntVal unification logic to insert type casts + buffer element lowering regression. (#5508)989847f6a

master
716 B36 linesraw
1//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUF): -shaderobj
2
3//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
4RWStructuredBuffer<int> outputBuffer;
5static const int a = 3;
6static const struct
7{
8    int b;
9} globalStruct = { a };
10
11int test(int r)
12{
13    return r + 1;
14}
15
16[numthreads(1, 1, 1)]
17void computeMain(uint3 dispatchThreadID: SV_DispatchThreadID)
18{
19    struct
20    {
21        int member1;
22        int unusedMember;
23    } tt;
24    var tmp = test(1);
25    static struct
26    {
27        int member2;
28    } uu = {tmp};
29    tt.member1 = test(0);
30    // BUF: 1
31    outputBuffer[0] = tt.member1;
32    // BUF: 2
33    outputBuffer[1] = uu.member2;
34    // BUF: 3
35    outputBuffer[2] = globalStruct.b;
36}