glslang/Test/baseResults/spv.loops.frag.out
David Neto c22f37cfb4 Generate correctly structured do-while loops.
The loop test is always emitted before the loop body.

For do-while loops, use a phi node to track whether we're
on the first loop iteration, and only check the loop test
on the second and subsequent iterations.

For do-while loops, the loop test branch no longer occurs
at the top of the loop, so it must get its own selection
merge instruction.

A block can't be the target of more than one merge instruction.
So when the loop test executes after the body (as in do-while in GLSL)
we need to introduce a dummy block to be the target of the selection
merge just before the loop test conditional branch.

The other arm of the branch exits the loop and hence is the
"break block" exception in the structured control flow rules.
2015-07-17 17:51:51 -04:00

1143 lines
55 KiB
Plaintext

spv.loops.frag
WARNING: 0:14: varying deprecated in version 130; may be removed in future release
Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 750
Source GLSL 130
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
Name 4 "main"
Name 10 "color"
Name 12 "BaseColor"
Name 47 "d"
Name 52 "bigColor"
Name 63 "bigColor1_1"
Name 92 "d2"
Name 97 "d3"
Name 102 "bigColor1_2"
Name 113 "bigColor1_3"
Name 119 "d4"
Name 130 "i"
Name 136 "Count"
Name 140 "bigColor2"
Name 158 "bigColor3"
Name 163 "i"
Name 178 "i"
Name 216 "i"
Name 241 "i"
Name 269 "i"
Name 306 "bigColor4"
Name 344 "d5"
Name 348 "bigColor5"
Name 366 "d6"
Name 378 "bigColor6"
Name 413 "d7"
Name 447 "bigColor7"
Name 472 "d8"
Name 517 "d9"
Name 549 "d10"
Name 560 "d11"
Name 572 "d12"
Name 600 "bigColor8"
Name 628 "gl_FragColor"
Name 634 "d14"
Name 640 "d15"
Name 657 "d16"
Name 696 "d17"
Name 702 "d18"
Name 733 "d13"
Name 734 "d19"
Name 735 "d20"
Name 736 "d21"
Name 737 "d22"
Name 738 "d23"
Name 739 "d24"
Name 740 "d25"
Name 741 "d26"
Name 742 "d27"
Name 743 "d28"
Name 744 "d29"
Name 745 "d30"
Name 746 "d31"
Name 747 "d32"
Name 748 "d33"
Name 749 "d34"
Decorate 12(BaseColor) Smooth
Decorate 628(gl_FragColor) BuiltIn FragColor
Decorate 733(d13) NoStaticUse
Decorate 734(d19) NoStaticUse
Decorate 735(d20) NoStaticUse
Decorate 736(d21) NoStaticUse
Decorate 737(d22) NoStaticUse
Decorate 738(d23) NoStaticUse
Decorate 739(d24) NoStaticUse
Decorate 740(d25) NoStaticUse
Decorate 741(d26) NoStaticUse
Decorate 742(d27) NoStaticUse
Decorate 743(d28) NoStaticUse
Decorate 744(d29) NoStaticUse
Decorate 745(d30) NoStaticUse
Decorate 746(d31) NoStaticUse
Decorate 747(d32) NoStaticUse
Decorate 748(d33) NoStaticUse
Decorate 749(d34) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4)
11: TypePointer Input 8(fvec4)
12(BaseColor): 11(ptr) Variable Input
16: TypeBool
17: 16(bool) ConstantTrue
21: 7(float) Constant 1051260355
25: 8(fvec4) ConstantComposite 21 21 21 21
31: 7(float) Constant 1059648963
35: 8(fvec4) ConstantComposite 31 31 31 31
46: TypePointer UniformConstant 7(float)
47(d): 46(ptr) Variable UniformConstant
51: TypePointer UniformConstant 8(fvec4)
52(bigColor): 51(ptr) Variable UniformConstant
63(bigColor1_1): 51(ptr) Variable UniformConstant
81: 7(float) Constant 1109917696
85: 7(float) Constant 1065353216
92(d2): 46(ptr) Variable UniformConstant
97(d3): 46(ptr) Variable UniformConstant
102(bigColor1_2): 51(ptr) Variable UniformConstant
113(bigColor1_3): 51(ptr) Variable UniformConstant
119(d4): 46(ptr) Variable UniformConstant
128: TypeInt 32 1
129: TypePointer Function 128(int)
131: 128(int) Constant 0
135: TypePointer UniformConstant 128(int)
136(Count): 135(ptr) Variable UniformConstant
140(bigColor2): 51(ptr) Variable UniformConstant
145: 128(int) Constant 1
158(bigColor3): 51(ptr) Variable UniformConstant
162: 16(bool) ConstantFalse
167: 128(int) Constant 42
182: 128(int) Constant 100
187: 7(float) Constant 1101004800
220: 128(int) Constant 120
306(bigColor4): 51(ptr) Variable UniformConstant
344(d5): 46(ptr) Variable UniformConstant
348(bigColor5): 51(ptr) Variable UniformConstant
366(d6): 46(ptr) Variable UniformConstant
378(bigColor6): 51(ptr) Variable UniformConstant
413(d7): 46(ptr) Variable UniformConstant
442: 7(float) Constant 0
447(bigColor7): 51(ptr) Variable UniformConstant
472(d8): 46(ptr) Variable UniformConstant
494: 7(float) Constant 1073741824
517(d9): 46(ptr) Variable UniformConstant
534: 7(float) Constant 1084227584
549(d10): 46(ptr) Variable UniformConstant
560(d11): 46(ptr) Variable UniformConstant
572(d12): 46(ptr) Variable UniformConstant
597: 7(float) Constant 1092616192
600(bigColor8): 51(ptr) Variable UniformConstant
627: TypePointer Output 8(fvec4)
628(gl_FragColor): 627(ptr) Variable Output
634(d14): 46(ptr) Variable UniformConstant
640(d15): 46(ptr) Variable UniformConstant
657(d16): 46(ptr) Variable UniformConstant
696(d17): 46(ptr) Variable UniformConstant
702(d18): 46(ptr) Variable UniformConstant
733(d13): 46(ptr) Variable UniformConstant
734(d19): 46(ptr) Variable UniformConstant
735(d20): 46(ptr) Variable UniformConstant
736(d21): 46(ptr) Variable UniformConstant
737(d22): 46(ptr) Variable UniformConstant
738(d23): 46(ptr) Variable UniformConstant
739(d24): 46(ptr) Variable UniformConstant
740(d25): 46(ptr) Variable UniformConstant
741(d26): 46(ptr) Variable UniformConstant
742(d27): 46(ptr) Variable UniformConstant
743(d28): 46(ptr) Variable UniformConstant
744(d29): 46(ptr) Variable UniformConstant
745(d30): 46(ptr) Variable UniformConstant
746(d31): 46(ptr) Variable UniformConstant
747(d32): 46(ptr) Variable UniformConstant
748(d33): 46(ptr) Variable UniformConstant
749(d34): 46(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
10(color): 9(ptr) Variable Function
130(i): 129(ptr) Variable Function
163(i): 129(ptr) Variable Function
178(i): 129(ptr) Variable Function
216(i): 129(ptr) Variable Function
241(i): 129(ptr) Variable Function
269(i): 129(ptr) Variable Function
13: 8(fvec4) Load 12(BaseColor)
Store 10(color) 13
Branch 14
14: Label
LoopMerge 15 None
BranchConditional 17 18 15
18: Label
19: 8(fvec4) Load 10(color)
20: 7(float) CompositeExtract 19 0
22: 16(bool) FOrdLessThan 20 21
SelectionMerge 24 None
BranchConditional 22 23 24
23: Label
26: 8(fvec4) Load 10(color)
27: 8(fvec4) FAdd 26 25
Store 10(color) 27
Branch 15
24: Label
29: 8(fvec4) Load 10(color)
30: 7(float) CompositeExtract 29 0
32: 16(bool) FOrdLessThan 30 31
SelectionMerge 34 None
BranchConditional 32 33 34
33: Label
36: 8(fvec4) Load 10(color)
37: 8(fvec4) FAdd 36 35
Store 10(color) 37
Branch 15
34: Label
39: 8(fvec4) Load 10(color)
40: 8(fvec4) FAdd 39 25
Store 10(color) 40
Branch 15
15: Label
Branch 42
42: Label
44: 8(fvec4) Load 10(color)
45: 7(float) CompositeExtract 44 0
48: 7(float) Load 47(d)
49: 16(bool) FOrdLessThan 45 48
LoopMerge 43 None
BranchConditional 49 50 43
50: Label
53: 8(fvec4) Load 52(bigColor)
54: 8(fvec4) Load 10(color)
55: 8(fvec4) FAdd 54 53
Store 10(color) 55
Branch 42
43: Label
Branch 56
56: Label
58: 8(fvec4) Load 10(color)
59: 7(float) CompositeExtract 58 2
60: 7(float) Load 47(d)
61: 16(bool) FOrdLessThan 59 60
LoopMerge 57 None
BranchConditional 61 62 57
62: Label
64: 8(fvec4) Load 63(bigColor1_1)
65: 8(fvec4) Load 10(color)
66: 8(fvec4) FAdd 65 64
Store 10(color) 66
67: 8(fvec4) Load 10(color)
68: 7(float) CompositeExtract 67 3
69: 7(float) Load 47(d)
70: 16(bool) FOrdLessThan 68 69
SelectionMerge 72 None
BranchConditional 70 71 72
71: Label
Branch 56
72: Label
74: 8(fvec4) Load 63(bigColor1_1)
75: 8(fvec4) Load 10(color)
76: 8(fvec4) FAdd 75 74
Store 10(color) 76
Branch 56
57: Label
Branch 77
77: Label
79: 8(fvec4) Load 10(color)
80: 7(float) CompositeExtract 79 0
82: 16(bool) FOrdLessThan 80 81
LoopMerge 78 None
BranchConditional 82 83 78
83: Label
84: 8(fvec4) Load 10(color)
86: 8(fvec4) CompositeConstruct 85 85 85 85
87: 8(fvec4) FAdd 84 86
Store 10(color) 87
Branch 77
78: Label
Branch 88
88: Label
90: 8(fvec4) Load 10(color)
91: 7(float) CompositeExtract 90 3
93: 7(float) Load 92(d2)
94: 16(bool) FOrdLessThan 91 93
95: 8(fvec4) Load 10(color)
96: 7(float) CompositeExtract 95 1
98: 7(float) Load 97(d3)
99: 16(bool) FOrdLessThan 96 98
100: 16(bool) LogicalAnd 94 99
LoopMerge 89 None
BranchConditional 100 101 89
101: Label
103: 8(fvec4) Load 102(bigColor1_2)
104: 8(fvec4) Load 10(color)
105: 8(fvec4) FAdd 104 103
Store 10(color) 105
Branch 88
89: Label
Branch 106
106: Label
108: 8(fvec4) Load 10(color)
109: 7(float) CompositeExtract 108 2
110: 7(float) Load 97(d3)
111: 16(bool) FOrdLessThan 109 110
LoopMerge 107 None
BranchConditional 111 112 107
112: Label
114: 8(fvec4) Load 113(bigColor1_3)
115: 8(fvec4) Load 10(color)
116: 8(fvec4) FAdd 115 114
Store 10(color) 116
117: 8(fvec4) Load 10(color)
118: 7(float) CompositeExtract 117 1
120: 7(float) Load 119(d4)
121: 16(bool) FOrdLessThan 118 120
SelectionMerge 123 None
BranchConditional 121 122 123
122: Label
Branch 107
123: Label
125: 8(fvec4) Load 113(bigColor1_3)
126: 8(fvec4) Load 10(color)
127: 8(fvec4) FAdd 126 125
Store 10(color) 127
Branch 106
107: Label
Store 130(i) 131
Branch 132
132: Label
134: 128(int) Load 130(i)
137: 128(int) Load 136(Count)
138: 16(bool) SLessThan 134 137
LoopMerge 133 None
BranchConditional 138 139 133
139: Label
141: 8(fvec4) Load 140(bigColor2)
142: 8(fvec4) Load 10(color)
143: 8(fvec4) FAdd 142 141
Store 10(color) 143
144: 128(int) Load 130(i)
146: 128(int) IAdd 144 145
Store 130(i) 146
Branch 132
133: Label
Branch 147
147: Label
149: 16(bool) Phi 17 133 162 151
LoopMerge 148 None
Branch 150
150: Label
SelectionMerge 151 None
BranchConditional 149 151 152
152: Label
153: 8(fvec4) Load 10(color)
154: 7(float) CompositeExtract 153 0
155: 7(float) Load 92(d2)
156: 16(bool) FOrdLessThan 154 155
SelectionMerge 157 None
BranchConditional 156 157 148
157: Label
Branch 151
151: Label
159: 8(fvec4) Load 158(bigColor3)
160: 8(fvec4) Load 10(color)
161: 8(fvec4) FAdd 160 159
Store 10(color) 161
Branch 147
148: Label
Store 163(i) 131
Branch 164
164: Label
166: 128(int) Load 163(i)
168: 16(bool) SLessThan 166 167
LoopMerge 165 None
BranchConditional 168 169 165
169: Label
170: 7(float) Load 97(d3)
171: 8(fvec4) Load 10(color)
172: 7(float) CompositeExtract 171 2
173: 7(float) FAdd 172 170
174: 8(fvec4) Load 10(color)
175: 8(fvec4) CompositeInsert 173 174 2
Store 10(color) 175
176: 128(int) Load 163(i)
177: 128(int) IAdd 176 145
Store 163(i) 177
Branch 164
165: Label
Store 178(i) 131
Branch 179
179: Label
181: 128(int) Load 178(i)
183: 16(bool) SLessThan 181 182
LoopMerge 180 None
BranchConditional 183 184 180
184: Label
185: 8(fvec4) Load 10(color)
186: 7(float) CompositeExtract 185 2
188: 16(bool) FOrdLessThan 186 187
SelectionMerge 190 None
BranchConditional 188 189 196
189: Label
191: 8(fvec4) Load 10(color)
192: 7(float) CompositeExtract 191 0
193: 7(float) FAdd 192 85
194: 8(fvec4) Load 10(color)
195: 8(fvec4) CompositeInsert 193 194 0
Store 10(color) 195
Branch 190
196: Label
197: 8(fvec4) Load 10(color)
198: 7(float) CompositeExtract 197 1
199: 7(float) FAdd 198 85
200: 8(fvec4) Load 10(color)
201: 8(fvec4) CompositeInsert 199 200 1
Store 10(color) 201
Branch 190
190: Label
202: 8(fvec4) Load 10(color)
203: 7(float) CompositeExtract 202 3
204: 16(bool) FOrdLessThan 203 187
SelectionMerge 206 None
BranchConditional 204 205 206
205: Label
207: 8(fvec4) Load 10(color)
208: 7(float) CompositeExtract 207 2
209: 8(fvec4) Load 10(color)
210: 7(float) CompositeExtract 209 1
211: 16(bool) FOrdGreaterThan 208 210
SelectionMerge 213 None
BranchConditional 211 212 213
212: Label
Branch 213
213: Label
Branch 206
206: Label
214: 128(int) Load 178(i)
215: 128(int) IAdd 214 145
Store 178(i) 215
Branch 179
180: Label
Store 216(i) 131
Branch 217
217: Label
219: 128(int) Load 216(i)
221: 16(bool) SLessThan 219 220
LoopMerge 218 None
BranchConditional 221 222 218
222: Label
223: 8(fvec4) Load 10(color)
224: 7(float) CompositeExtract 223 2
225: 16(bool) FOrdLessThan 224 187
SelectionMerge 227 None
BranchConditional 225 226 233
226: Label
228: 8(fvec4) Load 10(color)
229: 7(float) CompositeExtract 228 0
230: 7(float) FAdd 229 85
231: 8(fvec4) Load 10(color)
232: 8(fvec4) CompositeInsert 230 231 0
Store 10(color) 232
Branch 227
233: Label
234: 8(fvec4) Load 10(color)
235: 7(float) CompositeExtract 234 1
236: 7(float) FAdd 235 85
237: 8(fvec4) Load 10(color)
238: 8(fvec4) CompositeInsert 236 237 1
Store 10(color) 238
Branch 227
227: Label
239: 128(int) Load 216(i)
240: 128(int) IAdd 239 145
Store 216(i) 240
Branch 217
218: Label
Store 241(i) 131
Branch 242
242: Label
244: 128(int) Load 241(i)
245: 16(bool) SLessThan 244 167
LoopMerge 243 None
BranchConditional 245 246 243
246: Label
247: 7(float) Load 97(d3)
248: 8(fvec4) Load 10(color)
249: 7(float) CompositeExtract 248 2
250: 7(float) FAdd 249 247
251: 8(fvec4) Load 10(color)
252: 8(fvec4) CompositeInsert 250 251 2
Store 10(color) 252
253: 8(fvec4) Load 10(color)
254: 7(float) CompositeExtract 253 0
255: 7(float) Load 119(d4)
256: 16(bool) FOrdLessThan 254 255
SelectionMerge 258 None
BranchConditional 256 257 258
257: Label
259: 128(int) Load 241(i)
260: 128(int) IAdd 259 145
Store 241(i) 260
Branch 242
258: Label
262: 8(fvec4) Load 10(color)
263: 7(float) CompositeExtract 262 3
264: 7(float) FAdd 263 85
265: 8(fvec4) Load 10(color)
266: 8(fvec4) CompositeInsert 264 265 3
Store 10(color) 266
267: 128(int) Load 241(i)
268: 128(int) IAdd 267 145
Store 241(i) 268
Branch 242
243: Label
Store 269(i) 131
Branch 270
270: Label
272: 128(int) Load 269(i)
273: 16(bool) SLessThan 272 167
LoopMerge 271 None
BranchConditional 273 274 271
274: Label
275: 7(float) Load 97(d3)
276: 8(fvec4) Load 10(color)
277: 7(float) CompositeExtract 276 2
278: 7(float) FAdd 277 275
279: 8(fvec4) Load 10(color)
280: 8(fvec4) CompositeInsert 278 279 2
Store 10(color) 280
281: 8(fvec4) Load 10(color)
282: 7(float) CompositeExtract 281 0
283: 7(float) Load 119(d4)
284: 16(bool) FOrdLessThan 282 283
SelectionMerge 286 None
BranchConditional 284 285 286
285: Label
Branch 271
286: Label
288: 8(fvec4) Load 10(color)
289: 7(float) CompositeExtract 288 3
290: 7(float) FAdd 289 85
291: 8(fvec4) Load 10(color)
292: 8(fvec4) CompositeInsert 290 291 3
Store 10(color) 292
293: 128(int) Load 269(i)
294: 128(int) IAdd 293 145
Store 269(i) 294
Branch 270
271: Label
Branch 295
295: Label
297: 16(bool) Phi 17 271 162 314 162 322
LoopMerge 296 None
Branch 298
298: Label
SelectionMerge 299 None
BranchConditional 297 299 300
300: Label
301: 8(fvec4) Load 10(color)
302: 7(float) CompositeExtract 301 2
303: 7(float) Load 119(d4)
304: 16(bool) FOrdLessThan 302 303
SelectionMerge 305 None
BranchConditional 304 305 296
305: Label
Branch 299
299: Label
307: 8(fvec4) Load 306(bigColor4)
308: 8(fvec4) Load 10(color)
309: 8(fvec4) FAdd 308 307
Store 10(color) 309
310: 8(fvec4) Load 10(color)
311: 7(float) CompositeExtract 310 0
312: 7(float) Load 119(d4)
313: 16(bool) FOrdLessThan 311 312
SelectionMerge 315 None
BranchConditional 313 314 315
314: Label
Branch 295
315: Label
317: 8(fvec4) Load 10(color)
318: 7(float) CompositeExtract 317 1
319: 7(float) Load 119(d4)
320: 16(bool) FOrdLessThan 318 319
SelectionMerge 322 None
BranchConditional 320 321 329
321: Label
323: 7(float) Load 119(d4)
324: 8(fvec4) Load 10(color)
325: 7(float) CompositeExtract 324 1
326: 7(float) FAdd 325 323
327: 8(fvec4) Load 10(color)
328: 8(fvec4) CompositeInsert 326 327 1
Store 10(color) 328
Branch 322
329: Label
330: 7(float) Load 119(d4)
331: 8(fvec4) Load 10(color)
332: 7(float) CompositeExtract 331 0
333: 7(float) FAdd 332 330
334: 8(fvec4) Load 10(color)
335: 8(fvec4) CompositeInsert 333 334 0
Store 10(color) 335
Branch 322
322: Label
Branch 295
296: Label
Branch 336
336: Label
338: 16(bool) Phi 17 296 162 357
LoopMerge 337 None
Branch 339
339: Label
SelectionMerge 340 None
BranchConditional 338 340 341
341: Label
342: 8(fvec4) Load 10(color)
343: 7(float) CompositeExtract 342 0
345: 7(float) Load 344(d5)
346: 16(bool) FOrdLessThan 343 345
SelectionMerge 347 None
BranchConditional 346 347 337
347: Label
Branch 340
340: Label
349: 8(fvec4) Load 348(bigColor5)
350: 8(fvec4) Load 10(color)
351: 8(fvec4) FAdd 350 349
Store 10(color) 351
352: 8(fvec4) Load 10(color)
353: 7(float) CompositeExtract 352 1
354: 7(float) Load 344(d5)
355: 16(bool) FOrdLessThan 353 354
SelectionMerge 357 None
BranchConditional 355 356 357
356: Label
358: 7(float) Load 344(d5)
359: 8(fvec4) Load 10(color)
360: 7(float) CompositeExtract 359 1
361: 7(float) FAdd 360 358
362: 8(fvec4) Load 10(color)
363: 8(fvec4) CompositeInsert 361 362 1
Store 10(color) 363
Branch 357
357: Label
Branch 336
337: Label
364: 8(fvec4) Load 10(color)
365: 7(float) CompositeExtract 364 0
367: 7(float) Load 366(d6)
368: 16(bool) FOrdLessThan 365 367
SelectionMerge 370 None
BranchConditional 368 369 382
369: Label
Branch 371
371: Label
373: 8(fvec4) Load 10(color)
374: 7(float) CompositeExtract 373 1
375: 7(float) Load 366(d6)
376: 16(bool) FOrdLessThan 374 375
LoopMerge 372 None
BranchConditional 376 377 372
377: Label
379: 8(fvec4) Load 378(bigColor6)
380: 8(fvec4) Load 10(color)
381: 8(fvec4) FAdd 380 379
Store 10(color) 381
Branch 371
372: Label
Branch 370
382: Label
Branch 383
383: Label
385: 8(fvec4) Load 10(color)
386: 7(float) CompositeExtract 385 2
387: 7(float) Load 366(d6)
388: 16(bool) FOrdLessThan 386 387
LoopMerge 384 None
BranchConditional 388 389 384
389: Label
390: 8(fvec4) Load 378(bigColor6)
391: 7(float) CompositeExtract 390 2
392: 8(fvec4) Load 10(color)
393: 7(float) CompositeExtract 392 2
394: 7(float) FAdd 393 391
395: 8(fvec4) Load 10(color)
396: 8(fvec4) CompositeInsert 394 395 2
Store 10(color) 396
Branch 383
384: Label
Branch 370
370: Label
397: 8(fvec4) Load 10(color)
398: 7(float) CompositeExtract 397 0
399: 7(float) Load 366(d6)
400: 16(bool) FOrdLessThan 398 399
SelectionMerge 402 None
BranchConditional 400 401 419
401: Label
Branch 403
403: Label
405: 8(fvec4) Load 10(color)
406: 7(float) CompositeExtract 405 1
407: 7(float) Load 366(d6)
408: 16(bool) FOrdLessThan 406 407
LoopMerge 404 None
BranchConditional 408 409 404
409: Label
410: 8(fvec4) Load 378(bigColor6)
411: 8(fvec4) Load 10(color)
412: 8(fvec4) FAdd 411 410
Store 10(color) 412
414: 7(float) Load 413(d7)
415: 16(bool) FOrdLessThan 414 85
SelectionMerge 417 None
BranchConditional 415 416 417
416: Label
Branch 404
417: Label
Branch 403
404: Label
Branch 402
419: Label
Branch 420
420: Label
422: 8(fvec4) Load 10(color)
423: 7(float) CompositeExtract 422 2
424: 7(float) Load 366(d6)
425: 16(bool) FOrdLessThan 423 424
LoopMerge 421 None
BranchConditional 425 426 421
426: Label
427: 8(fvec4) Load 378(bigColor6)
428: 7(float) CompositeExtract 427 2
429: 8(fvec4) Load 10(color)
430: 7(float) CompositeExtract 429 2
431: 7(float) FAdd 430 428
432: 8(fvec4) Load 10(color)
433: 8(fvec4) CompositeInsert 431 432 2
Store 10(color) 433
Branch 420
421: Label
Branch 402
402: Label
Branch 434
434: Label
436: 16(bool) Phi 17 402 162 454
LoopMerge 435 None
Branch 437
437: Label
SelectionMerge 438 None
BranchConditional 436 438 439
439: Label
SelectionMerge 440 None
BranchConditional 17 440 435
440: Label
Branch 438
438: Label
441: 7(float) Load 413(d7)
443: 16(bool) FOrdLessThan 441 442
SelectionMerge 445 None
BranchConditional 443 444 445
444: Label
Branch 435
445: Label
448: 8(fvec4) Load 447(bigColor7)
449: 8(fvec4) Load 10(color)
450: 8(fvec4) FAdd 449 448
Store 10(color) 450
451: 7(float) Load 413(d7)
452: 16(bool) FOrdLessThan 451 85
SelectionMerge 454 None
BranchConditional 452 453 454
453: Label
455: 8(fvec4) Load 10(color)
456: 7(float) CompositeExtract 455 2
457: 7(float) FAdd 456 85
458: 8(fvec4) Load 10(color)
459: 8(fvec4) CompositeInsert 457 458 2
Store 10(color) 459
Branch 435
454: Label
461: 8(fvec4) Load 12(BaseColor)
462: 8(fvec4) Load 10(color)
463: 8(fvec4) FAdd 462 461
Store 10(color) 463
Branch 434
435: Label
Branch 464
464: Label
466: 16(bool) Phi 17 435 162 487
LoopMerge 465 None
Branch 467
467: Label
SelectionMerge 468 None
BranchConditional 466 468 469
469: Label
470: 8(fvec4) Load 10(color)
471: 7(float) CompositeExtract 470 2
473: 7(float) Load 472(d8)
474: 16(bool) FOrdLessThan 471 473
SelectionMerge 475 None
BranchConditional 474 475 465
475: Label
Branch 468
468: Label
476: 7(float) Load 472(d8)
477: 16(bool) FOrdLessThan 476 442
SelectionMerge 479 None
BranchConditional 477 478 479
478: Label
Branch 465
479: Label
481: 8(fvec4) Load 447(bigColor7)
482: 8(fvec4) Load 10(color)
483: 8(fvec4) FAdd 482 481
Store 10(color) 483
484: 7(float) Load 472(d8)
485: 16(bool) FOrdLessThan 484 85
SelectionMerge 487 None
BranchConditional 485 486 487
486: Label
488: 8(fvec4) Load 10(color)
489: 7(float) CompositeExtract 488 2
490: 7(float) FAdd 489 85
491: 8(fvec4) Load 10(color)
492: 8(fvec4) CompositeInsert 490 491 2
Store 10(color) 492
493: 7(float) Load 472(d8)
495: 16(bool) FOrdLessThan 493 494
SelectionMerge 497 None
BranchConditional 495 496 503
496: Label
498: 8(fvec4) Load 10(color)
499: 7(float) CompositeExtract 498 1
500: 7(float) FAdd 499 85
501: 8(fvec4) Load 10(color)
502: 8(fvec4) CompositeInsert 500 501 1
Store 10(color) 502
Branch 497
503: Label
504: 8(fvec4) Load 10(color)
505: 7(float) CompositeExtract 504 0
506: 7(float) FAdd 505 85
507: 8(fvec4) Load 10(color)
508: 8(fvec4) CompositeInsert 506 507 0
Store 10(color) 508
Branch 497
497: Label
Branch 465
487: Label
510: 8(fvec4) Load 12(BaseColor)
511: 8(fvec4) Load 10(color)
512: 8(fvec4) FAdd 511 510
Store 10(color) 512
Branch 464
465: Label
Branch 513
513: Label
515: 8(fvec4) Load 10(color)
516: 7(float) CompositeExtract 515 3
518: 7(float) Load 517(d9)
519: 16(bool) FOrdLessThan 516 518
LoopMerge 514 None
BranchConditional 519 520 514
520: Label
521: 7(float) Load 517(d9)
522: 7(float) Load 472(d8)
523: 16(bool) FOrdGreaterThan 521 522
SelectionMerge 525 None
BranchConditional 523 524 525
524: Label
526: 8(fvec4) Load 10(color)
527: 7(float) CompositeExtract 526 0
528: 7(float) Load 413(d7)
529: 16(bool) FOrdLessThanEqual 527 528
SelectionMerge 531 None
BranchConditional 529 530 531
530: Label
532: 8(fvec4) Load 10(color)
533: 7(float) CompositeExtract 532 2
535: 16(bool) FOrdEqual 533 534
SelectionMerge 537 None
BranchConditional 535 536 543
536: Label
538: 8(fvec4) Load 10(color)
539: 7(float) CompositeExtract 538 3
540: 7(float) FAdd 539 85
541: 8(fvec4) Load 10(color)
542: 8(fvec4) CompositeInsert 540 541 3
Store 10(color) 542
Branch 537
543: Label
Branch 514
537: Label
Branch 531
531: Label
Branch 525
525: Label
Branch 513
514: Label
Branch 545
545: Label
547: 8(fvec4) Load 10(color)
548: 7(float) CompositeExtract 547 2
550: 7(float) Load 549(d10)
551: 16(bool) FOrdLessThan 548 550
LoopMerge 546 None
BranchConditional 551 552 546
552: Label
553: 8(fvec4) Load 10(color)
554: 7(float) CompositeExtract 553 1
555: 7(float) FAdd 554 85
556: 8(fvec4) Load 10(color)
557: 8(fvec4) CompositeInsert 555 556 1
Store 10(color) 557
558: 8(fvec4) Load 10(color)
559: 7(float) CompositeExtract 558 1
561: 7(float) Load 560(d11)
562: 16(bool) FOrdLessThan 559 561
SelectionMerge 564 None
BranchConditional 562 563 564
563: Label
565: 8(fvec4) Load 10(color)
566: 7(float) CompositeExtract 565 2
567: 7(float) FAdd 566 85
568: 8(fvec4) Load 10(color)
569: 8(fvec4) CompositeInsert 567 568 2
Store 10(color) 569
570: 8(fvec4) Load 10(color)
571: 7(float) CompositeExtract 570 3
573: 7(float) Load 572(d12)
574: 16(bool) FOrdLessThan 571 573
SelectionMerge 576 None
BranchConditional 574 575 582
575: Label
577: 8(fvec4) Load 10(color)
578: 7(float) CompositeExtract 577 3
579: 7(float) FAdd 578 85
580: 8(fvec4) Load 10(color)
581: 8(fvec4) CompositeInsert 579 580 3
Store 10(color) 581
Branch 576
582: Label
583: 8(fvec4) Load 10(color)
584: 7(float) CompositeExtract 583 0
585: 7(float) FAdd 584 85
586: 8(fvec4) Load 10(color)
587: 8(fvec4) CompositeInsert 585 586 0
Store 10(color) 587
Branch 576
576: Label
Branch 545
564: Label
589: 8(fvec4) Load 10(color)
590: 8(fvec4) CompositeConstruct 85 85 85 85
591: 8(fvec4) FAdd 589 590
Store 10(color) 591
Branch 546
546: Label
Branch 593
593: Label
595: 8(fvec4) Load 10(color)
596: 7(float) CompositeExtract 595 0
598: 16(bool) FOrdLessThan 596 597
LoopMerge 594 None
BranchConditional 598 599 594
599: Label
601: 8(fvec4) Load 600(bigColor8)
602: 8(fvec4) Load 10(color)
603: 8(fvec4) FAdd 602 601
Store 10(color) 603
604: 8(fvec4) Load 10(color)
605: 7(float) CompositeExtract 604 2
606: 7(float) Load 472(d8)
607: 16(bool) FOrdLessThan 605 606
SelectionMerge 609 None
BranchConditional 607 608 609
608: Label
610: 8(fvec4) Load 10(color)
611: 7(float) CompositeExtract 610 3
612: 7(float) Load 366(d6)
613: 16(bool) FOrdLessThan 611 612
SelectionMerge 615 None
BranchConditional 613 614 615
614: Label
Branch 593
615: Label
Branch 609
609: Label
617: 8(fvec4) Load 600(bigColor8)
618: 7(float) CompositeExtract 617 0
619: 8(fvec4) Load 10(color)
620: 7(float) CompositeExtract 619 1
621: 7(float) FAdd 620 618
622: 8(fvec4) Load 10(color)
623: 8(fvec4) CompositeInsert 621 622 1
Store 10(color) 623
Branch 593
594: Label
624: 8(fvec4) Load 10(color)
625: 8(fvec4) CompositeConstruct 85 85 85 85
626: 8(fvec4) FAdd 624 625
Store 10(color) 626
629: 8(fvec4) Load 10(color)
Store 628(gl_FragColor) 629
Branch 630
630: Label
632: 8(fvec4) Load 10(color)
633: 7(float) CompositeExtract 632 0
635: 7(float) Load 634(d14)
636: 16(bool) FOrdLessThan 633 635
LoopMerge 631 None
BranchConditional 636 637 631
637: Label
638: 8(fvec4) Load 10(color)
639: 7(float) CompositeExtract 638 1
641: 7(float) Load 640(d15)
642: 16(bool) FOrdLessThan 639 641
SelectionMerge 644 None
BranchConditional 642 643 646
643: Label
Branch 6
646: Label
647: 8(fvec4) Load 10(color)
648: 8(fvec4) CompositeConstruct 85 85 85 85
649: 8(fvec4) FAdd 647 648
Store 10(color) 649
Branch 644
644: Label
Branch 630
631: Label
650: 8(fvec4) Load 10(color)
651: 8(fvec4) CompositeConstruct 85 85 85 85
652: 8(fvec4) FAdd 650 651
Store 10(color) 652
Branch 653
653: Label
655: 8(fvec4) Load 10(color)
656: 7(float) CompositeExtract 655 3
658: 7(float) Load 657(d16)
659: 16(bool) FOrdLessThan 656 658
LoopMerge 654 None
BranchConditional 659 660 654
660: Label
661: 8(fvec4) Load 10(color)
662: 7(float) CompositeExtract 661 3
663: 7(float) FAdd 662 85
664: 8(fvec4) Load 10(color)
665: 8(fvec4) CompositeInsert 663 664 3
Store 10(color) 665
Branch 653
654: Label
Branch 666
666: Label
668: 8(fvec4) Load 10(color)
669: 7(float) CompositeExtract 668 3
670: 7(float) Load 92(d2)
671: 16(bool) FOrdLessThan 669 670
672: 8(fvec4) Load 10(color)
673: 7(float) CompositeExtract 672 1
674: 7(float) Load 97(d3)
675: 16(bool) FOrdLessThan 673 674
676: 16(bool) LogicalAnd 671 675
LoopMerge 667 None
BranchConditional 676 677 667
677: Label
678: 8(fvec4) Load 102(bigColor1_2)
679: 8(fvec4) Load 10(color)
680: 8(fvec4) FAdd 679 678
Store 10(color) 680
681: 8(fvec4) Load 10(color)
682: 7(float) CompositeExtract 681 2
683: 7(float) Load 97(d3)
684: 16(bool) FOrdLessThan 682 683
SelectionMerge 686 None
BranchConditional 684 685 686
685: Label
Branch 6
686: Label
Branch 666
667: Label
Branch 688
688: Label
690: 16(bool) Phi 17 667 162 706
LoopMerge 689 None
Branch 691
691: Label
SelectionMerge 692 None
BranchConditional 690 692 693
693: Label
694: 8(fvec4) Load 10(color)
695: 7(float) CompositeExtract 694 0
697: 7(float) Load 696(d17)
698: 16(bool) FOrdLessThan 695 697
SelectionMerge 699 None
BranchConditional 698 699 689
699: Label
Branch 692
692: Label
700: 8(fvec4) Load 10(color)
701: 7(float) CompositeExtract 700 1
703: 7(float) Load 702(d18)
704: 16(bool) FOrdLessThan 701 703
SelectionMerge 706 None
BranchConditional 704 705 706
705: Label
Branch 6
706: Label
708: 8(fvec4) Load 10(color)
709: 8(fvec4) CompositeConstruct 85 85 85 85
710: 8(fvec4) FAdd 708 709
Store 10(color) 710
Branch 688
689: Label
Branch 711
711: Label
713: 8(fvec4) Load 10(color)
714: 7(float) CompositeExtract 713 1
715: 7(float) Load 657(d16)
716: 16(bool) FOrdLessThan 714 715
LoopMerge 712 None
BranchConditional 716 717 712
717: Label
718: 8(fvec4) Load 10(color)
719: 7(float) CompositeExtract 718 3
720: 7(float) Load 657(d16)
721: 16(bool) FOrdLessThan 719 720
SelectionMerge 723 None
BranchConditional 721 722 725
722: Label
Kill
725: Label
726: 8(fvec4) Load 10(color)
727: 8(fvec4) CompositeConstruct 85 85 85 85
728: 8(fvec4) FAdd 726 727
Store 10(color) 728
Branch 723
723: Label
Branch 711
712: Label
729: 8(fvec4) Load 10(color)
730: 8(fvec4) CompositeConstruct 85 85 85 85
731: 8(fvec4) FAdd 729 730
Store 10(color) 731
732: 8(fvec4) Load 10(color)
Store 628(gl_FragColor) 732
Branch 6
6: Label
Return
FunctionEnd