3 gl_FragCoord origin is upper left
5 0:7 Function Definition: @main( ( temp 4-component vector of float)
6 0:7 Function Parameters:
9 0:8 move second child to first child ( temp 4-component vector of float)
10 0:8 'a' ( temp 4-component vector of float)
16 0:9 Test condition and select ( temp void)
18 0:9 Convert int to bool ( temp bool)
19 0:9 condi: direct index for structure ( uniform int)
20 0:9 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
24 0:10 Branch: Return with expression
25 0:10 add ( temp 4-component vector of float)
26 0:10 'a' ( temp 4-component vector of float)
29 0:11 Test condition and select ( temp void)
31 0:11 Convert float to bool ( temp bool)
32 0:11 condf: direct index for structure ( uniform float)
33 0:11 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
37 0:12 Branch: Return with expression
38 0:12 add ( temp 4-component vector of float)
39 0:12 'a' ( temp 4-component vector of float)
42 0:13 Test condition and select ( temp void)
44 0:13 Convert float to bool ( temp bool)
45 0:13 condf1: direct index for structure ( uniform 1-component vector of float)
46 0:13 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
50 0:14 Branch: Return with expression
51 0:14 add ( temp 4-component vector of float)
52 0:14 'a' ( temp 4-component vector of float)
55 0:15 Test condition and select ( temp void)
57 0:15 Convert int to bool ( temp bool)
58 0:15 condi1: direct index for structure ( uniform 1-component vector of int)
59 0:15 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
63 0:16 Branch: Return with expression
64 0:16 add ( temp 4-component vector of float)
65 0:16 'a' ( temp 4-component vector of float)
68 0:17 Test condition and select ( temp void)
70 0:17 logical-or ( temp bool)
71 0:17 logical-and ( temp bool)
72 0:17 Convert int to bool ( temp bool)
73 0:17 condi: direct index for structure ( uniform int)
74 0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
77 0:17 Convert int to bool ( temp bool)
78 0:17 Convert float to int ( temp int)
79 0:17 condf: direct index for structure ( uniform float)
80 0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
83 0:17 Convert float to bool ( temp bool)
84 0:17 condf1: direct index for structure ( uniform 1-component vector of float)
85 0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
89 0:18 Branch: Return with expression
90 0:18 add ( temp 4-component vector of float)
91 0:18 'a' ( temp 4-component vector of float)
95 0:20 move second child to first child ( temp float)
96 0:20 'f' ( temp float)
97 0:20 condf: direct index for structure ( uniform float)
98 0:20 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
101 0:21 Loop with condition tested first
103 0:21 Convert float to bool ( temp bool)
104 0:21 'f' ( temp float)
107 0:21 Pre-Decrement ( temp float)
108 0:21 'f' ( temp float)
110 0:23 move second child to first child ( temp int)
112 0:23 condi: direct index for structure ( uniform int)
113 0:23 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
116 0:24 Loop with condition not tested first
118 0:24 Convert int to bool ( temp bool)
121 0:24 Pre-Decrement ( temp int)
124 0:26 Loop with condition tested first
126 0:26 Convert int to bool ( temp bool)
130 0:26 Pre-Decrement ( temp int)
133 0:28 move second child to first child ( temp float)
134 0:28 'g' ( temp float)
135 0:28 Test condition and select ( temp float)
137 0:28 Convert float to bool ( temp bool)
138 0:28 condf: direct index for structure ( uniform float)
139 0:28 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
148 0:29 add second child into first child ( temp 4-component vector of float)
149 0:29 'a' ( temp 4-component vector of float)
150 0:29 'g' ( temp float)
151 0:31 Branch: Return with expression
152 0:31 subtract ( temp 4-component vector of float)
153 0:31 'a' ( temp 4-component vector of float)
156 0:7 Function Definition: main( ( temp void)
157 0:7 Function Parameters:
159 0:7 move second child to first child ( temp 4-component vector of float)
160 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
161 0:7 Function Call: @main( ( temp 4-component vector of float)
163 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
164 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
167 Linked fragment stage:
171 gl_FragCoord origin is upper left
173 0:7 Function Definition: @main( ( temp 4-component vector of float)
174 0:7 Function Parameters:
177 0:8 move second child to first child ( temp 4-component vector of float)
178 0:8 'a' ( temp 4-component vector of float)
184 0:9 Test condition and select ( temp void)
186 0:9 Convert int to bool ( temp bool)
187 0:9 condi: direct index for structure ( uniform int)
188 0:9 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
192 0:10 Branch: Return with expression
193 0:10 add ( temp 4-component vector of float)
194 0:10 'a' ( temp 4-component vector of float)
197 0:11 Test condition and select ( temp void)
199 0:11 Convert float to bool ( temp bool)
200 0:11 condf: direct index for structure ( uniform float)
201 0:11 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
205 0:12 Branch: Return with expression
206 0:12 add ( temp 4-component vector of float)
207 0:12 'a' ( temp 4-component vector of float)
210 0:13 Test condition and select ( temp void)
212 0:13 Convert float to bool ( temp bool)
213 0:13 condf1: direct index for structure ( uniform 1-component vector of float)
214 0:13 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
218 0:14 Branch: Return with expression
219 0:14 add ( temp 4-component vector of float)
220 0:14 'a' ( temp 4-component vector of float)
223 0:15 Test condition and select ( temp void)
225 0:15 Convert int to bool ( temp bool)
226 0:15 condi1: direct index for structure ( uniform 1-component vector of int)
227 0:15 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
231 0:16 Branch: Return with expression
232 0:16 add ( temp 4-component vector of float)
233 0:16 'a' ( temp 4-component vector of float)
236 0:17 Test condition and select ( temp void)
238 0:17 logical-or ( temp bool)
239 0:17 logical-and ( temp bool)
240 0:17 Convert int to bool ( temp bool)
241 0:17 condi: direct index for structure ( uniform int)
242 0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
245 0:17 Convert int to bool ( temp bool)
246 0:17 Convert float to int ( temp int)
247 0:17 condf: direct index for structure ( uniform float)
248 0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
251 0:17 Convert float to bool ( temp bool)
252 0:17 condf1: direct index for structure ( uniform 1-component vector of float)
253 0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
257 0:18 Branch: Return with expression
258 0:18 add ( temp 4-component vector of float)
259 0:18 'a' ( temp 4-component vector of float)
263 0:20 move second child to first child ( temp float)
264 0:20 'f' ( temp float)
265 0:20 condf: direct index for structure ( uniform float)
266 0:20 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
269 0:21 Loop with condition tested first
271 0:21 Convert float to bool ( temp bool)
272 0:21 'f' ( temp float)
275 0:21 Pre-Decrement ( temp float)
276 0:21 'f' ( temp float)
278 0:23 move second child to first child ( temp int)
280 0:23 condi: direct index for structure ( uniform int)
281 0:23 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
284 0:24 Loop with condition not tested first
286 0:24 Convert int to bool ( temp bool)
289 0:24 Pre-Decrement ( temp int)
292 0:26 Loop with condition tested first
294 0:26 Convert int to bool ( temp bool)
298 0:26 Pre-Decrement ( temp int)
301 0:28 move second child to first child ( temp float)
302 0:28 'g' ( temp float)
303 0:28 Test condition and select ( temp float)
305 0:28 Convert float to bool ( temp bool)
306 0:28 condf: direct index for structure ( uniform float)
307 0:28 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
316 0:29 add second child into first child ( temp 4-component vector of float)
317 0:29 'a' ( temp 4-component vector of float)
318 0:29 'g' ( temp float)
319 0:31 Branch: Return with expression
320 0:31 subtract ( temp 4-component vector of float)
321 0:31 'a' ( temp 4-component vector of float)
324 0:7 Function Definition: main( ( temp void)
325 0:7 Function Parameters:
327 0:7 move second child to first child ( temp 4-component vector of float)
328 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
329 0:7 Function Call: @main( ( temp 4-component vector of float)
331 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
332 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
334 // Module Version 10000
335 // Generated by (magic number): 80001
336 // Id's are bound by 145
339 1: ExtInstImport "GLSL.std.450"
340 MemoryModel Logical GLSL450
341 EntryPoint Fragment 4 "main" 143
342 ExecutionMode 4 OriginUpperLeft
347 MemberName 16($Global) 0 "condf"
348 MemberName 16($Global) 1 "condi"
349 MemberName 16($Global) 2 "condf1"
350 MemberName 16($Global) 3 "condi1"
355 Name 143 "@entryPointOutput"
356 MemberDecorate 16($Global) 0 Offset 0
357 MemberDecorate 16($Global) 1 Offset 4
358 MemberDecorate 16($Global) 2 Offset 16
359 MemberDecorate 16($Global) 3 Offset 32
360 Decorate 16($Global) Block
361 Decorate 18 DescriptorSet 0
362 Decorate 143(@entryPointOutput) Location 0
366 7: TypeVector 6(float) 4
367 8: TypeFunction 7(fvec4)
368 11: TypePointer Function 7(fvec4)
369 13: 6(float) Constant 1073741824
370 14: 7(fvec4) ConstantComposite 13 13 13 13
372 16($Global): TypeStruct 6(float) 15(int) 6(float) 15(int)
373 17: TypePointer Uniform 16($Global)
374 18: 17(ptr) Variable Uniform
375 19: 15(int) Constant 1
376 20: TypePointer Uniform 15(int)
379 25: 24(int) Constant 0
380 30: 6(float) Constant 1065353216
381 34: 15(int) Constant 0
382 35: TypePointer Uniform 6(float)
383 38: 6(float) Constant 0
384 46: 15(int) Constant 2
385 53: 6(float) Constant 1077936128
386 57: 15(int) Constant 3
387 64: 6(float) Constant 1082130432
388 88: 6(float) Constant 1084227584
389 92: TypePointer Function 6(float)
390 105: TypePointer Function 15(int)
391 130: 6(float) Constant 1088421888
392 131: 6(float) Constant 1090519040
393 142: TypePointer Output 7(fvec4)
394 143(@entryPointOutput): 142(ptr) Variable Output
395 4(main): 2 Function None 3
397 144: 7(fvec4) FunctionCall 9(@main()
398 Store 143(@entryPointOutput) 144
401 9(@main(): 7(fvec4) Function None 8
403 12(a): 11(ptr) Variable Function
404 93(f): 92(ptr) Variable Function
405 106(i): 105(ptr) Variable Function
406 126(g): 92(ptr) Variable Function
408 21: 20(ptr) AccessChain 18 19
410 26: 23(bool) INotEqual 22 25
411 SelectionMerge 28 None
412 BranchConditional 26 27 28
414 29: 7(fvec4) Load 12(a)
415 31: 7(fvec4) CompositeConstruct 30 30 30 30
416 32: 7(fvec4) FAdd 29 31
419 36: 35(ptr) AccessChain 18 34
421 39: 23(bool) FOrdNotEqual 37 38
422 SelectionMerge 41 None
423 BranchConditional 39 40 41
425 42: 7(fvec4) Load 12(a)
426 43: 7(fvec4) CompositeConstruct 13 13 13 13
427 44: 7(fvec4) FAdd 42 43
430 47: 35(ptr) AccessChain 18 46
432 49: 23(bool) FOrdNotEqual 48 38
433 SelectionMerge 51 None
434 BranchConditional 49 50 51
436 52: 7(fvec4) Load 12(a)
437 54: 7(fvec4) CompositeConstruct 53 53 53 53
438 55: 7(fvec4) FAdd 52 54
441 58: 20(ptr) AccessChain 18 57
443 60: 23(bool) INotEqual 59 25
444 SelectionMerge 62 None
445 BranchConditional 60 61 62
447 63: 7(fvec4) Load 12(a)
448 65: 7(fvec4) CompositeConstruct 64 64 64 64
449 66: 7(fvec4) FAdd 63 65
452 68: 20(ptr) AccessChain 18 19
454 70: 23(bool) INotEqual 69 25
455 SelectionMerge 72 None
456 BranchConditional 70 71 72
458 73: 35(ptr) AccessChain 18 34
460 75: 15(int) ConvertFToS 74
461 76: 23(bool) INotEqual 75 25
464 77: 23(bool) Phi 70 62 76 71
465 78: 23(bool) LogicalNot 77
466 SelectionMerge 80 None
467 BranchConditional 78 79 80
469 81: 35(ptr) AccessChain 18 46
471 83: 23(bool) FOrdNotEqual 82 38
474 84: 23(bool) Phi 77 72 83 79
475 SelectionMerge 86 None
476 BranchConditional 84 85 86
478 87: 7(fvec4) Load 12(a)
479 89: 7(fvec4) CompositeConstruct 88 88 88 88
480 90: 7(fvec4) FAdd 87 89
483 94: 35(ptr) AccessChain 18 34
491 101: 6(float) Load 93(f)
492 102: 23(bool) FOrdNotEqual 101 38
493 BranchConditional 102 97 98
495 103: 6(float) Load 93(f)
496 104: 6(float) FSub 103 30
502 107: 20(ptr) AccessChain 18 19
503 108: 15(int) Load 107
507 LoopMerge 111 112 None
510 113: 15(int) Load 106(i)
511 114: 15(int) ISub 113 19
515 115: 15(int) Load 106(i)
516 116: 23(bool) INotEqual 115 25
517 BranchConditional 116 109 111
521 LoopMerge 119 120 None
524 122: 15(int) Load 106(i)
525 123: 23(bool) INotEqual 122 25
526 BranchConditional 123 118 119
528 124: 15(int) Load 106(i)
529 125: 15(int) ISub 124 19
535 127: 35(ptr) AccessChain 18 34
536 128: 6(float) Load 127
537 129: 23(bool) FOrdNotEqual 128 38
538 132: 6(float) Select 129 130 131
540 133: 6(float) Load 126(g)
541 134: 7(fvec4) Load 12(a)
542 135: 7(fvec4) CompositeConstruct 133 133 133 133
543 136: 7(fvec4) FAdd 134 135
545 137: 7(fvec4) Load 12(a)
546 138: 7(fvec4) CompositeConstruct 30 30 30 30
547 139: 7(fvec4) FSub 137 138