SPV return from main: Simplify a legacy design such returns are not jumps to exit block.
Structured control-flow rules allow leaving the middle of a construct through a return, but not through a jump to a block that does a return. Addresses issue #58.
This commit is contained in:
@@ -5,7 +5,7 @@ Linked fragment stage:
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 264
|
||||
// Id's are bound by 263
|
||||
|
||||
Source GLSL 130
|
||||
Capability Shader
|
||||
@@ -14,333 +14,331 @@ Linked fragment stage:
|
||||
EntryPoint Fragment 4 "main"
|
||||
ExecutionMode 4 OriginLowerLeft
|
||||
Name 4 "main"
|
||||
Name 9 "b"
|
||||
Name 11 "u_b"
|
||||
Name 13 "i_b"
|
||||
Name 18 "b2"
|
||||
Name 20 "u_b2"
|
||||
Name 23 "i_b2"
|
||||
Name 36 "b3"
|
||||
Name 38 "u_b3"
|
||||
Name 41 "i_b3"
|
||||
Name 60 "b4"
|
||||
Name 62 "u_b4"
|
||||
Name 65 "i_b4"
|
||||
Name 90 "i"
|
||||
Name 92 "u_i"
|
||||
Name 95 "i_i"
|
||||
Name 100 "i2"
|
||||
Name 102 "u_i2"
|
||||
Name 105 "i_i2"
|
||||
Name 110 "i3"
|
||||
Name 112 "u_i3"
|
||||
Name 115 "i_i3"
|
||||
Name 120 "i4"
|
||||
Name 122 "u_i4"
|
||||
Name 125 "i_i4"
|
||||
Name 130 "f"
|
||||
Name 132 "u_f"
|
||||
Name 135 "i_f"
|
||||
Name 140 "f2"
|
||||
Name 142 "u_f2"
|
||||
Name 145 "i_f2"
|
||||
Name 150 "f3"
|
||||
Name 152 "u_f3"
|
||||
Name 155 "i_f3"
|
||||
Name 160 "f4"
|
||||
Name 162 "u_f4"
|
||||
Name 165 "i_f4"
|
||||
Name 169 "gl_FragColor"
|
||||
Decorate 95(i_i) Flat
|
||||
Decorate 105(i_i2) Flat
|
||||
Decorate 115(i_i3) Flat
|
||||
Decorate 125(i_i4) Flat
|
||||
Decorate 135(i_f) Smooth
|
||||
Decorate 145(i_f2) Smooth
|
||||
Decorate 155(i_f3) Smooth
|
||||
Decorate 165(i_f4) Smooth
|
||||
Decorate 169(gl_FragColor) BuiltIn FragColor
|
||||
Name 8 "b"
|
||||
Name 10 "u_b"
|
||||
Name 12 "i_b"
|
||||
Name 17 "b2"
|
||||
Name 19 "u_b2"
|
||||
Name 22 "i_b2"
|
||||
Name 35 "b3"
|
||||
Name 37 "u_b3"
|
||||
Name 40 "i_b3"
|
||||
Name 59 "b4"
|
||||
Name 61 "u_b4"
|
||||
Name 64 "i_b4"
|
||||
Name 89 "i"
|
||||
Name 91 "u_i"
|
||||
Name 94 "i_i"
|
||||
Name 99 "i2"
|
||||
Name 101 "u_i2"
|
||||
Name 104 "i_i2"
|
||||
Name 109 "i3"
|
||||
Name 111 "u_i3"
|
||||
Name 114 "i_i3"
|
||||
Name 119 "i4"
|
||||
Name 121 "u_i4"
|
||||
Name 124 "i_i4"
|
||||
Name 129 "f"
|
||||
Name 131 "u_f"
|
||||
Name 134 "i_f"
|
||||
Name 139 "f2"
|
||||
Name 141 "u_f2"
|
||||
Name 144 "i_f2"
|
||||
Name 149 "f3"
|
||||
Name 151 "u_f3"
|
||||
Name 154 "i_f3"
|
||||
Name 159 "f4"
|
||||
Name 161 "u_f4"
|
||||
Name 164 "i_f4"
|
||||
Name 168 "gl_FragColor"
|
||||
Decorate 94(i_i) Flat
|
||||
Decorate 104(i_i2) Flat
|
||||
Decorate 114(i_i3) Flat
|
||||
Decorate 124(i_i4) Flat
|
||||
Decorate 134(i_f) Smooth
|
||||
Decorate 144(i_f2) Smooth
|
||||
Decorate 154(i_f3) Smooth
|
||||
Decorate 164(i_f4) Smooth
|
||||
Decorate 168(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeBool
|
||||
8: TypePointer Function 7(bool)
|
||||
10: TypePointer UniformConstant 7(bool)
|
||||
11(u_b): 10(ptr) Variable UniformConstant
|
||||
13(i_b): 10(ptr) Variable UniformConstant
|
||||
16: TypeVector 7(bool) 2
|
||||
17: TypePointer Function 16(bvec2)
|
||||
19: TypePointer UniformConstant 16(bvec2)
|
||||
20(u_b2): 19(ptr) Variable UniformConstant
|
||||
23(i_b2): 19(ptr) Variable UniformConstant
|
||||
34: TypeVector 7(bool) 3
|
||||
35: TypePointer Function 34(bvec3)
|
||||
37: TypePointer UniformConstant 34(bvec3)
|
||||
38(u_b3): 37(ptr) Variable UniformConstant
|
||||
41(i_b3): 37(ptr) Variable UniformConstant
|
||||
58: TypeVector 7(bool) 4
|
||||
59: TypePointer Function 58(bvec4)
|
||||
61: TypePointer UniformConstant 58(bvec4)
|
||||
62(u_b4): 61(ptr) Variable UniformConstant
|
||||
65(i_b4): 61(ptr) Variable UniformConstant
|
||||
88: TypeInt 32 1
|
||||
89: TypePointer Function 88(int)
|
||||
91: TypePointer UniformConstant 88(int)
|
||||
92(u_i): 91(ptr) Variable UniformConstant
|
||||
94: TypePointer Input 88(int)
|
||||
95(i_i): 94(ptr) Variable Input
|
||||
98: TypeVector 88(int) 2
|
||||
99: TypePointer Function 98(ivec2)
|
||||
101: TypePointer UniformConstant 98(ivec2)
|
||||
102(u_i2): 101(ptr) Variable UniformConstant
|
||||
104: TypePointer Input 98(ivec2)
|
||||
105(i_i2): 104(ptr) Variable Input
|
||||
108: TypeVector 88(int) 3
|
||||
109: TypePointer Function 108(ivec3)
|
||||
111: TypePointer UniformConstant 108(ivec3)
|
||||
112(u_i3): 111(ptr) Variable UniformConstant
|
||||
114: TypePointer Input 108(ivec3)
|
||||
115(i_i3): 114(ptr) Variable Input
|
||||
118: TypeVector 88(int) 4
|
||||
119: TypePointer Function 118(ivec4)
|
||||
121: TypePointer UniformConstant 118(ivec4)
|
||||
122(u_i4): 121(ptr) Variable UniformConstant
|
||||
124: TypePointer Input 118(ivec4)
|
||||
125(i_i4): 124(ptr) Variable Input
|
||||
128: TypeFloat 32
|
||||
129: TypePointer Function 128(float)
|
||||
131: TypePointer UniformConstant 128(float)
|
||||
132(u_f): 131(ptr) Variable UniformConstant
|
||||
134: TypePointer Input 128(float)
|
||||
135(i_f): 134(ptr) Variable Input
|
||||
138: TypeVector 128(float) 2
|
||||
139: TypePointer Function 138(fvec2)
|
||||
141: TypePointer UniformConstant 138(fvec2)
|
||||
142(u_f2): 141(ptr) Variable UniformConstant
|
||||
144: TypePointer Input 138(fvec2)
|
||||
145(i_f2): 144(ptr) Variable Input
|
||||
148: TypeVector 128(float) 3
|
||||
149: TypePointer Function 148(fvec3)
|
||||
151: TypePointer UniformConstant 148(fvec3)
|
||||
152(u_f3): 151(ptr) Variable UniformConstant
|
||||
154: TypePointer Input 148(fvec3)
|
||||
155(i_f3): 154(ptr) Variable Input
|
||||
158: TypeVector 128(float) 4
|
||||
159: TypePointer Function 158(fvec4)
|
||||
161: TypePointer UniformConstant 158(fvec4)
|
||||
162(u_f4): 161(ptr) Variable UniformConstant
|
||||
164: TypePointer Input 158(fvec4)
|
||||
165(i_f4): 164(ptr) Variable Input
|
||||
168: TypePointer Output 158(fvec4)
|
||||
169(gl_FragColor): 168(ptr) Variable Output
|
||||
261: 128(float) Constant 1065353216
|
||||
262: 158(fvec4) ConstantComposite 261 261 261 261
|
||||
6: TypeBool
|
||||
7: TypePointer Function 6(bool)
|
||||
9: TypePointer UniformConstant 6(bool)
|
||||
10(u_b): 9(ptr) Variable UniformConstant
|
||||
12(i_b): 9(ptr) Variable UniformConstant
|
||||
15: TypeVector 6(bool) 2
|
||||
16: TypePointer Function 15(bvec2)
|
||||
18: TypePointer UniformConstant 15(bvec2)
|
||||
19(u_b2): 18(ptr) Variable UniformConstant
|
||||
22(i_b2): 18(ptr) Variable UniformConstant
|
||||
33: TypeVector 6(bool) 3
|
||||
34: TypePointer Function 33(bvec3)
|
||||
36: TypePointer UniformConstant 33(bvec3)
|
||||
37(u_b3): 36(ptr) Variable UniformConstant
|
||||
40(i_b3): 36(ptr) Variable UniformConstant
|
||||
57: TypeVector 6(bool) 4
|
||||
58: TypePointer Function 57(bvec4)
|
||||
60: TypePointer UniformConstant 57(bvec4)
|
||||
61(u_b4): 60(ptr) Variable UniformConstant
|
||||
64(i_b4): 60(ptr) Variable UniformConstant
|
||||
87: TypeInt 32 1
|
||||
88: TypePointer Function 87(int)
|
||||
90: TypePointer UniformConstant 87(int)
|
||||
91(u_i): 90(ptr) Variable UniformConstant
|
||||
93: TypePointer Input 87(int)
|
||||
94(i_i): 93(ptr) Variable Input
|
||||
97: TypeVector 87(int) 2
|
||||
98: TypePointer Function 97(ivec2)
|
||||
100: TypePointer UniformConstant 97(ivec2)
|
||||
101(u_i2): 100(ptr) Variable UniformConstant
|
||||
103: TypePointer Input 97(ivec2)
|
||||
104(i_i2): 103(ptr) Variable Input
|
||||
107: TypeVector 87(int) 3
|
||||
108: TypePointer Function 107(ivec3)
|
||||
110: TypePointer UniformConstant 107(ivec3)
|
||||
111(u_i3): 110(ptr) Variable UniformConstant
|
||||
113: TypePointer Input 107(ivec3)
|
||||
114(i_i3): 113(ptr) Variable Input
|
||||
117: TypeVector 87(int) 4
|
||||
118: TypePointer Function 117(ivec4)
|
||||
120: TypePointer UniformConstant 117(ivec4)
|
||||
121(u_i4): 120(ptr) Variable UniformConstant
|
||||
123: TypePointer Input 117(ivec4)
|
||||
124(i_i4): 123(ptr) Variable Input
|
||||
127: TypeFloat 32
|
||||
128: TypePointer Function 127(float)
|
||||
130: TypePointer UniformConstant 127(float)
|
||||
131(u_f): 130(ptr) Variable UniformConstant
|
||||
133: TypePointer Input 127(float)
|
||||
134(i_f): 133(ptr) Variable Input
|
||||
137: TypeVector 127(float) 2
|
||||
138: TypePointer Function 137(fvec2)
|
||||
140: TypePointer UniformConstant 137(fvec2)
|
||||
141(u_f2): 140(ptr) Variable UniformConstant
|
||||
143: TypePointer Input 137(fvec2)
|
||||
144(i_f2): 143(ptr) Variable Input
|
||||
147: TypeVector 127(float) 3
|
||||
148: TypePointer Function 147(fvec3)
|
||||
150: TypePointer UniformConstant 147(fvec3)
|
||||
151(u_f3): 150(ptr) Variable UniformConstant
|
||||
153: TypePointer Input 147(fvec3)
|
||||
154(i_f3): 153(ptr) Variable Input
|
||||
157: TypeVector 127(float) 4
|
||||
158: TypePointer Function 157(fvec4)
|
||||
160: TypePointer UniformConstant 157(fvec4)
|
||||
161(u_f4): 160(ptr) Variable UniformConstant
|
||||
163: TypePointer Input 157(fvec4)
|
||||
164(i_f4): 163(ptr) Variable Input
|
||||
167: TypePointer Output 157(fvec4)
|
||||
168(gl_FragColor): 167(ptr) Variable Output
|
||||
260: 127(float) Constant 1065353216
|
||||
261: 157(fvec4) ConstantComposite 260 260 260 260
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(b): 8(ptr) Variable Function
|
||||
18(b2): 17(ptr) Variable Function
|
||||
36(b3): 35(ptr) Variable Function
|
||||
60(b4): 59(ptr) Variable Function
|
||||
90(i): 89(ptr) Variable Function
|
||||
100(i2): 99(ptr) Variable Function
|
||||
110(i3): 109(ptr) Variable Function
|
||||
120(i4): 119(ptr) Variable Function
|
||||
130(f): 129(ptr) Variable Function
|
||||
140(f2): 139(ptr) Variable Function
|
||||
150(f3): 149(ptr) Variable Function
|
||||
160(f4): 159(ptr) Variable Function
|
||||
170: 159(ptr) Variable Function
|
||||
12: 7(bool) Load 11(u_b)
|
||||
14: 7(bool) Load 13(i_b)
|
||||
15: 7(bool) LogicalAnd 12 14
|
||||
Store 9(b) 15
|
||||
21: 16(bvec2) Load 20(u_b2)
|
||||
22: 7(bool) CompositeExtract 21 0
|
||||
24: 16(bvec2) Load 23(i_b2)
|
||||
25: 7(bool) CompositeExtract 24 0
|
||||
26: 7(bool) LogicalAnd 22 25
|
||||
27: 16(bvec2) Load 20(u_b2)
|
||||
28: 7(bool) CompositeExtract 27 1
|
||||
29: 7(bool) LogicalAnd 26 28
|
||||
30: 16(bvec2) Load 23(i_b2)
|
||||
31: 7(bool) CompositeExtract 30 1
|
||||
32: 7(bool) LogicalAnd 29 31
|
||||
33: 16(bvec2) CompositeConstruct 32 32
|
||||
Store 18(b2) 33
|
||||
39: 34(bvec3) Load 38(u_b3)
|
||||
40: 7(bool) CompositeExtract 39 0
|
||||
42: 34(bvec3) Load 41(i_b3)
|
||||
43: 7(bool) CompositeExtract 42 0
|
||||
44: 7(bool) LogicalAnd 40 43
|
||||
45: 34(bvec3) Load 38(u_b3)
|
||||
46: 7(bool) CompositeExtract 45 1
|
||||
47: 7(bool) LogicalAnd 44 46
|
||||
48: 34(bvec3) Load 41(i_b3)
|
||||
49: 7(bool) CompositeExtract 48 1
|
||||
50: 7(bool) LogicalAnd 47 49
|
||||
51: 34(bvec3) Load 38(u_b3)
|
||||
52: 7(bool) CompositeExtract 51 2
|
||||
53: 7(bool) LogicalAnd 50 52
|
||||
54: 34(bvec3) Load 41(i_b3)
|
||||
55: 7(bool) CompositeExtract 54 2
|
||||
56: 7(bool) LogicalAnd 53 55
|
||||
57: 34(bvec3) CompositeConstruct 56 56 56
|
||||
Store 36(b3) 57
|
||||
63: 58(bvec4) Load 62(u_b4)
|
||||
64: 7(bool) CompositeExtract 63 0
|
||||
66: 58(bvec4) Load 65(i_b4)
|
||||
67: 7(bool) CompositeExtract 66 0
|
||||
68: 7(bool) LogicalAnd 64 67
|
||||
69: 58(bvec4) Load 62(u_b4)
|
||||
70: 7(bool) CompositeExtract 69 1
|
||||
71: 7(bool) LogicalAnd 68 70
|
||||
72: 58(bvec4) Load 65(i_b4)
|
||||
73: 7(bool) CompositeExtract 72 1
|
||||
74: 7(bool) LogicalAnd 71 73
|
||||
75: 58(bvec4) Load 62(u_b4)
|
||||
76: 7(bool) CompositeExtract 75 2
|
||||
77: 7(bool) LogicalAnd 74 76
|
||||
78: 58(bvec4) Load 65(i_b4)
|
||||
79: 7(bool) CompositeExtract 78 2
|
||||
80: 7(bool) LogicalAnd 77 79
|
||||
81: 58(bvec4) Load 62(u_b4)
|
||||
82: 7(bool) CompositeExtract 81 3
|
||||
83: 7(bool) LogicalAnd 80 82
|
||||
84: 58(bvec4) Load 65(i_b4)
|
||||
85: 7(bool) CompositeExtract 84 3
|
||||
86: 7(bool) LogicalAnd 83 85
|
||||
87: 58(bvec4) CompositeConstruct 86 86 86 86
|
||||
Store 60(b4) 87
|
||||
93: 88(int) Load 92(u_i)
|
||||
96: 88(int) Load 95(i_i)
|
||||
97: 88(int) IAdd 93 96
|
||||
Store 90(i) 97
|
||||
103: 98(ivec2) Load 102(u_i2)
|
||||
106: 98(ivec2) Load 105(i_i2)
|
||||
107: 98(ivec2) IAdd 103 106
|
||||
Store 100(i2) 107
|
||||
113: 108(ivec3) Load 112(u_i3)
|
||||
116: 108(ivec3) Load 115(i_i3)
|
||||
117: 108(ivec3) IAdd 113 116
|
||||
Store 110(i3) 117
|
||||
123: 118(ivec4) Load 122(u_i4)
|
||||
126: 118(ivec4) Load 125(i_i4)
|
||||
127: 118(ivec4) IAdd 123 126
|
||||
Store 120(i4) 127
|
||||
133: 128(float) Load 132(u_f)
|
||||
136: 128(float) Load 135(i_f)
|
||||
137: 128(float) FAdd 133 136
|
||||
Store 130(f) 137
|
||||
143: 138(fvec2) Load 142(u_f2)
|
||||
146: 138(fvec2) Load 145(i_f2)
|
||||
147: 138(fvec2) FAdd 143 146
|
||||
Store 140(f2) 147
|
||||
153: 148(fvec3) Load 152(u_f3)
|
||||
156: 148(fvec3) Load 155(i_f3)
|
||||
157: 148(fvec3) FAdd 153 156
|
||||
Store 150(f3) 157
|
||||
163: 158(fvec4) Load 162(u_f4)
|
||||
166: 158(fvec4) Load 165(i_f4)
|
||||
167: 158(fvec4) FAdd 163 166
|
||||
Store 160(f4) 167
|
||||
171: 7(bool) Load 9(b)
|
||||
172: 16(bvec2) Load 18(b2)
|
||||
173: 7(bool) CompositeExtract 172 0
|
||||
174: 7(bool) LogicalOr 171 173
|
||||
175: 16(bvec2) Load 18(b2)
|
||||
176: 7(bool) CompositeExtract 175 1
|
||||
177: 7(bool) LogicalOr 174 176
|
||||
178: 34(bvec3) Load 36(b3)
|
||||
179: 7(bool) CompositeExtract 178 0
|
||||
180: 7(bool) LogicalOr 177 179
|
||||
181: 34(bvec3) Load 36(b3)
|
||||
182: 7(bool) CompositeExtract 181 1
|
||||
183: 7(bool) LogicalOr 180 182
|
||||
184: 34(bvec3) Load 36(b3)
|
||||
185: 7(bool) CompositeExtract 184 2
|
||||
186: 7(bool) LogicalOr 183 185
|
||||
187: 58(bvec4) Load 60(b4)
|
||||
188: 7(bool) CompositeExtract 187 0
|
||||
189: 7(bool) LogicalOr 186 188
|
||||
190: 58(bvec4) Load 60(b4)
|
||||
191: 7(bool) CompositeExtract 190 1
|
||||
192: 7(bool) LogicalOr 189 191
|
||||
193: 58(bvec4) Load 60(b4)
|
||||
194: 7(bool) CompositeExtract 193 2
|
||||
195: 7(bool) LogicalOr 192 194
|
||||
196: 58(bvec4) Load 60(b4)
|
||||
197: 7(bool) CompositeExtract 196 3
|
||||
198: 7(bool) LogicalOr 195 197
|
||||
SelectionMerge 200 None
|
||||
BranchConditional 198 199 260
|
||||
199: Label
|
||||
201: 88(int) Load 90(i)
|
||||
202: 98(ivec2) Load 100(i2)
|
||||
203: 88(int) CompositeExtract 202 0
|
||||
204: 88(int) IAdd 201 203
|
||||
205: 98(ivec2) Load 100(i2)
|
||||
206: 88(int) CompositeExtract 205 1
|
||||
207: 88(int) IAdd 204 206
|
||||
208: 108(ivec3) Load 110(i3)
|
||||
209: 88(int) CompositeExtract 208 0
|
||||
210: 88(int) IAdd 207 209
|
||||
211: 108(ivec3) Load 110(i3)
|
||||
212: 88(int) CompositeExtract 211 1
|
||||
213: 88(int) IAdd 210 212
|
||||
214: 108(ivec3) Load 110(i3)
|
||||
215: 88(int) CompositeExtract 214 2
|
||||
216: 88(int) IAdd 213 215
|
||||
217: 118(ivec4) Load 120(i4)
|
||||
218: 88(int) CompositeExtract 217 0
|
||||
219: 88(int) IAdd 216 218
|
||||
220: 118(ivec4) Load 120(i4)
|
||||
221: 88(int) CompositeExtract 220 1
|
||||
222: 88(int) IAdd 219 221
|
||||
223: 118(ivec4) Load 120(i4)
|
||||
224: 88(int) CompositeExtract 223 2
|
||||
225: 88(int) IAdd 222 224
|
||||
226: 118(ivec4) Load 120(i4)
|
||||
227: 88(int) CompositeExtract 226 3
|
||||
228: 88(int) IAdd 225 227
|
||||
229: 128(float) ConvertSToF 228
|
||||
230: 128(float) Load 130(f)
|
||||
231: 128(float) FAdd 229 230
|
||||
232: 138(fvec2) Load 140(f2)
|
||||
233: 128(float) CompositeExtract 232 0
|
||||
234: 128(float) FAdd 231 233
|
||||
235: 138(fvec2) Load 140(f2)
|
||||
236: 128(float) CompositeExtract 235 1
|
||||
237: 128(float) FAdd 234 236
|
||||
238: 148(fvec3) Load 150(f3)
|
||||
239: 128(float) CompositeExtract 238 0
|
||||
240: 128(float) FAdd 237 239
|
||||
241: 148(fvec3) Load 150(f3)
|
||||
242: 128(float) CompositeExtract 241 1
|
||||
243: 128(float) FAdd 240 242
|
||||
244: 148(fvec3) Load 150(f3)
|
||||
245: 128(float) CompositeExtract 244 2
|
||||
246: 128(float) FAdd 243 245
|
||||
247: 158(fvec4) Load 160(f4)
|
||||
248: 128(float) CompositeExtract 247 0
|
||||
249: 128(float) FAdd 246 248
|
||||
250: 158(fvec4) Load 160(f4)
|
||||
251: 128(float) CompositeExtract 250 1
|
||||
252: 128(float) FAdd 249 251
|
||||
253: 158(fvec4) Load 160(f4)
|
||||
254: 128(float) CompositeExtract 253 2
|
||||
255: 128(float) FAdd 252 254
|
||||
256: 158(fvec4) Load 160(f4)
|
||||
257: 128(float) CompositeExtract 256 3
|
||||
258: 128(float) FAdd 255 257
|
||||
259: 158(fvec4) CompositeConstruct 258 258 258 258
|
||||
Store 170 259
|
||||
Branch 200
|
||||
260: Label
|
||||
Store 170 262
|
||||
Branch 200
|
||||
200: Label
|
||||
263: 158(fvec4) Load 170
|
||||
Store 169(gl_FragColor) 263
|
||||
Branch 6
|
||||
6: Label
|
||||
8(b): 7(ptr) Variable Function
|
||||
17(b2): 16(ptr) Variable Function
|
||||
35(b3): 34(ptr) Variable Function
|
||||
59(b4): 58(ptr) Variable Function
|
||||
89(i): 88(ptr) Variable Function
|
||||
99(i2): 98(ptr) Variable Function
|
||||
109(i3): 108(ptr) Variable Function
|
||||
119(i4): 118(ptr) Variable Function
|
||||
129(f): 128(ptr) Variable Function
|
||||
139(f2): 138(ptr) Variable Function
|
||||
149(f3): 148(ptr) Variable Function
|
||||
159(f4): 158(ptr) Variable Function
|
||||
169: 158(ptr) Variable Function
|
||||
11: 6(bool) Load 10(u_b)
|
||||
13: 6(bool) Load 12(i_b)
|
||||
14: 6(bool) LogicalAnd 11 13
|
||||
Store 8(b) 14
|
||||
20: 15(bvec2) Load 19(u_b2)
|
||||
21: 6(bool) CompositeExtract 20 0
|
||||
23: 15(bvec2) Load 22(i_b2)
|
||||
24: 6(bool) CompositeExtract 23 0
|
||||
25: 6(bool) LogicalAnd 21 24
|
||||
26: 15(bvec2) Load 19(u_b2)
|
||||
27: 6(bool) CompositeExtract 26 1
|
||||
28: 6(bool) LogicalAnd 25 27
|
||||
29: 15(bvec2) Load 22(i_b2)
|
||||
30: 6(bool) CompositeExtract 29 1
|
||||
31: 6(bool) LogicalAnd 28 30
|
||||
32: 15(bvec2) CompositeConstruct 31 31
|
||||
Store 17(b2) 32
|
||||
38: 33(bvec3) Load 37(u_b3)
|
||||
39: 6(bool) CompositeExtract 38 0
|
||||
41: 33(bvec3) Load 40(i_b3)
|
||||
42: 6(bool) CompositeExtract 41 0
|
||||
43: 6(bool) LogicalAnd 39 42
|
||||
44: 33(bvec3) Load 37(u_b3)
|
||||
45: 6(bool) CompositeExtract 44 1
|
||||
46: 6(bool) LogicalAnd 43 45
|
||||
47: 33(bvec3) Load 40(i_b3)
|
||||
48: 6(bool) CompositeExtract 47 1
|
||||
49: 6(bool) LogicalAnd 46 48
|
||||
50: 33(bvec3) Load 37(u_b3)
|
||||
51: 6(bool) CompositeExtract 50 2
|
||||
52: 6(bool) LogicalAnd 49 51
|
||||
53: 33(bvec3) Load 40(i_b3)
|
||||
54: 6(bool) CompositeExtract 53 2
|
||||
55: 6(bool) LogicalAnd 52 54
|
||||
56: 33(bvec3) CompositeConstruct 55 55 55
|
||||
Store 35(b3) 56
|
||||
62: 57(bvec4) Load 61(u_b4)
|
||||
63: 6(bool) CompositeExtract 62 0
|
||||
65: 57(bvec4) Load 64(i_b4)
|
||||
66: 6(bool) CompositeExtract 65 0
|
||||
67: 6(bool) LogicalAnd 63 66
|
||||
68: 57(bvec4) Load 61(u_b4)
|
||||
69: 6(bool) CompositeExtract 68 1
|
||||
70: 6(bool) LogicalAnd 67 69
|
||||
71: 57(bvec4) Load 64(i_b4)
|
||||
72: 6(bool) CompositeExtract 71 1
|
||||
73: 6(bool) LogicalAnd 70 72
|
||||
74: 57(bvec4) Load 61(u_b4)
|
||||
75: 6(bool) CompositeExtract 74 2
|
||||
76: 6(bool) LogicalAnd 73 75
|
||||
77: 57(bvec4) Load 64(i_b4)
|
||||
78: 6(bool) CompositeExtract 77 2
|
||||
79: 6(bool) LogicalAnd 76 78
|
||||
80: 57(bvec4) Load 61(u_b4)
|
||||
81: 6(bool) CompositeExtract 80 3
|
||||
82: 6(bool) LogicalAnd 79 81
|
||||
83: 57(bvec4) Load 64(i_b4)
|
||||
84: 6(bool) CompositeExtract 83 3
|
||||
85: 6(bool) LogicalAnd 82 84
|
||||
86: 57(bvec4) CompositeConstruct 85 85 85 85
|
||||
Store 59(b4) 86
|
||||
92: 87(int) Load 91(u_i)
|
||||
95: 87(int) Load 94(i_i)
|
||||
96: 87(int) IAdd 92 95
|
||||
Store 89(i) 96
|
||||
102: 97(ivec2) Load 101(u_i2)
|
||||
105: 97(ivec2) Load 104(i_i2)
|
||||
106: 97(ivec2) IAdd 102 105
|
||||
Store 99(i2) 106
|
||||
112: 107(ivec3) Load 111(u_i3)
|
||||
115: 107(ivec3) Load 114(i_i3)
|
||||
116: 107(ivec3) IAdd 112 115
|
||||
Store 109(i3) 116
|
||||
122: 117(ivec4) Load 121(u_i4)
|
||||
125: 117(ivec4) Load 124(i_i4)
|
||||
126: 117(ivec4) IAdd 122 125
|
||||
Store 119(i4) 126
|
||||
132: 127(float) Load 131(u_f)
|
||||
135: 127(float) Load 134(i_f)
|
||||
136: 127(float) FAdd 132 135
|
||||
Store 129(f) 136
|
||||
142: 137(fvec2) Load 141(u_f2)
|
||||
145: 137(fvec2) Load 144(i_f2)
|
||||
146: 137(fvec2) FAdd 142 145
|
||||
Store 139(f2) 146
|
||||
152: 147(fvec3) Load 151(u_f3)
|
||||
155: 147(fvec3) Load 154(i_f3)
|
||||
156: 147(fvec3) FAdd 152 155
|
||||
Store 149(f3) 156
|
||||
162: 157(fvec4) Load 161(u_f4)
|
||||
165: 157(fvec4) Load 164(i_f4)
|
||||
166: 157(fvec4) FAdd 162 165
|
||||
Store 159(f4) 166
|
||||
170: 6(bool) Load 8(b)
|
||||
171: 15(bvec2) Load 17(b2)
|
||||
172: 6(bool) CompositeExtract 171 0
|
||||
173: 6(bool) LogicalOr 170 172
|
||||
174: 15(bvec2) Load 17(b2)
|
||||
175: 6(bool) CompositeExtract 174 1
|
||||
176: 6(bool) LogicalOr 173 175
|
||||
177: 33(bvec3) Load 35(b3)
|
||||
178: 6(bool) CompositeExtract 177 0
|
||||
179: 6(bool) LogicalOr 176 178
|
||||
180: 33(bvec3) Load 35(b3)
|
||||
181: 6(bool) CompositeExtract 180 1
|
||||
182: 6(bool) LogicalOr 179 181
|
||||
183: 33(bvec3) Load 35(b3)
|
||||
184: 6(bool) CompositeExtract 183 2
|
||||
185: 6(bool) LogicalOr 182 184
|
||||
186: 57(bvec4) Load 59(b4)
|
||||
187: 6(bool) CompositeExtract 186 0
|
||||
188: 6(bool) LogicalOr 185 187
|
||||
189: 57(bvec4) Load 59(b4)
|
||||
190: 6(bool) CompositeExtract 189 1
|
||||
191: 6(bool) LogicalOr 188 190
|
||||
192: 57(bvec4) Load 59(b4)
|
||||
193: 6(bool) CompositeExtract 192 2
|
||||
194: 6(bool) LogicalOr 191 193
|
||||
195: 57(bvec4) Load 59(b4)
|
||||
196: 6(bool) CompositeExtract 195 3
|
||||
197: 6(bool) LogicalOr 194 196
|
||||
SelectionMerge 199 None
|
||||
BranchConditional 197 198 259
|
||||
198: Label
|
||||
200: 87(int) Load 89(i)
|
||||
201: 97(ivec2) Load 99(i2)
|
||||
202: 87(int) CompositeExtract 201 0
|
||||
203: 87(int) IAdd 200 202
|
||||
204: 97(ivec2) Load 99(i2)
|
||||
205: 87(int) CompositeExtract 204 1
|
||||
206: 87(int) IAdd 203 205
|
||||
207: 107(ivec3) Load 109(i3)
|
||||
208: 87(int) CompositeExtract 207 0
|
||||
209: 87(int) IAdd 206 208
|
||||
210: 107(ivec3) Load 109(i3)
|
||||
211: 87(int) CompositeExtract 210 1
|
||||
212: 87(int) IAdd 209 211
|
||||
213: 107(ivec3) Load 109(i3)
|
||||
214: 87(int) CompositeExtract 213 2
|
||||
215: 87(int) IAdd 212 214
|
||||
216: 117(ivec4) Load 119(i4)
|
||||
217: 87(int) CompositeExtract 216 0
|
||||
218: 87(int) IAdd 215 217
|
||||
219: 117(ivec4) Load 119(i4)
|
||||
220: 87(int) CompositeExtract 219 1
|
||||
221: 87(int) IAdd 218 220
|
||||
222: 117(ivec4) Load 119(i4)
|
||||
223: 87(int) CompositeExtract 222 2
|
||||
224: 87(int) IAdd 221 223
|
||||
225: 117(ivec4) Load 119(i4)
|
||||
226: 87(int) CompositeExtract 225 3
|
||||
227: 87(int) IAdd 224 226
|
||||
228: 127(float) ConvertSToF 227
|
||||
229: 127(float) Load 129(f)
|
||||
230: 127(float) FAdd 228 229
|
||||
231: 137(fvec2) Load 139(f2)
|
||||
232: 127(float) CompositeExtract 231 0
|
||||
233: 127(float) FAdd 230 232
|
||||
234: 137(fvec2) Load 139(f2)
|
||||
235: 127(float) CompositeExtract 234 1
|
||||
236: 127(float) FAdd 233 235
|
||||
237: 147(fvec3) Load 149(f3)
|
||||
238: 127(float) CompositeExtract 237 0
|
||||
239: 127(float) FAdd 236 238
|
||||
240: 147(fvec3) Load 149(f3)
|
||||
241: 127(float) CompositeExtract 240 1
|
||||
242: 127(float) FAdd 239 241
|
||||
243: 147(fvec3) Load 149(f3)
|
||||
244: 127(float) CompositeExtract 243 2
|
||||
245: 127(float) FAdd 242 244
|
||||
246: 157(fvec4) Load 159(f4)
|
||||
247: 127(float) CompositeExtract 246 0
|
||||
248: 127(float) FAdd 245 247
|
||||
249: 157(fvec4) Load 159(f4)
|
||||
250: 127(float) CompositeExtract 249 1
|
||||
251: 127(float) FAdd 248 250
|
||||
252: 157(fvec4) Load 159(f4)
|
||||
253: 127(float) CompositeExtract 252 2
|
||||
254: 127(float) FAdd 251 253
|
||||
255: 157(fvec4) Load 159(f4)
|
||||
256: 127(float) CompositeExtract 255 3
|
||||
257: 127(float) FAdd 254 256
|
||||
258: 157(fvec4) CompositeConstruct 257 257 257 257
|
||||
Store 169 258
|
||||
Branch 199
|
||||
259: Label
|
||||
Store 169 261
|
||||
Branch 199
|
||||
199: Label
|
||||
262: 157(fvec4) Load 169
|
||||
Store 168(gl_FragColor) 262
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user