2 Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
\r
5 Linked compute stage:
\r
8 TBD functionality: Is atomic_uint an opaque handle in the uniform storage class, or an addresses in the atomic storage class?
\r
10 // Generated by (magic number): 51a00bb
\r
11 // Id's are bound by 77
\r
15 1: ExtInstImport "GLSL.std.450"
\r
16 MemoryModel Logical GLSL450
\r
17 EntryPoint GLCompute 4 "main"
\r
34 Decorate 23(counter) Binding 0
\r
35 Decorate 31(countArr) Binding 0
\r
36 Decorate 74(arrX) NoStaticUse
\r
37 Decorate 75(arrY) NoStaticUse
\r
38 Decorate 76(arrZ) NoStaticUse
\r
42 8: TypePointer Function 7(int)
\r
43 9: TypeFunction 7(int) 8(ptr)
\r
44 16: 7(int) Constant 1
\r
45 17: 7(int) Constant 0
\r
46 21: 7(int) Constant 256
\r
47 22: TypePointer UniformConstant 7(int)
\r
48 23(counter): 22(ptr) Variable UniformConstant
\r
49 28: 7(int) Constant 4
\r
50 29: TypeArray 7(int) 28
\r
51 30: TypePointer UniformConstant 29
\r
52 31(countArr): 30(ptr) Variable UniformConstant
\r
54 33: 32(int) Constant 2
\r
55 40: TypePointer Function 32(int)
\r
56 42: TypePointer WorkgroupLocal 32(int)
\r
57 43(atomi): 42(ptr) Variable WorkgroupLocal
\r
58 45: 32(int) Constant 3
\r
59 48: TypePointer WorkgroupLocal 7(int)
\r
60 49(atomu): 48(ptr) Variable WorkgroupLocal
\r
61 51(value): 22(ptr) Variable UniformConstant
\r
62 55: 7(int) Constant 7
\r
63 63: 32(int) Constant 7
\r
64 69: 7(int) Constant 10
\r
65 72: TypeArray 32(int) 16
\r
66 73: TypePointer PrivateGlobal 72
\r
67 74(arrX): 73(ptr) Variable PrivateGlobal
\r
68 75(arrY): 73(ptr) Variable PrivateGlobal
\r
69 76(arrZ): 73(ptr) Variable PrivateGlobal
\r
70 4(main): 2 Function None 3
\r
72 24(param): 8(ptr) Variable Function
\r
73 27(val): 8(ptr) Variable Function
\r
75 25: 7(int) Load 23(counter)
\r
77 26: 7(int) FunctionCall 11(func(au1;) 24(param)
\r
78 34: 22(ptr) AccessChain 31(countArr) 33
\r
80 36: 7(int) AtomicLoad 35 16 17
\r
83 38: 7(int) Load 23(counter)
\r
84 39: 7(int) AtomicIDecrement 38 16 17
\r
89 11(func(au1;): 7(int) Function None 9
\r
90 10(c): 8(ptr) FunctionParameter
\r
92 15: 7(int) Load 10(c)
\r
93 18: 7(int) AtomicIIncrement 15 16 17
\r
94 19: 7(int) Load 10(c)
\r
97 13(atoms(): 2 Function None 3
\r
99 41(origi): 40(ptr) Variable Function
\r
100 47(origu): 8(ptr) Variable Function
\r
101 44: 32(int) Load 43(atomi)
\r
102 46: 32(int) AtomicIAdd 44 16 17 45
\r
104 50: 7(int) Load 49(atomu)
\r
105 52: 7(int) Load 51(value)
\r
106 53: 7(int) AtomicAnd 50 16 17 52
\r
108 54: 7(int) Load 49(atomu)
\r
109 56: 7(int) AtomicOr 54 16 17 55
\r
111 57: 7(int) Load 49(atomu)
\r
112 58: 7(int) AtomicXor 57 16 17 55
\r
114 59: 7(int) Load 49(atomu)
\r
115 60: 7(int) Load 51(value)
\r
116 61: 7(int) AtomicSMin 59 16 17 60
\r
118 62: 32(int) Load 43(atomi)
\r
119 64: 32(int) AtomicSMax 62 16 17 63
\r
121 65: 32(int) Load 43(atomi)
\r
122 66: 32(int) Load 41(origi)
\r
123 67: 32(int) AtomicExchange 65 16 17 66
\r
125 68: 7(int) Load 49(atomu)
\r
126 70: 7(int) Load 51(value)
\r
127 71: 7(int) AtomicCompareExchange 68 16 17 69 70
\r