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 75
\r
15 1: ExtInstImport "GLSL.std.450"
\r
16 MemoryModel Logical GLSL450
\r
17 EntryPoint GLCompute 4 "main"
\r
34 Decorate 22(counter) Binding 0
\r
35 Decorate 28 ArrayStride 4
\r
36 Decorate 30(countArr) Binding 0
\r
37 Decorate 70 ArrayStride 4
\r
38 Decorate 72(arrX) NoStaticUse
\r
39 Decorate 70 ArrayStride 4
\r
40 Decorate 73(arrY) NoStaticUse
\r
41 Decorate 70 ArrayStride 4
\r
42 Decorate 74(arrZ) NoStaticUse
\r
46 8: TypePointer Function 7(int)
\r
47 9: TypeFunction 7(int) 8(ptr)
\r
48 16: 7(int) Constant 1
\r
49 17: 7(int) Constant 0
\r
50 20: 7(int) Constant 256
\r
51 21: TypePointer UniformConstant 7(int)
\r
52 22(counter): 21(ptr) Variable UniformConstant
\r
53 27: 7(int) Constant 4
\r
54 28: TypeArray 7(int) 27
\r
55 29: TypePointer UniformConstant 28
\r
56 30(countArr): 29(ptr) Variable UniformConstant
\r
58 32: 31(int) Constant 2
\r
59 38: TypePointer Function 31(int)
\r
60 40: TypePointer WorkgroupLocal 31(int)
\r
61 41(atomi): 40(ptr) Variable WorkgroupLocal
\r
62 43: 31(int) Constant 3
\r
63 46: TypePointer WorkgroupLocal 7(int)
\r
64 47(atomu): 46(ptr) Variable WorkgroupLocal
\r
65 49(value): 21(ptr) Variable UniformConstant
\r
66 53: 7(int) Constant 7
\r
67 61: 31(int) Constant 7
\r
68 67: 7(int) Constant 10
\r
69 70: TypeArray 31(int) 16
\r
70 71: TypePointer PrivateGlobal 70
\r
71 72(arrX): 71(ptr) Variable PrivateGlobal
\r
72 73(arrY): 71(ptr) Variable PrivateGlobal
\r
73 74(arrZ): 71(ptr) Variable PrivateGlobal
\r
74 4(main): 2 Function None 3
\r
76 23(param): 8(ptr) Variable Function
\r
77 26(val): 8(ptr) Variable Function
\r
79 24: 7(int) Load 22(counter)
\r
81 25: 7(int) FunctionCall 11(func(au1;) 23(param)
\r
82 33: 21(ptr) AccessChain 30(countArr) 32
\r
84 35: 7(int) AtomicLoad 34 16 17
\r
86 36: 7(int) Load 22(counter)
\r
87 37: 7(int) AtomicIDecrement 36 16 17
\r
92 11(func(au1;): 7(int) Function None 9
\r
93 10(c): 8(ptr) FunctionParameter
\r
95 15: 7(int) Load 10(c)
\r
96 18: 7(int) AtomicIIncrement 15 16 17
\r
99 13(atoms(): 2 Function None 3
\r
101 39(origi): 38(ptr) Variable Function
\r
102 45(origu): 8(ptr) Variable Function
\r
103 42: 31(int) Load 41(atomi)
\r
104 44: 31(int) AtomicIAdd 42 16 17 43
\r
106 48: 7(int) Load 47(atomu)
\r
107 50: 7(int) Load 49(value)
\r
108 51: 7(int) AtomicAnd 48 16 17 50
\r
110 52: 7(int) Load 47(atomu)
\r
111 54: 7(int) AtomicOr 52 16 17 53
\r
113 55: 7(int) Load 47(atomu)
\r
114 56: 7(int) AtomicXor 55 16 17 53
\r
116 57: 7(int) Load 47(atomu)
\r
117 58: 7(int) Load 49(value)
\r
118 59: 7(int) AtomicSMin 57 16 17 58
\r
120 60: 31(int) Load 41(atomi)
\r
121 62: 31(int) AtomicSMax 60 16 17 61
\r
123 63: 31(int) Load 41(atomi)
\r
124 64: 31(int) Load 39(origi)
\r
125 65: 31(int) AtomicExchange 63 16 17 64
\r
127 66: 7(int) Load 47(atomu)
\r
128 68: 7(int) Load 49(value)
\r
129 69: 7(int) AtomicCompareExchange 66 16 17 67 68
\r