yum-mirror/slang

Making it easier to work with shaders

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

Yong He[SPIRV] Fix pointer lowering bug. (#3713)faaa532ae

master
549 B41 linesraw
1//TEST:SIMPLE(filecheck=CHECK): -target spirv -emit-spirv-directly -O0
2
3struct Tester0
4{
5    uint i;
6};
7
8struct Tester1
9{
10    Tester0 * tester0;
11};
12
13struct Tester2
14{
15    Tester1* tester1;
16};
17
18struct Tester3
19{
20    uint* i_ptr;
21};
22
23struct Push
24{
25    Tester2 * tester2;
26    Tester3 * tester3;
27};
28
29[[vk::push_constant]] Push push;
30[shader("compute")]
31[numthreads(1, 1, 1)]
32void main(uint3 dtid : SV_DispatchThreadID)
33{    
34    Tester3 tester3 = push.tester3[0];
35    if (uint64_t(tester3.i_ptr) != 0)
36    {
37        return;
38    }
39}
40
41// CHECK: OpEntryPoint