• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5OpExecutionMode %_entrypoint_v OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "colorGreen"
10OpMemberName %_UniformBuffer 1 "colorRed"
11OpMemberName %_UniformBuffer 2 "colorBlack"
12OpMemberName %_UniformBuffer 3 "colorWhite"
13OpMemberName %_UniformBuffer 4 "testInputs"
14OpName %_entrypoint_v "_entrypoint_v"
15OpName %main "main"
16OpName %intGreen "intGreen"
17OpName %intRed "intRed"
18OpDecorate %sk_FragColor RelaxedPrecision
19OpDecorate %sk_FragColor Location 0
20OpDecorate %sk_FragColor Index 0
21OpDecorate %sk_Clockwise BuiltIn FrontFacing
22OpMemberDecorate %_UniformBuffer 0 Offset 0
23OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
24OpMemberDecorate %_UniformBuffer 1 Offset 16
25OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
26OpMemberDecorate %_UniformBuffer 2 Offset 32
27OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
28OpMemberDecorate %_UniformBuffer 3 Offset 48
29OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision
30OpMemberDecorate %_UniformBuffer 4 Offset 64
31OpMemberDecorate %_UniformBuffer 4 RelaxedPrecision
32OpDecorate %_UniformBuffer Block
33OpDecorate %10 Binding 0
34OpDecorate %10 DescriptorSet 0
35OpDecorate %33 RelaxedPrecision
36OpDecorate %35 RelaxedPrecision
37OpDecorate %36 RelaxedPrecision
38OpDecorate %38 RelaxedPrecision
39OpDecorate %40 RelaxedPrecision
40OpDecorate %42 RelaxedPrecision
41OpDecorate %48 RelaxedPrecision
42OpDecorate %49 RelaxedPrecision
43OpDecorate %50 RelaxedPrecision
44OpDecorate %52 RelaxedPrecision
45OpDecorate %54 RelaxedPrecision
46OpDecorate %56 RelaxedPrecision
47OpDecorate %248 RelaxedPrecision
48OpDecorate %249 RelaxedPrecision
49OpDecorate %251 RelaxedPrecision
50OpDecorate %252 RelaxedPrecision
51OpDecorate %254 RelaxedPrecision
52OpDecorate %255 RelaxedPrecision
53OpDecorate %257 RelaxedPrecision
54OpDecorate %258 RelaxedPrecision
55OpDecorate %260 RelaxedPrecision
56OpDecorate %261 RelaxedPrecision
57OpDecorate %268 RelaxedPrecision
58OpDecorate %269 RelaxedPrecision
59OpDecorate %271 RelaxedPrecision
60OpDecorate %272 RelaxedPrecision
61OpDecorate %274 RelaxedPrecision
62OpDecorate %275 RelaxedPrecision
63OpDecorate %277 RelaxedPrecision
64OpDecorate %278 RelaxedPrecision
65OpDecorate %280 RelaxedPrecision
66OpDecorate %281 RelaxedPrecision
67OpDecorate %289 RelaxedPrecision
68OpDecorate %290 RelaxedPrecision
69OpDecorate %293 RelaxedPrecision
70OpDecorate %294 RelaxedPrecision
71OpDecorate %296 RelaxedPrecision
72OpDecorate %297 RelaxedPrecision
73OpDecorate %299 RelaxedPrecision
74OpDecorate %300 RelaxedPrecision
75OpDecorate %302 RelaxedPrecision
76OpDecorate %303 RelaxedPrecision
77OpDecorate %311 RelaxedPrecision
78OpDecorate %313 RelaxedPrecision
79OpDecorate %315 RelaxedPrecision
80OpDecorate %317 RelaxedPrecision
81OpDecorate %319 RelaxedPrecision
82OpDecorate %327 RelaxedPrecision
83OpDecorate %328 RelaxedPrecision
84OpDecorate %330 RelaxedPrecision
85OpDecorate %331 RelaxedPrecision
86OpDecorate %333 RelaxedPrecision
87OpDecorate %334 RelaxedPrecision
88OpDecorate %336 RelaxedPrecision
89OpDecorate %337 RelaxedPrecision
90OpDecorate %339 RelaxedPrecision
91OpDecorate %340 RelaxedPrecision
92OpDecorate %347 RelaxedPrecision
93OpDecorate %348 RelaxedPrecision
94OpDecorate %350 RelaxedPrecision
95OpDecorate %351 RelaxedPrecision
96OpDecorate %353 RelaxedPrecision
97OpDecorate %354 RelaxedPrecision
98OpDecorate %356 RelaxedPrecision
99OpDecorate %357 RelaxedPrecision
100OpDecorate %359 RelaxedPrecision
101OpDecorate %360 RelaxedPrecision
102OpDecorate %368 RelaxedPrecision
103OpDecorate %369 RelaxedPrecision
104OpDecorate %371 RelaxedPrecision
105OpDecorate %372 RelaxedPrecision
106OpDecorate %374 RelaxedPrecision
107OpDecorate %375 RelaxedPrecision
108OpDecorate %377 RelaxedPrecision
109OpDecorate %378 RelaxedPrecision
110OpDecorate %380 RelaxedPrecision
111OpDecorate %381 RelaxedPrecision
112OpDecorate %389 RelaxedPrecision
113OpDecorate %391 RelaxedPrecision
114OpDecorate %393 RelaxedPrecision
115OpDecorate %395 RelaxedPrecision
116OpDecorate %397 RelaxedPrecision
117OpDecorate %404 RelaxedPrecision
118OpDecorate %405 RelaxedPrecision
119OpDecorate %411 RelaxedPrecision
120OpDecorate %413 RelaxedPrecision
121OpDecorate %414 RelaxedPrecision
122OpDecorate %420 RelaxedPrecision
123OpDecorate %422 RelaxedPrecision
124OpDecorate %423 RelaxedPrecision
125OpDecorate %429 RelaxedPrecision
126OpDecorate %431 RelaxedPrecision
127OpDecorate %438 RelaxedPrecision
128OpDecorate %439 RelaxedPrecision
129OpDecorate %444 RelaxedPrecision
130OpDecorate %446 RelaxedPrecision
131OpDecorate %447 RelaxedPrecision
132OpDecorate %453 RelaxedPrecision
133OpDecorate %455 RelaxedPrecision
134OpDecorate %456 RelaxedPrecision
135OpDecorate %462 RelaxedPrecision
136OpDecorate %464 RelaxedPrecision
137OpDecorate %474 RelaxedPrecision
138OpDecorate %476 RelaxedPrecision
139OpDecorate %477 RelaxedPrecision
140%float = OpTypeFloat 32
141%v4float = OpTypeVector %float 4
142%_ptr_Output_v4float = OpTypePointer Output %v4float
143%sk_FragColor = OpVariable %_ptr_Output_v4float Output
144%bool = OpTypeBool
145%_ptr_Input_bool = OpTypePointer Input %bool
146%sk_Clockwise = OpVariable %_ptr_Input_bool Input
147%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float %v4float
148%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
149%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
150%void = OpTypeVoid
151%15 = OpTypeFunction %void
152%v2float = OpTypeVector %float 2
153%float_0 = OpConstant %float 0
154%19 = OpConstantComposite %v2float %float_0 %float_0
155%_ptr_Function_v2float = OpTypePointer Function %v2float
156%23 = OpTypeFunction %v4float %_ptr_Function_v2float
157%int = OpTypeInt 32 1
158%v4int = OpTypeVector %int 4
159%_ptr_Function_v4int = OpTypePointer Function %v4int
160%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
161%int_0 = OpConstant %int 0
162%float_100 = OpConstant %float 100
163%int_1 = OpConstant %int 1
164%false = OpConstantFalse %bool
165%v2int = OpTypeVector %int 2
166%v2bool = OpTypeVector %bool 2
167%81 = OpConstantComposite %v2bool %false %false
168%v3int = OpTypeVector %int 3
169%v3bool = OpTypeVector %bool 3
170%100 = OpConstantComposite %v3bool %false %false %false
171%v4bool = OpTypeVector %bool 4
172%116 = OpConstantComposite %v4bool %false %false %false %false
173%true = OpConstantTrue %bool
174%146 = OpConstantComposite %v2bool %true %true
175%163 = OpConstantComposite %v3bool %true %true %true
176%178 = OpConstantComposite %v4bool %true %true %true %true
177%int_100 = OpConstant %int 100
178%194 = OpConstantComposite %v2int %int_0 %int_100
179%202 = OpConstantComposite %v3int %int_0 %int_100 %int_0
180%210 = OpConstantComposite %v4int %int_0 %int_100 %int_0 %int_100
181%223 = OpConstantComposite %v2int %int_100 %int_0
182%231 = OpConstantComposite %v3int %int_100 %int_0 %int_0
183%239 = OpConstantComposite %v4int %int_100 %int_0 %int_0 %int_100
184%v3float = OpTypeVector %float 3
185%float_1 = OpConstant %float 1
186%411 = OpConstantComposite %v2float %float_0 %float_1
187%420 = OpConstantComposite %v3float %float_0 %float_1 %float_0
188%429 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
189%444 = OpConstantComposite %v2float %float_1 %float_0
190%453 = OpConstantComposite %v3float %float_1 %float_0 %float_0
191%462 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
192%_ptr_Function_v4float = OpTypePointer Function %v4float
193%_entrypoint_v = OpFunction %void None %15
194%16 = OpLabel
195%20 = OpVariable %_ptr_Function_v2float Function
196OpStore %20 %19
197%22 = OpFunctionCall %v4float %main %20
198OpStore %sk_FragColor %22
199OpReturn
200OpFunctionEnd
201%main = OpFunction %v4float None %23
202%24 = OpFunctionParameter %_ptr_Function_v2float
203%25 = OpLabel
204%intGreen = OpVariable %_ptr_Function_v4int Function
205%intRed = OpVariable %_ptr_Function_v4int Function
206%468 = OpVariable %_ptr_Function_v4float Function
207%30 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
208%33 = OpLoad %v4float %30
209%35 = OpVectorTimesScalar %v4float %33 %float_100
210%36 = OpCompositeExtract %float %35 0
211%37 = OpConvertFToS %int %36
212%38 = OpCompositeExtract %float %35 1
213%39 = OpConvertFToS %int %38
214%40 = OpCompositeExtract %float %35 2
215%41 = OpConvertFToS %int %40
216%42 = OpCompositeExtract %float %35 3
217%43 = OpConvertFToS %int %42
218%44 = OpCompositeConstruct %v4int %37 %39 %41 %43
219OpStore %intGreen %44
220%46 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
221%48 = OpLoad %v4float %46
222%49 = OpVectorTimesScalar %v4float %48 %float_100
223%50 = OpCompositeExtract %float %49 0
224%51 = OpConvertFToS %int %50
225%52 = OpCompositeExtract %float %49 1
226%53 = OpConvertFToS %int %52
227%54 = OpCompositeExtract %float %49 2
228%55 = OpConvertFToS %int %54
229%56 = OpCompositeExtract %float %49 3
230%57 = OpConvertFToS %int %56
231%58 = OpCompositeConstruct %v4int %51 %53 %55 %57
232OpStore %intRed %58
233%61 = OpLoad %v4int %intGreen
234%62 = OpCompositeExtract %int %61 0
235%63 = OpLoad %v4int %intRed
236%64 = OpCompositeExtract %int %63 0
237%65 = OpLoad %v4int %intGreen
238%66 = OpCompositeExtract %int %65 0
239%67 = OpLoad %v4int %intRed
240%68 = OpCompositeExtract %int %67 0
241%60 = OpSelect %int %false %68 %66
242%69 = OpLoad %v4int %intGreen
243%70 = OpCompositeExtract %int %69 0
244%71 = OpIEqual %bool %60 %70
245OpSelectionMerge %73 None
246OpBranchConditional %71 %72 %73
247%72 = OpLabel
248%75 = OpLoad %v4int %intGreen
249%76 = OpVectorShuffle %v2int %75 %75 0 1
250%78 = OpLoad %v4int %intRed
251%79 = OpVectorShuffle %v2int %78 %78 0 1
252%82 = OpLoad %v4int %intGreen
253%83 = OpVectorShuffle %v2int %82 %82 0 1
254%84 = OpLoad %v4int %intRed
255%85 = OpVectorShuffle %v2int %84 %84 0 1
256%74 = OpSelect %v2int %81 %85 %83
257%86 = OpLoad %v4int %intGreen
258%87 = OpVectorShuffle %v2int %86 %86 0 1
259%88 = OpIEqual %v2bool %74 %87
260%89 = OpAll %bool %88
261OpBranch %73
262%73 = OpLabel
263%90 = OpPhi %bool %false %25 %89 %72
264OpSelectionMerge %92 None
265OpBranchConditional %90 %91 %92
266%91 = OpLabel
267%94 = OpLoad %v4int %intGreen
268%95 = OpVectorShuffle %v3int %94 %94 0 1 2
269%97 = OpLoad %v4int %intRed
270%98 = OpVectorShuffle %v3int %97 %97 0 1 2
271%101 = OpLoad %v4int %intGreen
272%102 = OpVectorShuffle %v3int %101 %101 0 1 2
273%103 = OpLoad %v4int %intRed
274%104 = OpVectorShuffle %v3int %103 %103 0 1 2
275%93 = OpSelect %v3int %100 %104 %102
276%105 = OpLoad %v4int %intGreen
277%106 = OpVectorShuffle %v3int %105 %105 0 1 2
278%107 = OpIEqual %v3bool %93 %106
279%108 = OpAll %bool %107
280OpBranch %92
281%92 = OpLabel
282%109 = OpPhi %bool %false %73 %108 %91
283OpSelectionMerge %111 None
284OpBranchConditional %109 %110 %111
285%110 = OpLabel
286%113 = OpLoad %v4int %intGreen
287%114 = OpLoad %v4int %intRed
288%117 = OpLoad %v4int %intGreen
289%118 = OpLoad %v4int %intRed
290%112 = OpSelect %v4int %116 %118 %117
291%119 = OpLoad %v4int %intGreen
292%120 = OpIEqual %v4bool %112 %119
293%121 = OpAll %bool %120
294OpBranch %111
295%111 = OpLabel
296%122 = OpPhi %bool %false %92 %121 %110
297OpSelectionMerge %124 None
298OpBranchConditional %122 %123 %124
299%123 = OpLabel
300%126 = OpLoad %v4int %intGreen
301%127 = OpCompositeExtract %int %126 0
302%128 = OpLoad %v4int %intRed
303%129 = OpCompositeExtract %int %128 0
304%131 = OpLoad %v4int %intGreen
305%132 = OpCompositeExtract %int %131 0
306%133 = OpLoad %v4int %intRed
307%134 = OpCompositeExtract %int %133 0
308%125 = OpSelect %int %true %134 %132
309%135 = OpLoad %v4int %intRed
310%136 = OpCompositeExtract %int %135 0
311%137 = OpIEqual %bool %125 %136
312OpBranch %124
313%124 = OpLabel
314%138 = OpPhi %bool %false %111 %137 %123
315OpSelectionMerge %140 None
316OpBranchConditional %138 %139 %140
317%139 = OpLabel
318%142 = OpLoad %v4int %intGreen
319%143 = OpVectorShuffle %v2int %142 %142 0 1
320%144 = OpLoad %v4int %intRed
321%145 = OpVectorShuffle %v2int %144 %144 0 1
322%147 = OpLoad %v4int %intGreen
323%148 = OpVectorShuffle %v2int %147 %147 0 1
324%149 = OpLoad %v4int %intRed
325%150 = OpVectorShuffle %v2int %149 %149 0 1
326%141 = OpSelect %v2int %146 %150 %148
327%151 = OpLoad %v4int %intRed
328%152 = OpVectorShuffle %v2int %151 %151 0 1
329%153 = OpIEqual %v2bool %141 %152
330%154 = OpAll %bool %153
331OpBranch %140
332%140 = OpLabel
333%155 = OpPhi %bool %false %124 %154 %139
334OpSelectionMerge %157 None
335OpBranchConditional %155 %156 %157
336%156 = OpLabel
337%159 = OpLoad %v4int %intGreen
338%160 = OpVectorShuffle %v3int %159 %159 0 1 2
339%161 = OpLoad %v4int %intRed
340%162 = OpVectorShuffle %v3int %161 %161 0 1 2
341%164 = OpLoad %v4int %intGreen
342%165 = OpVectorShuffle %v3int %164 %164 0 1 2
343%166 = OpLoad %v4int %intRed
344%167 = OpVectorShuffle %v3int %166 %166 0 1 2
345%158 = OpSelect %v3int %163 %167 %165
346%168 = OpLoad %v4int %intRed
347%169 = OpVectorShuffle %v3int %168 %168 0 1 2
348%170 = OpIEqual %v3bool %158 %169
349%171 = OpAll %bool %170
350OpBranch %157
351%157 = OpLabel
352%172 = OpPhi %bool %false %140 %171 %156
353OpSelectionMerge %174 None
354OpBranchConditional %172 %173 %174
355%173 = OpLabel
356%176 = OpLoad %v4int %intGreen
357%177 = OpLoad %v4int %intRed
358%179 = OpLoad %v4int %intGreen
359%180 = OpLoad %v4int %intRed
360%175 = OpSelect %v4int %178 %180 %179
361%181 = OpLoad %v4int %intRed
362%182 = OpIEqual %v4bool %175 %181
363%183 = OpAll %bool %182
364OpBranch %174
365%174 = OpLabel
366%184 = OpPhi %bool %false %157 %183 %173
367OpSelectionMerge %186 None
368OpBranchConditional %184 %185 %186
369%185 = OpLabel
370%187 = OpLoad %v4int %intGreen
371%188 = OpCompositeExtract %int %187 0
372%189 = OpIEqual %bool %int_0 %188
373OpBranch %186
374%186 = OpLabel
375%190 = OpPhi %bool %false %174 %189 %185
376OpSelectionMerge %192 None
377OpBranchConditional %190 %191 %192
378%191 = OpLabel
379%195 = OpLoad %v4int %intGreen
380%196 = OpVectorShuffle %v2int %195 %195 0 1
381%197 = OpIEqual %v2bool %194 %196
382%198 = OpAll %bool %197
383OpBranch %192
384%192 = OpLabel
385%199 = OpPhi %bool %false %186 %198 %191
386OpSelectionMerge %201 None
387OpBranchConditional %199 %200 %201
388%200 = OpLabel
389%203 = OpLoad %v4int %intGreen
390%204 = OpVectorShuffle %v3int %203 %203 0 1 2
391%205 = OpIEqual %v3bool %202 %204
392%206 = OpAll %bool %205
393OpBranch %201
394%201 = OpLabel
395%207 = OpPhi %bool %false %192 %206 %200
396OpSelectionMerge %209 None
397OpBranchConditional %207 %208 %209
398%208 = OpLabel
399%211 = OpLoad %v4int %intGreen
400%212 = OpIEqual %v4bool %210 %211
401%213 = OpAll %bool %212
402OpBranch %209
403%209 = OpLabel
404%214 = OpPhi %bool %false %201 %213 %208
405OpSelectionMerge %216 None
406OpBranchConditional %214 %215 %216
407%215 = OpLabel
408%217 = OpLoad %v4int %intRed
409%218 = OpCompositeExtract %int %217 0
410%219 = OpIEqual %bool %int_100 %218
411OpBranch %216
412%216 = OpLabel
413%220 = OpPhi %bool %false %209 %219 %215
414OpSelectionMerge %222 None
415OpBranchConditional %220 %221 %222
416%221 = OpLabel
417%224 = OpLoad %v4int %intRed
418%225 = OpVectorShuffle %v2int %224 %224 0 1
419%226 = OpIEqual %v2bool %223 %225
420%227 = OpAll %bool %226
421OpBranch %222
422%222 = OpLabel
423%228 = OpPhi %bool %false %216 %227 %221
424OpSelectionMerge %230 None
425OpBranchConditional %228 %229 %230
426%229 = OpLabel
427%232 = OpLoad %v4int %intRed
428%233 = OpVectorShuffle %v3int %232 %232 0 1 2
429%234 = OpIEqual %v3bool %231 %233
430%235 = OpAll %bool %234
431OpBranch %230
432%230 = OpLabel
433%236 = OpPhi %bool %false %222 %235 %229
434OpSelectionMerge %238 None
435OpBranchConditional %236 %237 %238
436%237 = OpLabel
437%240 = OpLoad %v4int %intRed
438%241 = OpIEqual %v4bool %239 %240
439%242 = OpAll %bool %241
440OpBranch %238
441%238 = OpLabel
442%243 = OpPhi %bool %false %230 %242 %237
443OpSelectionMerge %245 None
444OpBranchConditional %243 %244 %245
445%244 = OpLabel
446%247 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
447%248 = OpLoad %v4float %247
448%249 = OpCompositeExtract %float %248 0
449%250 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
450%251 = OpLoad %v4float %250
451%252 = OpCompositeExtract %float %251 0
452%253 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
453%254 = OpLoad %v4float %253
454%255 = OpCompositeExtract %float %254 0
455%256 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
456%257 = OpLoad %v4float %256
457%258 = OpCompositeExtract %float %257 0
458%246 = OpSelect %float %false %258 %255
459%259 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
460%260 = OpLoad %v4float %259
461%261 = OpCompositeExtract %float %260 0
462%262 = OpFOrdEqual %bool %246 %261
463OpBranch %245
464%245 = OpLabel
465%263 = OpPhi %bool %false %238 %262 %244
466OpSelectionMerge %265 None
467OpBranchConditional %263 %264 %265
468%264 = OpLabel
469%267 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
470%268 = OpLoad %v4float %267
471%269 = OpVectorShuffle %v2float %268 %268 0 1
472%270 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
473%271 = OpLoad %v4float %270
474%272 = OpVectorShuffle %v2float %271 %271 0 1
475%273 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
476%274 = OpLoad %v4float %273
477%275 = OpVectorShuffle %v2float %274 %274 0 1
478%276 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
479%277 = OpLoad %v4float %276
480%278 = OpVectorShuffle %v2float %277 %277 0 1
481%266 = OpSelect %v2float %81 %278 %275
482%279 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
483%280 = OpLoad %v4float %279
484%281 = OpVectorShuffle %v2float %280 %280 0 1
485%282 = OpFOrdEqual %v2bool %266 %281
486%283 = OpAll %bool %282
487OpBranch %265
488%265 = OpLabel
489%284 = OpPhi %bool %false %245 %283 %264
490OpSelectionMerge %286 None
491OpBranchConditional %284 %285 %286
492%285 = OpLabel
493%288 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
494%289 = OpLoad %v4float %288
495%290 = OpVectorShuffle %v3float %289 %289 0 1 2
496%292 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
497%293 = OpLoad %v4float %292
498%294 = OpVectorShuffle %v3float %293 %293 0 1 2
499%295 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
500%296 = OpLoad %v4float %295
501%297 = OpVectorShuffle %v3float %296 %296 0 1 2
502%298 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
503%299 = OpLoad %v4float %298
504%300 = OpVectorShuffle %v3float %299 %299 0 1 2
505%287 = OpSelect %v3float %100 %300 %297
506%301 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
507%302 = OpLoad %v4float %301
508%303 = OpVectorShuffle %v3float %302 %302 0 1 2
509%304 = OpFOrdEqual %v3bool %287 %303
510%305 = OpAll %bool %304
511OpBranch %286
512%286 = OpLabel
513%306 = OpPhi %bool %false %265 %305 %285
514OpSelectionMerge %308 None
515OpBranchConditional %306 %307 %308
516%307 = OpLabel
517%310 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
518%311 = OpLoad %v4float %310
519%312 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
520%313 = OpLoad %v4float %312
521%314 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
522%315 = OpLoad %v4float %314
523%316 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
524%317 = OpLoad %v4float %316
525%309 = OpSelect %v4float %116 %317 %315
526%318 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
527%319 = OpLoad %v4float %318
528%320 = OpFOrdEqual %v4bool %309 %319
529%321 = OpAll %bool %320
530OpBranch %308
531%308 = OpLabel
532%322 = OpPhi %bool %false %286 %321 %307
533OpSelectionMerge %324 None
534OpBranchConditional %322 %323 %324
535%323 = OpLabel
536%326 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
537%327 = OpLoad %v4float %326
538%328 = OpCompositeExtract %float %327 0
539%329 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
540%330 = OpLoad %v4float %329
541%331 = OpCompositeExtract %float %330 0
542%332 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
543%333 = OpLoad %v4float %332
544%334 = OpCompositeExtract %float %333 0
545%335 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
546%336 = OpLoad %v4float %335
547%337 = OpCompositeExtract %float %336 0
548%325 = OpSelect %float %true %337 %334
549%338 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
550%339 = OpLoad %v4float %338
551%340 = OpCompositeExtract %float %339 0
552%341 = OpFOrdEqual %bool %325 %340
553OpBranch %324
554%324 = OpLabel
555%342 = OpPhi %bool %false %308 %341 %323
556OpSelectionMerge %344 None
557OpBranchConditional %342 %343 %344
558%343 = OpLabel
559%346 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
560%347 = OpLoad %v4float %346
561%348 = OpVectorShuffle %v2float %347 %347 0 1
562%349 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
563%350 = OpLoad %v4float %349
564%351 = OpVectorShuffle %v2float %350 %350 0 1
565%352 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
566%353 = OpLoad %v4float %352
567%354 = OpVectorShuffle %v2float %353 %353 0 1
568%355 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
569%356 = OpLoad %v4float %355
570%357 = OpVectorShuffle %v2float %356 %356 0 1
571%345 = OpSelect %v2float %146 %357 %354
572%358 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
573%359 = OpLoad %v4float %358
574%360 = OpVectorShuffle %v2float %359 %359 0 1
575%361 = OpFOrdEqual %v2bool %345 %360
576%362 = OpAll %bool %361
577OpBranch %344
578%344 = OpLabel
579%363 = OpPhi %bool %false %324 %362 %343
580OpSelectionMerge %365 None
581OpBranchConditional %363 %364 %365
582%364 = OpLabel
583%367 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
584%368 = OpLoad %v4float %367
585%369 = OpVectorShuffle %v3float %368 %368 0 1 2
586%370 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
587%371 = OpLoad %v4float %370
588%372 = OpVectorShuffle %v3float %371 %371 0 1 2
589%373 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
590%374 = OpLoad %v4float %373
591%375 = OpVectorShuffle %v3float %374 %374 0 1 2
592%376 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
593%377 = OpLoad %v4float %376
594%378 = OpVectorShuffle %v3float %377 %377 0 1 2
595%366 = OpSelect %v3float %163 %378 %375
596%379 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
597%380 = OpLoad %v4float %379
598%381 = OpVectorShuffle %v3float %380 %380 0 1 2
599%382 = OpFOrdEqual %v3bool %366 %381
600%383 = OpAll %bool %382
601OpBranch %365
602%365 = OpLabel
603%384 = OpPhi %bool %false %344 %383 %364
604OpSelectionMerge %386 None
605OpBranchConditional %384 %385 %386
606%385 = OpLabel
607%388 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
608%389 = OpLoad %v4float %388
609%390 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
610%391 = OpLoad %v4float %390
611%392 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
612%393 = OpLoad %v4float %392
613%394 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
614%395 = OpLoad %v4float %394
615%387 = OpSelect %v4float %178 %395 %393
616%396 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
617%397 = OpLoad %v4float %396
618%398 = OpFOrdEqual %v4bool %387 %397
619%399 = OpAll %bool %398
620OpBranch %386
621%386 = OpLabel
622%400 = OpPhi %bool %false %365 %399 %385
623OpSelectionMerge %402 None
624OpBranchConditional %400 %401 %402
625%401 = OpLabel
626%403 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
627%404 = OpLoad %v4float %403
628%405 = OpCompositeExtract %float %404 0
629%406 = OpFOrdEqual %bool %float_0 %405
630OpBranch %402
631%402 = OpLabel
632%407 = OpPhi %bool %false %386 %406 %401
633OpSelectionMerge %409 None
634OpBranchConditional %407 %408 %409
635%408 = OpLabel
636%412 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
637%413 = OpLoad %v4float %412
638%414 = OpVectorShuffle %v2float %413 %413 0 1
639%415 = OpFOrdEqual %v2bool %411 %414
640%416 = OpAll %bool %415
641OpBranch %409
642%409 = OpLabel
643%417 = OpPhi %bool %false %402 %416 %408
644OpSelectionMerge %419 None
645OpBranchConditional %417 %418 %419
646%418 = OpLabel
647%421 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
648%422 = OpLoad %v4float %421
649%423 = OpVectorShuffle %v3float %422 %422 0 1 2
650%424 = OpFOrdEqual %v3bool %420 %423
651%425 = OpAll %bool %424
652OpBranch %419
653%419 = OpLabel
654%426 = OpPhi %bool %false %409 %425 %418
655OpSelectionMerge %428 None
656OpBranchConditional %426 %427 %428
657%427 = OpLabel
658%430 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
659%431 = OpLoad %v4float %430
660%432 = OpFOrdEqual %v4bool %429 %431
661%433 = OpAll %bool %432
662OpBranch %428
663%428 = OpLabel
664%434 = OpPhi %bool %false %419 %433 %427
665OpSelectionMerge %436 None
666OpBranchConditional %434 %435 %436
667%435 = OpLabel
668%437 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
669%438 = OpLoad %v4float %437
670%439 = OpCompositeExtract %float %438 0
671%440 = OpFOrdEqual %bool %float_1 %439
672OpBranch %436
673%436 = OpLabel
674%441 = OpPhi %bool %false %428 %440 %435
675OpSelectionMerge %443 None
676OpBranchConditional %441 %442 %443
677%442 = OpLabel
678%445 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
679%446 = OpLoad %v4float %445
680%447 = OpVectorShuffle %v2float %446 %446 0 1
681%448 = OpFOrdEqual %v2bool %444 %447
682%449 = OpAll %bool %448
683OpBranch %443
684%443 = OpLabel
685%450 = OpPhi %bool %false %436 %449 %442
686OpSelectionMerge %452 None
687OpBranchConditional %450 %451 %452
688%451 = OpLabel
689%454 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
690%455 = OpLoad %v4float %454
691%456 = OpVectorShuffle %v3float %455 %455 0 1 2
692%457 = OpFOrdEqual %v3bool %453 %456
693%458 = OpAll %bool %457
694OpBranch %452
695%452 = OpLabel
696%459 = OpPhi %bool %false %443 %458 %451
697OpSelectionMerge %461 None
698OpBranchConditional %459 %460 %461
699%460 = OpLabel
700%463 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
701%464 = OpLoad %v4float %463
702%465 = OpFOrdEqual %v4bool %462 %464
703%466 = OpAll %bool %465
704OpBranch %461
705%461 = OpLabel
706%467 = OpPhi %bool %false %452 %466 %460
707OpSelectionMerge %472 None
708OpBranchConditional %467 %470 %471
709%470 = OpLabel
710%473 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
711%474 = OpLoad %v4float %473
712OpStore %468 %474
713OpBranch %472
714%471 = OpLabel
715%475 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
716%476 = OpLoad %v4float %475
717OpStore %468 %476
718OpBranch %472
719%472 = OpLabel
720%477 = OpLoad %v4float %468
721OpReturnValue %477
722OpFunctionEnd
723