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.
This commit is contained in:
@@ -7,7 +7,7 @@ Linked fragment stage:
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 192
|
||||
// Id's are bound by 196
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
@@ -16,98 +16,98 @@ Linked fragment stage:
|
||||
Name 4 "main"
|
||||
Name 10 "color"
|
||||
Name 12 "BaseColor"
|
||||
Name 19 "bigColor4"
|
||||
Name 26 "d4"
|
||||
Name 79 "d13"
|
||||
Name 145 "gl_FragColor"
|
||||
Name 147 "bigColor"
|
||||
Name 148 "bigColor1_1"
|
||||
Name 149 "bigColor1_2"
|
||||
Name 150 "bigColor1_3"
|
||||
Name 151 "bigColor2"
|
||||
Name 152 "bigColor3"
|
||||
Name 153 "bigColor5"
|
||||
Name 154 "bigColor6"
|
||||
Name 155 "bigColor7"
|
||||
Name 156 "bigColor8"
|
||||
Name 157 "d"
|
||||
Name 158 "d2"
|
||||
Name 159 "d3"
|
||||
Name 160 "d5"
|
||||
Name 161 "d6"
|
||||
Name 162 "d7"
|
||||
Name 163 "d8"
|
||||
Name 164 "d9"
|
||||
Name 165 "d10"
|
||||
Name 166 "d11"
|
||||
Name 167 "d12"
|
||||
Name 168 "d14"
|
||||
Name 169 "d15"
|
||||
Name 170 "d16"
|
||||
Name 171 "d17"
|
||||
Name 172 "d18"
|
||||
Name 173 "d19"
|
||||
Name 174 "d20"
|
||||
Name 175 "d21"
|
||||
Name 176 "d22"
|
||||
Name 177 "d23"
|
||||
Name 178 "d24"
|
||||
Name 179 "d25"
|
||||
Name 180 "d26"
|
||||
Name 181 "d27"
|
||||
Name 182 "d28"
|
||||
Name 183 "d29"
|
||||
Name 184 "d30"
|
||||
Name 185 "d31"
|
||||
Name 186 "d32"
|
||||
Name 187 "d33"
|
||||
Name 188 "d34"
|
||||
Name 191 "Count"
|
||||
Name 25 "d4"
|
||||
Name 30 "bigColor4"
|
||||
Name 83 "d13"
|
||||
Name 149 "gl_FragColor"
|
||||
Name 151 "bigColor"
|
||||
Name 152 "bigColor1_1"
|
||||
Name 153 "bigColor1_2"
|
||||
Name 154 "bigColor1_3"
|
||||
Name 155 "bigColor2"
|
||||
Name 156 "bigColor3"
|
||||
Name 157 "bigColor5"
|
||||
Name 158 "bigColor6"
|
||||
Name 159 "bigColor7"
|
||||
Name 160 "bigColor8"
|
||||
Name 161 "d"
|
||||
Name 162 "d2"
|
||||
Name 163 "d3"
|
||||
Name 164 "d5"
|
||||
Name 165 "d6"
|
||||
Name 166 "d7"
|
||||
Name 167 "d8"
|
||||
Name 168 "d9"
|
||||
Name 169 "d10"
|
||||
Name 170 "d11"
|
||||
Name 171 "d12"
|
||||
Name 172 "d14"
|
||||
Name 173 "d15"
|
||||
Name 174 "d16"
|
||||
Name 175 "d17"
|
||||
Name 176 "d18"
|
||||
Name 177 "d19"
|
||||
Name 178 "d20"
|
||||
Name 179 "d21"
|
||||
Name 180 "d22"
|
||||
Name 181 "d23"
|
||||
Name 182 "d24"
|
||||
Name 183 "d25"
|
||||
Name 184 "d26"
|
||||
Name 185 "d27"
|
||||
Name 186 "d28"
|
||||
Name 187 "d29"
|
||||
Name 188 "d30"
|
||||
Name 189 "d31"
|
||||
Name 190 "d32"
|
||||
Name 191 "d33"
|
||||
Name 192 "d34"
|
||||
Name 195 "Count"
|
||||
Decorate 12(BaseColor) Smooth
|
||||
Decorate 145(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 147(bigColor) NoStaticUse
|
||||
Decorate 148(bigColor1_1) NoStaticUse
|
||||
Decorate 149(bigColor1_2) NoStaticUse
|
||||
Decorate 150(bigColor1_3) NoStaticUse
|
||||
Decorate 151(bigColor2) NoStaticUse
|
||||
Decorate 152(bigColor3) NoStaticUse
|
||||
Decorate 153(bigColor5) NoStaticUse
|
||||
Decorate 154(bigColor6) NoStaticUse
|
||||
Decorate 155(bigColor7) NoStaticUse
|
||||
Decorate 156(bigColor8) NoStaticUse
|
||||
Decorate 157(d) NoStaticUse
|
||||
Decorate 158(d2) NoStaticUse
|
||||
Decorate 159(d3) NoStaticUse
|
||||
Decorate 160(d5) NoStaticUse
|
||||
Decorate 161(d6) NoStaticUse
|
||||
Decorate 162(d7) NoStaticUse
|
||||
Decorate 163(d8) NoStaticUse
|
||||
Decorate 164(d9) NoStaticUse
|
||||
Decorate 165(d10) NoStaticUse
|
||||
Decorate 166(d11) NoStaticUse
|
||||
Decorate 167(d12) NoStaticUse
|
||||
Decorate 168(d14) NoStaticUse
|
||||
Decorate 169(d15) NoStaticUse
|
||||
Decorate 170(d16) NoStaticUse
|
||||
Decorate 171(d17) NoStaticUse
|
||||
Decorate 172(d18) NoStaticUse
|
||||
Decorate 173(d19) NoStaticUse
|
||||
Decorate 174(d20) NoStaticUse
|
||||
Decorate 175(d21) NoStaticUse
|
||||
Decorate 176(d22) NoStaticUse
|
||||
Decorate 177(d23) NoStaticUse
|
||||
Decorate 178(d24) NoStaticUse
|
||||
Decorate 179(d25) NoStaticUse
|
||||
Decorate 180(d26) NoStaticUse
|
||||
Decorate 181(d27) NoStaticUse
|
||||
Decorate 182(d28) NoStaticUse
|
||||
Decorate 183(d29) NoStaticUse
|
||||
Decorate 184(d30) NoStaticUse
|
||||
Decorate 185(d31) NoStaticUse
|
||||
Decorate 186(d32) NoStaticUse
|
||||
Decorate 187(d33) NoStaticUse
|
||||
Decorate 188(d34) NoStaticUse
|
||||
Decorate 191(Count) NoStaticUse
|
||||
Decorate 149(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 151(bigColor) NoStaticUse
|
||||
Decorate 152(bigColor1_1) NoStaticUse
|
||||
Decorate 153(bigColor1_2) NoStaticUse
|
||||
Decorate 154(bigColor1_3) NoStaticUse
|
||||
Decorate 155(bigColor2) NoStaticUse
|
||||
Decorate 156(bigColor3) NoStaticUse
|
||||
Decorate 157(bigColor5) NoStaticUse
|
||||
Decorate 158(bigColor6) NoStaticUse
|
||||
Decorate 159(bigColor7) NoStaticUse
|
||||
Decorate 160(bigColor8) NoStaticUse
|
||||
Decorate 161(d) NoStaticUse
|
||||
Decorate 162(d2) NoStaticUse
|
||||
Decorate 163(d3) NoStaticUse
|
||||
Decorate 164(d5) NoStaticUse
|
||||
Decorate 165(d6) NoStaticUse
|
||||
Decorate 166(d7) NoStaticUse
|
||||
Decorate 167(d8) NoStaticUse
|
||||
Decorate 168(d9) NoStaticUse
|
||||
Decorate 169(d10) NoStaticUse
|
||||
Decorate 170(d11) NoStaticUse
|
||||
Decorate 171(d12) NoStaticUse
|
||||
Decorate 172(d14) NoStaticUse
|
||||
Decorate 173(d15) NoStaticUse
|
||||
Decorate 174(d16) NoStaticUse
|
||||
Decorate 175(d17) NoStaticUse
|
||||
Decorate 176(d18) NoStaticUse
|
||||
Decorate 177(d19) NoStaticUse
|
||||
Decorate 178(d20) NoStaticUse
|
||||
Decorate 179(d21) NoStaticUse
|
||||
Decorate 180(d22) NoStaticUse
|
||||
Decorate 181(d23) NoStaticUse
|
||||
Decorate 182(d24) NoStaticUse
|
||||
Decorate 183(d25) NoStaticUse
|
||||
Decorate 184(d26) NoStaticUse
|
||||
Decorate 185(d27) NoStaticUse
|
||||
Decorate 186(d28) NoStaticUse
|
||||
Decorate 187(d29) NoStaticUse
|
||||
Decorate 188(d30) NoStaticUse
|
||||
Decorate 189(d31) NoStaticUse
|
||||
Decorate 190(d32) NoStaticUse
|
||||
Decorate 191(d33) NoStaticUse
|
||||
Decorate 192(d34) NoStaticUse
|
||||
Decorate 195(Count) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
@@ -115,61 +115,63 @@ Linked fragment stage:
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypePointer Input 8(fvec4)
|
||||
12(BaseColor): 11(ptr) Variable Input
|
||||
18: TypePointer UniformConstant 8(fvec4)
|
||||
19(bigColor4): 18(ptr) Variable UniformConstant
|
||||
25: TypePointer UniformConstant 7(float)
|
||||
26(d4): 25(ptr) Variable UniformConstant
|
||||
28: TypeBool
|
||||
32: 7(float) Constant 1073741824
|
||||
46: 7(float) Constant 1065353216
|
||||
79(d13): 25(ptr) Variable UniformConstant
|
||||
144: TypePointer Output 8(fvec4)
|
||||
145(gl_FragColor): 144(ptr) Variable Output
|
||||
147(bigColor): 18(ptr) Variable UniformConstant
|
||||
148(bigColor1_1): 18(ptr) Variable UniformConstant
|
||||
149(bigColor1_2): 18(ptr) Variable UniformConstant
|
||||
150(bigColor1_3): 18(ptr) Variable UniformConstant
|
||||
151(bigColor2): 18(ptr) Variable UniformConstant
|
||||
152(bigColor3): 18(ptr) Variable UniformConstant
|
||||
153(bigColor5): 18(ptr) Variable UniformConstant
|
||||
154(bigColor6): 18(ptr) Variable UniformConstant
|
||||
155(bigColor7): 18(ptr) Variable UniformConstant
|
||||
156(bigColor8): 18(ptr) Variable UniformConstant
|
||||
157(d): 25(ptr) Variable UniformConstant
|
||||
158(d2): 25(ptr) Variable UniformConstant
|
||||
159(d3): 25(ptr) Variable UniformConstant
|
||||
160(d5): 25(ptr) Variable UniformConstant
|
||||
161(d6): 25(ptr) Variable UniformConstant
|
||||
162(d7): 25(ptr) Variable UniformConstant
|
||||
163(d8): 25(ptr) Variable UniformConstant
|
||||
164(d9): 25(ptr) Variable UniformConstant
|
||||
165(d10): 25(ptr) Variable UniformConstant
|
||||
166(d11): 25(ptr) Variable UniformConstant
|
||||
167(d12): 25(ptr) Variable UniformConstant
|
||||
168(d14): 25(ptr) Variable UniformConstant
|
||||
169(d15): 25(ptr) Variable UniformConstant
|
||||
170(d16): 25(ptr) Variable UniformConstant
|
||||
171(d17): 25(ptr) Variable UniformConstant
|
||||
172(d18): 25(ptr) Variable UniformConstant
|
||||
173(d19): 25(ptr) Variable UniformConstant
|
||||
174(d20): 25(ptr) Variable UniformConstant
|
||||
175(d21): 25(ptr) Variable UniformConstant
|
||||
176(d22): 25(ptr) Variable UniformConstant
|
||||
177(d23): 25(ptr) Variable UniformConstant
|
||||
178(d24): 25(ptr) Variable UniformConstant
|
||||
179(d25): 25(ptr) Variable UniformConstant
|
||||
180(d26): 25(ptr) Variable UniformConstant
|
||||
181(d27): 25(ptr) Variable UniformConstant
|
||||
182(d28): 25(ptr) Variable UniformConstant
|
||||
183(d29): 25(ptr) Variable UniformConstant
|
||||
184(d30): 25(ptr) Variable UniformConstant
|
||||
185(d31): 25(ptr) Variable UniformConstant
|
||||
186(d32): 25(ptr) Variable UniformConstant
|
||||
187(d33): 25(ptr) Variable UniformConstant
|
||||
188(d34): 25(ptr) Variable UniformConstant
|
||||
189: TypeInt 32 1
|
||||
190: TypePointer UniformConstant 189(int)
|
||||
191(Count): 190(ptr) Variable UniformConstant
|
||||
17: TypeBool
|
||||
18: 17(bool) ConstantTrue
|
||||
24: TypePointer UniformConstant 7(float)
|
||||
25(d4): 24(ptr) Variable UniformConstant
|
||||
29: TypePointer UniformConstant 8(fvec4)
|
||||
30(bigColor4): 29(ptr) Variable UniformConstant
|
||||
40: 7(float) Constant 1073741824
|
||||
54: 7(float) Constant 1065353216
|
||||
58: 17(bool) ConstantFalse
|
||||
83(d13): 24(ptr) Variable UniformConstant
|
||||
148: TypePointer Output 8(fvec4)
|
||||
149(gl_FragColor): 148(ptr) Variable Output
|
||||
151(bigColor): 29(ptr) Variable UniformConstant
|
||||
152(bigColor1_1): 29(ptr) Variable UniformConstant
|
||||
153(bigColor1_2): 29(ptr) Variable UniformConstant
|
||||
154(bigColor1_3): 29(ptr) Variable UniformConstant
|
||||
155(bigColor2): 29(ptr) Variable UniformConstant
|
||||
156(bigColor3): 29(ptr) Variable UniformConstant
|
||||
157(bigColor5): 29(ptr) Variable UniformConstant
|
||||
158(bigColor6): 29(ptr) Variable UniformConstant
|
||||
159(bigColor7): 29(ptr) Variable UniformConstant
|
||||
160(bigColor8): 29(ptr) Variable UniformConstant
|
||||
161(d): 24(ptr) Variable UniformConstant
|
||||
162(d2): 24(ptr) Variable UniformConstant
|
||||
163(d3): 24(ptr) Variable UniformConstant
|
||||
164(d5): 24(ptr) Variable UniformConstant
|
||||
165(d6): 24(ptr) Variable UniformConstant
|
||||
166(d7): 24(ptr) Variable UniformConstant
|
||||
167(d8): 24(ptr) Variable UniformConstant
|
||||
168(d9): 24(ptr) Variable UniformConstant
|
||||
169(d10): 24(ptr) Variable UniformConstant
|
||||
170(d11): 24(ptr) Variable UniformConstant
|
||||
171(d12): 24(ptr) Variable UniformConstant
|
||||
172(d14): 24(ptr) Variable UniformConstant
|
||||
173(d15): 24(ptr) Variable UniformConstant
|
||||
174(d16): 24(ptr) Variable UniformConstant
|
||||
175(d17): 24(ptr) Variable UniformConstant
|
||||
176(d18): 24(ptr) Variable UniformConstant
|
||||
177(d19): 24(ptr) Variable UniformConstant
|
||||
178(d20): 24(ptr) Variable UniformConstant
|
||||
179(d21): 24(ptr) Variable UniformConstant
|
||||
180(d22): 24(ptr) Variable UniformConstant
|
||||
181(d23): 24(ptr) Variable UniformConstant
|
||||
182(d24): 24(ptr) Variable UniformConstant
|
||||
183(d25): 24(ptr) Variable UniformConstant
|
||||
184(d26): 24(ptr) Variable UniformConstant
|
||||
185(d27): 24(ptr) Variable UniformConstant
|
||||
186(d28): 24(ptr) Variable UniformConstant
|
||||
187(d29): 24(ptr) Variable UniformConstant
|
||||
188(d30): 24(ptr) Variable UniformConstant
|
||||
189(d31): 24(ptr) Variable UniformConstant
|
||||
190(d32): 24(ptr) Variable UniformConstant
|
||||
191(d33): 24(ptr) Variable UniformConstant
|
||||
192(d34): 24(ptr) Variable UniformConstant
|
||||
193: TypeInt 32 1
|
||||
194: TypePointer UniformConstant 193(int)
|
||||
195(Count): 194(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(color): 9(ptr) Variable Function
|
||||
@@ -177,173 +179,178 @@ Linked fragment stage:
|
||||
Store 10(color) 13
|
||||
Branch 14
|
||||
14: Label
|
||||
16: 17(bool) Phi 18 5 58 50 58 65
|
||||
LoopMerge 15 None
|
||||
Branch 16
|
||||
16: Label
|
||||
20: 8(fvec4) Load 19(bigColor4)
|
||||
21: 8(fvec4) Load 10(color)
|
||||
22: 8(fvec4) FAdd 21 20
|
||||
Store 10(color) 22
|
||||
23: 8(fvec4) Load 10(color)
|
||||
24: 7(float) CompositeExtract 23 0
|
||||
27: 7(float) Load 26(d4)
|
||||
29: 28(bool) FOrdLessThan 24 27
|
||||
SelectionMerge 31 None
|
||||
BranchConditional 29 30 31
|
||||
30: Label
|
||||
33: 8(fvec4) Load 10(color)
|
||||
34: 7(float) CompositeExtract 33 2
|
||||
35: 7(float) FAdd 34 32
|
||||
36: 8(fvec4) Load 10(color)
|
||||
37: 8(fvec4) CompositeInsert 35 36 2
|
||||
Store 10(color) 37
|
||||
38: 8(fvec4) Load 10(color)
|
||||
39: 7(float) CompositeExtract 38 2
|
||||
40: 7(float) Load 26(d4)
|
||||
41: 28(bool) FOrdLessThan 39 40
|
||||
SelectionMerge 43 None
|
||||
BranchConditional 41 42 43
|
||||
42: Label
|
||||
44: 8(fvec4) Load 10(color)
|
||||
45: 7(float) CompositeExtract 44 0
|
||||
47: 7(float) FAdd 45 46
|
||||
48: 8(fvec4) Load 10(color)
|
||||
49: 8(fvec4) CompositeInsert 47 48 0
|
||||
Store 10(color) 49
|
||||
Branch 17
|
||||
43: Label
|
||||
Branch 31
|
||||
31: Label
|
||||
51: 8(fvec4) Load 10(color)
|
||||
52: 7(float) CompositeExtract 51 1
|
||||
53: 7(float) Load 26(d4)
|
||||
54: 28(bool) FOrdLessThan 52 53
|
||||
SelectionMerge 56 None
|
||||
BranchConditional 54 55 63
|
||||
55: Label
|
||||
57: 7(float) Load 26(d4)
|
||||
58: 8(fvec4) Load 10(color)
|
||||
59: 7(float) CompositeExtract 58 1
|
||||
60: 7(float) FAdd 59 57
|
||||
61: 8(fvec4) Load 10(color)
|
||||
62: 8(fvec4) CompositeInsert 60 61 1
|
||||
Store 10(color) 62
|
||||
Branch 56
|
||||
63: Label
|
||||
64: 7(float) Load 26(d4)
|
||||
65: 8(fvec4) Load 10(color)
|
||||
66: 7(float) CompositeExtract 65 0
|
||||
67: 7(float) FAdd 66 64
|
||||
68: 8(fvec4) Load 10(color)
|
||||
69: 8(fvec4) CompositeInsert 67 68 0
|
||||
Store 10(color) 69
|
||||
Branch 56
|
||||
56: Label
|
||||
Branch 17
|
||||
17: Label
|
||||
70: 8(fvec4) Load 10(color)
|
||||
71: 7(float) CompositeExtract 70 2
|
||||
72: 7(float) Load 26(d4)
|
||||
73: 28(bool) FOrdLessThan 71 72
|
||||
BranchConditional 73 74 15
|
||||
74: Label
|
||||
Branch 19
|
||||
19: Label
|
||||
SelectionMerge 20 None
|
||||
BranchConditional 16 20 21
|
||||
21: Label
|
||||
22: 8(fvec4) Load 10(color)
|
||||
23: 7(float) CompositeExtract 22 2
|
||||
26: 7(float) Load 25(d4)
|
||||
27: 17(bool) FOrdLessThan 23 26
|
||||
SelectionMerge 28 None
|
||||
BranchConditional 27 28 15
|
||||
28: Label
|
||||
Branch 20
|
||||
20: Label
|
||||
31: 8(fvec4) Load 30(bigColor4)
|
||||
32: 8(fvec4) Load 10(color)
|
||||
33: 8(fvec4) FAdd 32 31
|
||||
Store 10(color) 33
|
||||
34: 8(fvec4) Load 10(color)
|
||||
35: 7(float) CompositeExtract 34 0
|
||||
36: 7(float) Load 25(d4)
|
||||
37: 17(bool) FOrdLessThan 35 36
|
||||
SelectionMerge 39 None
|
||||
BranchConditional 37 38 39
|
||||
38: Label
|
||||
41: 8(fvec4) Load 10(color)
|
||||
42: 7(float) CompositeExtract 41 2
|
||||
43: 7(float) FAdd 42 40
|
||||
44: 8(fvec4) Load 10(color)
|
||||
45: 8(fvec4) CompositeInsert 43 44 2
|
||||
Store 10(color) 45
|
||||
46: 8(fvec4) Load 10(color)
|
||||
47: 7(float) CompositeExtract 46 2
|
||||
48: 7(float) Load 25(d4)
|
||||
49: 17(bool) FOrdLessThan 47 48
|
||||
SelectionMerge 51 None
|
||||
BranchConditional 49 50 51
|
||||
50: Label
|
||||
52: 8(fvec4) Load 10(color)
|
||||
53: 7(float) CompositeExtract 52 0
|
||||
55: 7(float) FAdd 53 54
|
||||
56: 8(fvec4) Load 10(color)
|
||||
57: 8(fvec4) CompositeInsert 55 56 0
|
||||
Store 10(color) 57
|
||||
Branch 14
|
||||
51: Label
|
||||
Branch 39
|
||||
39: Label
|
||||
60: 8(fvec4) Load 10(color)
|
||||
61: 7(float) CompositeExtract 60 1
|
||||
62: 7(float) Load 25(d4)
|
||||
63: 17(bool) FOrdLessThan 61 62
|
||||
SelectionMerge 65 None
|
||||
BranchConditional 63 64 72
|
||||
64: Label
|
||||
66: 7(float) Load 25(d4)
|
||||
67: 8(fvec4) Load 10(color)
|
||||
68: 7(float) CompositeExtract 67 1
|
||||
69: 7(float) FAdd 68 66
|
||||
70: 8(fvec4) Load 10(color)
|
||||
71: 8(fvec4) CompositeInsert 69 70 1
|
||||
Store 10(color) 71
|
||||
Branch 65
|
||||
72: Label
|
||||
73: 7(float) Load 25(d4)
|
||||
74: 8(fvec4) Load 10(color)
|
||||
75: 7(float) CompositeExtract 74 0
|
||||
76: 7(float) FAdd 75 73
|
||||
77: 8(fvec4) Load 10(color)
|
||||
78: 8(fvec4) CompositeInsert 76 77 0
|
||||
Store 10(color) 78
|
||||
Branch 65
|
||||
65: Label
|
||||
Branch 14
|
||||
15: Label
|
||||
Branch 75
|
||||
75: Label
|
||||
77: 8(fvec4) Load 10(color)
|
||||
78: 7(float) CompositeExtract 77 3
|
||||
80: 7(float) Load 79(d13)
|
||||
81: 28(bool) FOrdLessThan 78 80
|
||||
LoopMerge 76 None
|
||||
BranchConditional 81 82 76
|
||||
82: Label
|
||||
83: 8(fvec4) Load 10(color)
|
||||
84: 7(float) CompositeExtract 83 2
|
||||
85: 7(float) Load 79(d13)
|
||||
86: 28(bool) FOrdLessThan 84 85
|
||||
SelectionMerge 88 None
|
||||
BranchConditional 86 87 92
|
||||
87: Label
|
||||
89: 8(fvec4) Load 10(color)
|
||||
90: 8(fvec4) CompositeConstruct 46 46 46 46
|
||||
91: 8(fvec4) FAdd 89 90
|
||||
Store 10(color) 91
|
||||
Branch 88
|
||||
92: Label
|
||||
Branch 79
|
||||
79: Label
|
||||
81: 8(fvec4) Load 10(color)
|
||||
82: 7(float) CompositeExtract 81 3
|
||||
84: 7(float) Load 83(d13)
|
||||
85: 17(bool) FOrdLessThan 82 84
|
||||
LoopMerge 80 None
|
||||
BranchConditional 85 86 80
|
||||
86: Label
|
||||
87: 8(fvec4) Load 10(color)
|
||||
88: 7(float) CompositeExtract 87 2
|
||||
89: 7(float) Load 83(d13)
|
||||
90: 17(bool) FOrdLessThan 88 89
|
||||
SelectionMerge 92 None
|
||||
BranchConditional 90 91 96
|
||||
91: Label
|
||||
93: 8(fvec4) Load 10(color)
|
||||
94: 8(fvec4) CompositeConstruct 46 46 46 46
|
||||
95: 8(fvec4) FSub 93 94
|
||||
94: 8(fvec4) CompositeConstruct 54 54 54 54
|
||||
95: 8(fvec4) FAdd 93 94
|
||||
Store 10(color) 95
|
||||
Branch 88
|
||||
88: Label
|
||||
96: 8(fvec4) Load 19(bigColor4)
|
||||
97: 8(fvec4) Load 10(color)
|
||||
98: 8(fvec4) FAdd 97 96
|
||||
Store 10(color) 98
|
||||
99: 8(fvec4) Load 10(color)
|
||||
100: 7(float) CompositeExtract 99 0
|
||||
101: 7(float) Load 26(d4)
|
||||
102: 28(bool) FOrdLessThan 100 101
|
||||
SelectionMerge 104 None
|
||||
BranchConditional 102 103 104
|
||||
103: Label
|
||||
105: 8(fvec4) Load 10(color)
|
||||
106: 7(float) CompositeExtract 105 2
|
||||
107: 7(float) FAdd 106 32
|
||||
108: 8(fvec4) Load 10(color)
|
||||
109: 8(fvec4) CompositeInsert 107 108 2
|
||||
Store 10(color) 109
|
||||
110: 8(fvec4) Load 10(color)
|
||||
111: 7(float) CompositeExtract 110 2
|
||||
112: 7(float) Load 26(d4)
|
||||
113: 28(bool) FOrdLessThan 111 112
|
||||
SelectionMerge 115 None
|
||||
BranchConditional 113 114 115
|
||||
114: Label
|
||||
116: 8(fvec4) Load 10(color)
|
||||
117: 7(float) CompositeExtract 116 0
|
||||
118: 7(float) FAdd 117 46
|
||||
119: 8(fvec4) Load 10(color)
|
||||
120: 8(fvec4) CompositeInsert 118 119 0
|
||||
Store 10(color) 120
|
||||
Branch 75
|
||||
115: Label
|
||||
Branch 104
|
||||
104: Label
|
||||
122: 8(fvec4) Load 10(color)
|
||||
123: 7(float) CompositeExtract 122 1
|
||||
124: 7(float) Load 26(d4)
|
||||
125: 28(bool) FOrdLessThan 123 124
|
||||
SelectionMerge 127 None
|
||||
BranchConditional 125 126 134
|
||||
126: Label
|
||||
128: 7(float) Load 26(d4)
|
||||
129: 8(fvec4) Load 10(color)
|
||||
130: 7(float) CompositeExtract 129 1
|
||||
131: 7(float) FAdd 130 128
|
||||
132: 8(fvec4) Load 10(color)
|
||||
133: 8(fvec4) CompositeInsert 131 132 1
|
||||
Store 10(color) 133
|
||||
Branch 127
|
||||
134: Label
|
||||
135: 7(float) Load 26(d4)
|
||||
Branch 92
|
||||
96: Label
|
||||
97: 8(fvec4) Load 10(color)
|
||||
98: 8(fvec4) CompositeConstruct 54 54 54 54
|
||||
99: 8(fvec4) FSub 97 98
|
||||
Store 10(color) 99
|
||||
Branch 92
|
||||
92: Label
|
||||
100: 8(fvec4) Load 30(bigColor4)
|
||||
101: 8(fvec4) Load 10(color)
|
||||
102: 8(fvec4) FAdd 101 100
|
||||
Store 10(color) 102
|
||||
103: 8(fvec4) Load 10(color)
|
||||
104: 7(float) CompositeExtract 103 0
|
||||
105: 7(float) Load 25(d4)
|
||||
106: 17(bool) FOrdLessThan 104 105
|
||||
SelectionMerge 108 None
|
||||
BranchConditional 106 107 108
|
||||
107: Label
|
||||
109: 8(fvec4) Load 10(color)
|
||||
110: 7(float) CompositeExtract 109 2
|
||||
111: 7(float) FAdd 110 40
|
||||
112: 8(fvec4) Load 10(color)
|
||||
113: 8(fvec4) CompositeInsert 111 112 2
|
||||
Store 10(color) 113
|
||||
114: 8(fvec4) Load 10(color)
|
||||
115: 7(float) CompositeExtract 114 2
|
||||
116: 7(float) Load 25(d4)
|
||||
117: 17(bool) FOrdLessThan 115 116
|
||||
SelectionMerge 119 None
|
||||
BranchConditional 117 118 119
|
||||
118: Label
|
||||
120: 8(fvec4) Load 10(color)
|
||||
121: 7(float) CompositeExtract 120 0
|
||||
122: 7(float) FAdd 121 54
|
||||
123: 8(fvec4) Load 10(color)
|
||||
124: 8(fvec4) CompositeInsert 122 123 0
|
||||
Store 10(color) 124
|
||||
Branch 79
|
||||
119: Label
|
||||
Branch 108
|
||||
108: Label
|
||||
126: 8(fvec4) Load 10(color)
|
||||
127: 7(float) CompositeExtract 126 1
|
||||
128: 7(float) Load 25(d4)
|
||||
129: 17(bool) FOrdLessThan 127 128
|
||||
SelectionMerge 131 None
|
||||
BranchConditional 129 130 138
|
||||
130: Label
|
||||
132: 7(float) Load 25(d4)
|
||||
133: 8(fvec4) Load 10(color)
|
||||
134: 7(float) CompositeExtract 133 1
|
||||
135: 7(float) FAdd 134 132
|
||||
136: 8(fvec4) Load 10(color)
|
||||
137: 7(float) CompositeExtract 136 0
|
||||
138: 7(float) FAdd 137 135
|
||||
139: 8(fvec4) Load 10(color)
|
||||
140: 8(fvec4) CompositeInsert 138 139 0
|
||||
Store 10(color) 140
|
||||
Branch 127
|
||||
127: Label
|
||||
Branch 75
|
||||
76: Label
|
||||
141: 8(fvec4) Load 10(color)
|
||||
142: 8(fvec4) CompositeConstruct 46 46 46 46
|
||||
143: 8(fvec4) FAdd 141 142
|
||||
Store 10(color) 143
|
||||
146: 8(fvec4) Load 10(color)
|
||||
Store 145(gl_FragColor) 146
|
||||
137: 8(fvec4) CompositeInsert 135 136 1
|
||||
Store 10(color) 137
|
||||
Branch 131
|
||||
138: Label
|
||||
139: 7(float) Load 25(d4)
|
||||
140: 8(fvec4) Load 10(color)
|
||||
141: 7(float) CompositeExtract 140 0
|
||||
142: 7(float) FAdd 141 139
|
||||
143: 8(fvec4) Load 10(color)
|
||||
144: 8(fvec4) CompositeInsert 142 143 0
|
||||
Store 10(color) 144
|
||||
Branch 131
|
||||
131: Label
|
||||
Branch 79
|
||||
80: Label
|
||||
145: 8(fvec4) Load 10(color)
|
||||
146: 8(fvec4) CompositeConstruct 54 54 54 54
|
||||
147: 8(fvec4) FAdd 145 146
|
||||
Store 10(color) 147
|
||||
150: 8(fvec4) Load 10(color)
|
||||
Store 149(gl_FragColor) 150
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
|
||||
Reference in New Issue
Block a user