Split loop header from condition testing for for/while loops.

This commit is contained in:
Dejan Mircevski 2016-01-20 11:51:43 -05:00
parent 7349eab099
commit 213bbbe4a7
14 changed files with 1905 additions and 1828 deletions

View file

@ -7,12 +7,12 @@ Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 187
// Id's are bound by 188
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 11 140
EntryPoint Fragment 4 "main" 11 141
ExecutionMode 4 OriginLowerLeft
Source GLSL 130
Name 4 "main"
@ -20,51 +20,51 @@ Linked fragment stage:
Name 11 "BaseColor"
Name 18 "bigColor4"
Name 28 "d4"
Name 80 "d13"
Name 140 "gl_FragColor"
Name 142 "bigColor"
Name 143 "bigColor1_1"
Name 144 "bigColor1_2"
Name 145 "bigColor1_3"
Name 146 "bigColor2"
Name 147 "bigColor3"
Name 148 "bigColor5"
Name 149 "bigColor6"
Name 150 "bigColor7"
Name 151 "bigColor8"
Name 152 "d"
Name 153 "d2"
Name 154 "d3"
Name 155 "d5"
Name 156 "d6"
Name 157 "d7"
Name 158 "d8"
Name 159 "d9"
Name 160 "d10"
Name 161 "d11"
Name 162 "d12"
Name 163 "d14"
Name 164 "d15"
Name 165 "d16"
Name 166 "d17"
Name 167 "d18"
Name 168 "d19"
Name 169 "d20"
Name 170 "d21"
Name 171 "d22"
Name 172 "d23"
Name 173 "d24"
Name 174 "d25"
Name 175 "d26"
Name 176 "d27"
Name 177 "d28"
Name 178 "d29"
Name 179 "d30"
Name 180 "d31"
Name 181 "d32"
Name 182 "d33"
Name 183 "d34"
Name 186 "Count"
Name 81 "d13"
Name 141 "gl_FragColor"
Name 143 "bigColor"
Name 144 "bigColor1_1"
Name 145 "bigColor1_2"
Name 146 "bigColor1_3"
Name 147 "bigColor2"
Name 148 "bigColor3"
Name 149 "bigColor5"
Name 150 "bigColor6"
Name 151 "bigColor7"
Name 152 "bigColor8"
Name 153 "d"
Name 154 "d2"
Name 155 "d3"
Name 156 "d5"
Name 157 "d6"
Name 158 "d7"
Name 159 "d8"
Name 160 "d9"
Name 161 "d10"
Name 162 "d11"
Name 163 "d12"
Name 164 "d14"
Name 165 "d15"
Name 166 "d16"
Name 167 "d17"
Name 168 "d18"
Name 169 "d19"
Name 170 "d20"
Name 171 "d21"
Name 172 "d22"
Name 173 "d23"
Name 174 "d24"
Name 175 "d25"
Name 176 "d26"
Name 177 "d27"
Name 178 "d28"
Name 179 "d29"
Name 180 "d30"
Name 181 "d31"
Name 182 "d32"
Name 183 "d33"
Name 184 "d34"
Name 187 "Count"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -84,55 +84,55 @@ Linked fragment stage:
35: 22(int) Constant 2
48: 6(float) Constant 1065353216
51: 22(int) Constant 1
77: 22(int) Constant 3
80(d13): 27(ptr) Variable UniformConstant
139: TypePointer Output 7(fvec4)
140(gl_FragColor): 139(ptr) Variable Output
142(bigColor): 17(ptr) Variable UniformConstant
143(bigColor1_1): 17(ptr) Variable UniformConstant
144(bigColor1_2): 17(ptr) Variable UniformConstant
145(bigColor1_3): 17(ptr) Variable UniformConstant
146(bigColor2): 17(ptr) Variable UniformConstant
147(bigColor3): 17(ptr) Variable UniformConstant
148(bigColor5): 17(ptr) Variable UniformConstant
149(bigColor6): 17(ptr) Variable UniformConstant
150(bigColor7): 17(ptr) Variable UniformConstant
151(bigColor8): 17(ptr) Variable UniformConstant
152(d): 27(ptr) Variable UniformConstant
153(d2): 27(ptr) Variable UniformConstant
154(d3): 27(ptr) Variable UniformConstant
155(d5): 27(ptr) Variable UniformConstant
156(d6): 27(ptr) Variable UniformConstant
157(d7): 27(ptr) Variable UniformConstant
158(d8): 27(ptr) Variable UniformConstant
159(d9): 27(ptr) Variable UniformConstant
160(d10): 27(ptr) Variable UniformConstant
161(d11): 27(ptr) Variable UniformConstant
162(d12): 27(ptr) Variable UniformConstant
163(d14): 27(ptr) Variable UniformConstant
164(d15): 27(ptr) Variable UniformConstant
165(d16): 27(ptr) Variable UniformConstant
166(d17): 27(ptr) Variable UniformConstant
167(d18): 27(ptr) Variable UniformConstant
168(d19): 27(ptr) Variable UniformConstant
169(d20): 27(ptr) Variable UniformConstant
170(d21): 27(ptr) Variable UniformConstant
171(d22): 27(ptr) Variable UniformConstant
172(d23): 27(ptr) Variable UniformConstant
173(d24): 27(ptr) Variable UniformConstant
174(d25): 27(ptr) Variable UniformConstant
175(d26): 27(ptr) Variable UniformConstant
176(d27): 27(ptr) Variable UniformConstant
177(d28): 27(ptr) Variable UniformConstant
178(d29): 27(ptr) Variable UniformConstant
179(d30): 27(ptr) Variable UniformConstant
180(d31): 27(ptr) Variable UniformConstant
181(d32): 27(ptr) Variable UniformConstant
182(d33): 27(ptr) Variable UniformConstant
183(d34): 27(ptr) Variable UniformConstant
184: TypeInt 32 1
185: TypePointer UniformConstant 184(int)
186(Count): 185(ptr) Variable UniformConstant
78: 22(int) Constant 3
81(d13): 27(ptr) Variable UniformConstant
140: TypePointer Output 7(fvec4)
141(gl_FragColor): 140(ptr) Variable Output
143(bigColor): 17(ptr) Variable UniformConstant
144(bigColor1_1): 17(ptr) Variable UniformConstant
145(bigColor1_2): 17(ptr) Variable UniformConstant
146(bigColor1_3): 17(ptr) Variable UniformConstant
147(bigColor2): 17(ptr) Variable UniformConstant
148(bigColor3): 17(ptr) Variable UniformConstant
149(bigColor5): 17(ptr) Variable UniformConstant
150(bigColor6): 17(ptr) Variable UniformConstant
151(bigColor7): 17(ptr) Variable UniformConstant
152(bigColor8): 17(ptr) Variable UniformConstant
153(d): 27(ptr) Variable UniformConstant
154(d2): 27(ptr) Variable UniformConstant
155(d3): 27(ptr) Variable UniformConstant
156(d5): 27(ptr) Variable UniformConstant
157(d6): 27(ptr) Variable UniformConstant
158(d7): 27(ptr) Variable UniformConstant
159(d8): 27(ptr) Variable UniformConstant
160(d9): 27(ptr) Variable UniformConstant
161(d10): 27(ptr) Variable UniformConstant
162(d11): 27(ptr) Variable UniformConstant
163(d12): 27(ptr) Variable UniformConstant
164(d14): 27(ptr) Variable UniformConstant
165(d15): 27(ptr) Variable UniformConstant
166(d16): 27(ptr) Variable UniformConstant
167(d17): 27(ptr) Variable UniformConstant
168(d18): 27(ptr) Variable UniformConstant
169(d19): 27(ptr) Variable UniformConstant
170(d20): 27(ptr) Variable UniformConstant
171(d21): 27(ptr) Variable UniformConstant
172(d22): 27(ptr) Variable UniformConstant
173(d23): 27(ptr) Variable UniformConstant
174(d24): 27(ptr) Variable UniformConstant
175(d25): 27(ptr) Variable UniformConstant
176(d26): 27(ptr) Variable UniformConstant
177(d27): 27(ptr) Variable UniformConstant
178(d28): 27(ptr) Variable UniformConstant
179(d29): 27(ptr) Variable UniformConstant
180(d30): 27(ptr) Variable UniformConstant
181(d31): 27(ptr) Variable UniformConstant
182(d32): 27(ptr) Variable UniformConstant
183(d33): 27(ptr) Variable UniformConstant
184(d34): 27(ptr) Variable UniformConstant
185: TypeInt 32 1
186: TypePointer UniformConstant 185(int)
187(Count): 186(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(color): 8(ptr) Variable Function
@ -207,95 +207,97 @@ Linked fragment stage:
15: Label
Branch 73
73: Label
78: 24(ptr) AccessChain 9(color) 77
79: 6(float) Load 78
81: 6(float) Load 80(d13)
82: 30(bool) FOrdLessThan 79 81
LoopMerge 75 76 None
BranchConditional 82 74 75
Branch 77
77: Label
79: 24(ptr) AccessChain 9(color) 78
80: 6(float) Load 79
82: 6(float) Load 81(d13)
83: 30(bool) FOrdLessThan 80 82
BranchConditional 83 74 75
74: Label
83: 24(ptr) AccessChain 9(color) 35
84: 6(float) Load 83
85: 6(float) Load 80(d13)
86: 30(bool) FOrdLessThan 84 85
SelectionMerge 88 None
BranchConditional 86 87 92
87: Label
89: 7(fvec4) Load 9(color)
90: 7(fvec4) CompositeConstruct 48 48 48 48
91: 7(fvec4) FAdd 89 90
Store 9(color) 91
Branch 88
92: Label
93: 7(fvec4) Load 9(color)
94: 7(fvec4) CompositeConstruct 48 48 48 48
95: 7(fvec4) FSub 93 94
Store 9(color) 95
Branch 88
88: Label
96: 7(fvec4) Load 18(bigColor4)
97: 7(fvec4) Load 9(color)
98: 7(fvec4) FAdd 97 96
Store 9(color) 98
99: 24(ptr) AccessChain 9(color) 23
100: 6(float) Load 99
101: 6(float) Load 28(d4)
102: 30(bool) FOrdLessThan 100 101
SelectionMerge 104 None
BranchConditional 102 103 104
103: Label
105: 24(ptr) AccessChain 9(color) 35
106: 6(float) Load 105
107: 6(float) FAdd 106 34
108: 24(ptr) AccessChain 9(color) 35
Store 108 107
84: 24(ptr) AccessChain 9(color) 35
85: 6(float) Load 84
86: 6(float) Load 81(d13)
87: 30(bool) FOrdLessThan 85 86
SelectionMerge 89 None
BranchConditional 87 88 93
88: Label
90: 7(fvec4) Load 9(color)
91: 7(fvec4) CompositeConstruct 48 48 48 48
92: 7(fvec4) FAdd 90 91
Store 9(color) 92
Branch 89
93: Label
94: 7(fvec4) Load 9(color)
95: 7(fvec4) CompositeConstruct 48 48 48 48
96: 7(fvec4) FSub 94 95
Store 9(color) 96
Branch 89
89: Label
97: 7(fvec4) Load 18(bigColor4)
98: 7(fvec4) Load 9(color)
99: 7(fvec4) FAdd 98 97
Store 9(color) 99
100: 24(ptr) AccessChain 9(color) 23
101: 6(float) Load 100
102: 6(float) Load 28(d4)
103: 30(bool) FOrdLessThan 101 102
SelectionMerge 105 None
BranchConditional 103 104 105
104: Label
106: 24(ptr) AccessChain 9(color) 35
107: 6(float) Load 106
108: 6(float) FAdd 107 34
109: 24(ptr) AccessChain 9(color) 35
110: 6(float) Load 109
111: 6(float) Load 28(d4)
112: 30(bool) FOrdLessThan 110 111
SelectionMerge 114 None
BranchConditional 112 113 114
113: Label
115: 24(ptr) AccessChain 9(color) 23
116: 6(float) Load 115
117: 6(float) FAdd 116 48
Store 115 117
Store 109 108
110: 24(ptr) AccessChain 9(color) 35
111: 6(float) Load 110
112: 6(float) Load 28(d4)
113: 30(bool) FOrdLessThan 111 112
SelectionMerge 115 None
BranchConditional 113 114 115
114: Label
116: 24(ptr) AccessChain 9(color) 23
117: 6(float) Load 116
118: 6(float) FAdd 117 48
Store 116 118
Branch 76
114: Label
Branch 104
104: Label
119: 24(ptr) AccessChain 9(color) 51
120: 6(float) Load 119
121: 6(float) Load 28(d4)
122: 30(bool) FOrdLessThan 120 121
SelectionMerge 124 None
BranchConditional 122 123 130
123: Label
125: 6(float) Load 28(d4)
126: 24(ptr) AccessChain 9(color) 51
127: 6(float) Load 126
128: 6(float) FAdd 127 125
129: 24(ptr) AccessChain 9(color) 51
Store 129 128
Branch 124
130: Label
131: 6(float) Load 28(d4)
132: 24(ptr) AccessChain 9(color) 23
133: 6(float) Load 132
134: 6(float) FAdd 133 131
135: 24(ptr) AccessChain 9(color) 23
Store 135 134
Branch 124
124: Label
115: Label
Branch 105
105: Label
120: 24(ptr) AccessChain 9(color) 51
121: 6(float) Load 120
122: 6(float) Load 28(d4)
123: 30(bool) FOrdLessThan 121 122
SelectionMerge 125 None
BranchConditional 123 124 131
124: Label
126: 6(float) Load 28(d4)
127: 24(ptr) AccessChain 9(color) 51
128: 6(float) Load 127
129: 6(float) FAdd 128 126
130: 24(ptr) AccessChain 9(color) 51
Store 130 129
Branch 125
131: Label
132: 6(float) Load 28(d4)
133: 24(ptr) AccessChain 9(color) 23
134: 6(float) Load 133
135: 6(float) FAdd 134 132
136: 24(ptr) AccessChain 9(color) 23
Store 136 135
Branch 125
125: Label
Branch 76
76: Label
Branch 73
75: Label
136: 7(fvec4) Load 9(color)
137: 7(fvec4) CompositeConstruct 48 48 48 48
138: 7(fvec4) FAdd 136 137
Store 9(color) 138
141: 7(fvec4) Load 9(color)
Store 140(gl_FragColor) 141
137: 7(fvec4) Load 9(color)
138: 7(fvec4) CompositeConstruct 48 48 48 48
139: 7(fvec4) FAdd 137 138
Store 9(color) 139
142: 7(fvec4) Load 9(color)
Store 141(gl_FragColor) 142
Return
FunctionEnd