• 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 "testInputs"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %main "main"
14OpName %ok "ok"
15OpDecorate %sk_FragColor RelaxedPrecision
16OpDecorate %sk_FragColor Location 0
17OpDecorate %sk_FragColor Index 0
18OpDecorate %sk_Clockwise BuiltIn FrontFacing
19OpMemberDecorate %_UniformBuffer 0 Offset 0
20OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
21OpMemberDecorate %_UniformBuffer 1 Offset 16
22OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23OpMemberDecorate %_UniformBuffer 2 Offset 32
24OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25OpDecorate %_UniformBuffer Block
26OpDecorate %10 Binding 0
27OpDecorate %10 DescriptorSet 0
28OpDecorate %30 RelaxedPrecision
29OpDecorate %37 RelaxedPrecision
30OpDecorate %38 RelaxedPrecision
31OpDecorate %39 RelaxedPrecision
32OpDecorate %40 RelaxedPrecision
33OpDecorate %41 RelaxedPrecision
34OpDecorate %42 RelaxedPrecision
35OpDecorate %43 RelaxedPrecision
36OpDecorate %44 RelaxedPrecision
37OpDecorate %49 RelaxedPrecision
38OpDecorate %50 RelaxedPrecision
39OpDecorate %51 RelaxedPrecision
40OpDecorate %63 RelaxedPrecision
41OpDecorate %67 RelaxedPrecision
42OpDecorate %88 RelaxedPrecision
43OpDecorate %93 RelaxedPrecision
44OpDecorate %94 RelaxedPrecision
45OpDecorate %95 RelaxedPrecision
46OpDecorate %96 RelaxedPrecision
47OpDecorate %97 RelaxedPrecision
48OpDecorate %98 RelaxedPrecision
49OpDecorate %99 RelaxedPrecision
50OpDecorate %100 RelaxedPrecision
51OpDecorate %102 RelaxedPrecision
52OpDecorate %103 RelaxedPrecision
53OpDecorate %104 RelaxedPrecision
54OpDecorate %115 RelaxedPrecision
55OpDecorate %119 RelaxedPrecision
56OpDecorate %120 RelaxedPrecision
57OpDecorate %121 RelaxedPrecision
58OpDecorate %122 RelaxedPrecision
59OpDecorate %123 RelaxedPrecision
60OpDecorate %124 RelaxedPrecision
61OpDecorate %125 RelaxedPrecision
62OpDecorate %126 RelaxedPrecision
63OpDecorate %127 RelaxedPrecision
64OpDecorate %128 RelaxedPrecision
65OpDecorate %129 RelaxedPrecision
66OpDecorate %140 RelaxedPrecision
67OpDecorate %144 RelaxedPrecision
68OpDecorate %145 RelaxedPrecision
69OpDecorate %147 RelaxedPrecision
70OpDecorate %149 RelaxedPrecision
71OpDecorate %151 RelaxedPrecision
72OpDecorate %156 RelaxedPrecision
73OpDecorate %158 RelaxedPrecision
74OpDecorate %160 RelaxedPrecision
75OpDecorate %162 RelaxedPrecision
76OpDecorate %163 RelaxedPrecision
77OpDecorate %164 RelaxedPrecision
78OpDecorate %165 RelaxedPrecision
79OpDecorate %166 RelaxedPrecision
80OpDecorate %167 RelaxedPrecision
81OpDecorate %168 RelaxedPrecision
82OpDecorate %169 RelaxedPrecision
83OpDecorate %170 RelaxedPrecision
84OpDecorate %171 RelaxedPrecision
85OpDecorate %172 RelaxedPrecision
86OpDecorate %173 RelaxedPrecision
87OpDecorate %184 RelaxedPrecision
88OpDecorate %188 RelaxedPrecision
89OpDecorate %189 RelaxedPrecision
90OpDecorate %190 RelaxedPrecision
91OpDecorate %191 RelaxedPrecision
92OpDecorate %192 RelaxedPrecision
93OpDecorate %193 RelaxedPrecision
94OpDecorate %194 RelaxedPrecision
95OpDecorate %195 RelaxedPrecision
96OpDecorate %196 RelaxedPrecision
97OpDecorate %197 RelaxedPrecision
98OpDecorate %198 RelaxedPrecision
99OpDecorate %209 RelaxedPrecision
100OpDecorate %213 RelaxedPrecision
101OpDecorate %214 RelaxedPrecision
102OpDecorate %215 RelaxedPrecision
103OpDecorate %216 RelaxedPrecision
104OpDecorate %217 RelaxedPrecision
105OpDecorate %218 RelaxedPrecision
106OpDecorate %219 RelaxedPrecision
107OpDecorate %220 RelaxedPrecision
108OpDecorate %221 RelaxedPrecision
109OpDecorate %222 RelaxedPrecision
110OpDecorate %223 RelaxedPrecision
111OpDecorate %234 RelaxedPrecision
112OpDecorate %238 RelaxedPrecision
113OpDecorate %239 RelaxedPrecision
114OpDecorate %241 RelaxedPrecision
115OpDecorate %243 RelaxedPrecision
116OpDecorate %245 RelaxedPrecision
117OpDecorate %250 RelaxedPrecision
118OpDecorate %252 RelaxedPrecision
119OpDecorate %254 RelaxedPrecision
120OpDecorate %256 RelaxedPrecision
121OpDecorate %257 RelaxedPrecision
122OpDecorate %258 RelaxedPrecision
123OpDecorate %259 RelaxedPrecision
124OpDecorate %260 RelaxedPrecision
125OpDecorate %261 RelaxedPrecision
126OpDecorate %262 RelaxedPrecision
127OpDecorate %263 RelaxedPrecision
128OpDecorate %264 RelaxedPrecision
129OpDecorate %265 RelaxedPrecision
130OpDecorate %266 RelaxedPrecision
131OpDecorate %267 RelaxedPrecision
132OpDecorate %278 RelaxedPrecision
133OpDecorate %285 RelaxedPrecision
134OpDecorate %288 RelaxedPrecision
135OpDecorate %289 RelaxedPrecision
136%float = OpTypeFloat 32
137%v4float = OpTypeVector %float 4
138%_ptr_Output_v4float = OpTypePointer Output %v4float
139%sk_FragColor = OpVariable %_ptr_Output_v4float Output
140%bool = OpTypeBool
141%_ptr_Input_bool = OpTypePointer Input %bool
142%sk_Clockwise = OpVariable %_ptr_Input_bool Input
143%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
144%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
145%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
146%void = OpTypeVoid
147%15 = OpTypeFunction %void
148%v2float = OpTypeVector %float 2
149%float_0 = OpConstant %float 0
150%19 = OpConstantComposite %v2float %float_0 %float_0
151%_ptr_Function_v2float = OpTypePointer Function %v2float
152%23 = OpTypeFunction %v4float %_ptr_Function_v2float
153%_ptr_Function_bool = OpTypePointer Function %bool
154%true = OpConstantTrue %bool
155%false = OpConstantFalse %bool
156%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
157%int = OpTypeInt 32 1
158%int_2 = OpConstant %int 2
159%mat2v2float = OpTypeMatrix %v2float 2
160%float_n1_25 = OpConstant %float -1.25
161%float_0_75 = OpConstant %float 0.75
162%float_2_25 = OpConstant %float 2.25
163%v2bool = OpTypeVector %bool 2
164%int_0 = OpConstant %int 0
165%float_1 = OpConstant %float 1
166%v4int = OpTypeVector %int 4
167%v4bool = OpTypeVector %bool 4
168%_ptr_Function_v4float = OpTypePointer Function %v4float
169%int_1 = OpConstant %int 1
170%_entrypoint_v = OpFunction %void None %15
171%16 = OpLabel
172%20 = OpVariable %_ptr_Function_v2float Function
173OpStore %20 %19
174%22 = OpFunctionCall %v4float %main %20
175OpStore %sk_FragColor %22
176OpReturn
177OpFunctionEnd
178%main = OpFunction %v4float None %23
179%24 = OpFunctionParameter %_ptr_Function_v2float
180%25 = OpLabel
181%ok = OpVariable %_ptr_Function_bool Function
182%279 = OpVariable %_ptr_Function_v4float Function
183OpStore %ok %true
184%30 = OpLoad %bool %ok
185OpSelectionMerge %32 None
186OpBranchConditional %30 %31 %32
187%31 = OpLabel
188%33 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
189%37 = OpLoad %v4float %33
190%38 = OpCompositeExtract %float %37 0
191%39 = OpCompositeExtract %float %37 1
192%40 = OpCompositeExtract %float %37 2
193%41 = OpCompositeExtract %float %37 3
194%42 = OpCompositeConstruct %v2float %38 %39
195%43 = OpCompositeConstruct %v2float %40 %41
196%44 = OpCompositeConstruct %mat2v2float %42 %43
197%49 = OpCompositeConstruct %v2float %float_n1_25 %float_0
198%50 = OpCompositeConstruct %v2float %float_0_75 %float_2_25
199%51 = OpCompositeConstruct %mat2v2float %49 %50
200%53 = OpCompositeExtract %v2float %44 0
201%54 = OpCompositeExtract %v2float %51 0
202%55 = OpFOrdEqual %v2bool %53 %54
203%56 = OpAll %bool %55
204%57 = OpCompositeExtract %v2float %44 1
205%58 = OpCompositeExtract %v2float %51 1
206%59 = OpFOrdEqual %v2bool %57 %58
207%60 = OpAll %bool %59
208%61 = OpLogicalAnd %bool %56 %60
209OpBranch %32
210%32 = OpLabel
211%62 = OpPhi %bool %false %25 %61 %31
212OpStore %ok %62
213%63 = OpLoad %bool %ok
214OpSelectionMerge %65 None
215OpBranchConditional %63 %64 %65
216%64 = OpLabel
217%66 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
218%67 = OpLoad %v4float %66
219%68 = OpCompositeExtract %float %67 0
220%69 = OpCompositeExtract %float %67 1
221%70 = OpCompositeExtract %float %67 2
222%71 = OpCompositeExtract %float %67 3
223%72 = OpCompositeConstruct %v2float %68 %69
224%73 = OpCompositeConstruct %v2float %70 %71
225%74 = OpCompositeConstruct %mat2v2float %72 %73
226%75 = OpCompositeConstruct %v2float %float_n1_25 %float_0
227%76 = OpCompositeConstruct %v2float %float_0_75 %float_2_25
228%77 = OpCompositeConstruct %mat2v2float %75 %76
229%78 = OpCompositeExtract %v2float %74 0
230%79 = OpCompositeExtract %v2float %77 0
231%80 = OpFOrdEqual %v2bool %78 %79
232%81 = OpAll %bool %80
233%82 = OpCompositeExtract %v2float %74 1
234%83 = OpCompositeExtract %v2float %77 1
235%84 = OpFOrdEqual %v2bool %82 %83
236%85 = OpAll %bool %84
237%86 = OpLogicalAnd %bool %81 %85
238OpBranch %65
239%65 = OpLabel
240%87 = OpPhi %bool %false %32 %86 %64
241OpStore %ok %87
242%88 = OpLoad %bool %ok
243OpSelectionMerge %90 None
244OpBranchConditional %88 %89 %90
245%89 = OpLabel
246%91 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
247%93 = OpLoad %v4float %91
248%94 = OpCompositeExtract %float %93 0
249%95 = OpCompositeExtract %float %93 1
250%96 = OpCompositeExtract %float %93 2
251%97 = OpCompositeExtract %float %93 3
252%98 = OpCompositeConstruct %v2float %94 %95
253%99 = OpCompositeConstruct %v2float %96 %97
254%100 = OpCompositeConstruct %mat2v2float %98 %99
255%102 = OpCompositeConstruct %v2float %float_0 %float_1
256%103 = OpCompositeConstruct %v2float %float_0 %float_1
257%104 = OpCompositeConstruct %mat2v2float %102 %103
258%105 = OpCompositeExtract %v2float %100 0
259%106 = OpCompositeExtract %v2float %104 0
260%107 = OpFOrdEqual %v2bool %105 %106
261%108 = OpAll %bool %107
262%109 = OpCompositeExtract %v2float %100 1
263%110 = OpCompositeExtract %v2float %104 1
264%111 = OpFOrdEqual %v2bool %109 %110
265%112 = OpAll %bool %111
266%113 = OpLogicalAnd %bool %108 %112
267OpBranch %90
268%90 = OpLabel
269%114 = OpPhi %bool %false %65 %113 %89
270OpStore %ok %114
271%115 = OpLoad %bool %ok
272OpSelectionMerge %117 None
273OpBranchConditional %115 %116 %117
274%116 = OpLabel
275%118 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
276%119 = OpLoad %v4float %118
277%120 = OpCompositeExtract %float %119 0
278%121 = OpCompositeExtract %float %119 1
279%122 = OpCompositeExtract %float %119 2
280%123 = OpCompositeExtract %float %119 3
281%124 = OpCompositeConstruct %v2float %120 %121
282%125 = OpCompositeConstruct %v2float %122 %123
283%126 = OpCompositeConstruct %mat2v2float %124 %125
284%127 = OpCompositeConstruct %v2float %float_0 %float_1
285%128 = OpCompositeConstruct %v2float %float_0 %float_1
286%129 = OpCompositeConstruct %mat2v2float %127 %128
287%130 = OpCompositeExtract %v2float %126 0
288%131 = OpCompositeExtract %v2float %129 0
289%132 = OpFOrdEqual %v2bool %130 %131
290%133 = OpAll %bool %132
291%134 = OpCompositeExtract %v2float %126 1
292%135 = OpCompositeExtract %v2float %129 1
293%136 = OpFOrdEqual %v2bool %134 %135
294%137 = OpAll %bool %136
295%138 = OpLogicalAnd %bool %133 %137
296OpBranch %117
297%117 = OpLabel
298%139 = OpPhi %bool %false %90 %138 %116
299OpStore %ok %139
300%140 = OpLoad %bool %ok
301OpSelectionMerge %142 None
302OpBranchConditional %140 %141 %142
303%141 = OpLabel
304%143 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
305%144 = OpLoad %v4float %143
306%145 = OpCompositeExtract %float %144 0
307%146 = OpConvertFToS %int %145
308%147 = OpCompositeExtract %float %144 1
309%148 = OpConvertFToS %int %147
310%149 = OpCompositeExtract %float %144 2
311%150 = OpConvertFToS %int %149
312%151 = OpCompositeExtract %float %144 3
313%152 = OpConvertFToS %int %151
314%153 = OpCompositeConstruct %v4int %146 %148 %150 %152
315%155 = OpCompositeExtract %int %153 0
316%156 = OpConvertSToF %float %155
317%157 = OpCompositeExtract %int %153 1
318%158 = OpConvertSToF %float %157
319%159 = OpCompositeExtract %int %153 2
320%160 = OpConvertSToF %float %159
321%161 = OpCompositeExtract %int %153 3
322%162 = OpConvertSToF %float %161
323%163 = OpCompositeConstruct %v4float %156 %158 %160 %162
324%164 = OpCompositeExtract %float %163 0
325%165 = OpCompositeExtract %float %163 1
326%166 = OpCompositeExtract %float %163 2
327%167 = OpCompositeExtract %float %163 3
328%168 = OpCompositeConstruct %v2float %164 %165
329%169 = OpCompositeConstruct %v2float %166 %167
330%170 = OpCompositeConstruct %mat2v2float %168 %169
331%171 = OpCompositeConstruct %v2float %float_0 %float_1
332%172 = OpCompositeConstruct %v2float %float_0 %float_1
333%173 = OpCompositeConstruct %mat2v2float %171 %172
334%174 = OpCompositeExtract %v2float %170 0
335%175 = OpCompositeExtract %v2float %173 0
336%176 = OpFOrdEqual %v2bool %174 %175
337%177 = OpAll %bool %176
338%178 = OpCompositeExtract %v2float %170 1
339%179 = OpCompositeExtract %v2float %173 1
340%180 = OpFOrdEqual %v2bool %178 %179
341%181 = OpAll %bool %180
342%182 = OpLogicalAnd %bool %177 %181
343OpBranch %142
344%142 = OpLabel
345%183 = OpPhi %bool %false %117 %182 %141
346OpStore %ok %183
347%184 = OpLoad %bool %ok
348OpSelectionMerge %186 None
349OpBranchConditional %184 %185 %186
350%185 = OpLabel
351%187 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
352%188 = OpLoad %v4float %187
353%189 = OpCompositeExtract %float %188 0
354%190 = OpCompositeExtract %float %188 1
355%191 = OpCompositeExtract %float %188 2
356%192 = OpCompositeExtract %float %188 3
357%193 = OpCompositeConstruct %v2float %189 %190
358%194 = OpCompositeConstruct %v2float %191 %192
359%195 = OpCompositeConstruct %mat2v2float %193 %194
360%196 = OpCompositeConstruct %v2float %float_0 %float_1
361%197 = OpCompositeConstruct %v2float %float_0 %float_1
362%198 = OpCompositeConstruct %mat2v2float %196 %197
363%199 = OpCompositeExtract %v2float %195 0
364%200 = OpCompositeExtract %v2float %198 0
365%201 = OpFOrdEqual %v2bool %199 %200
366%202 = OpAll %bool %201
367%203 = OpCompositeExtract %v2float %195 1
368%204 = OpCompositeExtract %v2float %198 1
369%205 = OpFOrdEqual %v2bool %203 %204
370%206 = OpAll %bool %205
371%207 = OpLogicalAnd %bool %202 %206
372OpBranch %186
373%186 = OpLabel
374%208 = OpPhi %bool %false %142 %207 %185
375OpStore %ok %208
376%209 = OpLoad %bool %ok
377OpSelectionMerge %211 None
378OpBranchConditional %209 %210 %211
379%210 = OpLabel
380%212 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
381%213 = OpLoad %v4float %212
382%214 = OpCompositeExtract %float %213 0
383%215 = OpCompositeExtract %float %213 1
384%216 = OpCompositeExtract %float %213 2
385%217 = OpCompositeExtract %float %213 3
386%218 = OpCompositeConstruct %v2float %214 %215
387%219 = OpCompositeConstruct %v2float %216 %217
388%220 = OpCompositeConstruct %mat2v2float %218 %219
389%221 = OpCompositeConstruct %v2float %float_0 %float_1
390%222 = OpCompositeConstruct %v2float %float_0 %float_1
391%223 = OpCompositeConstruct %mat2v2float %221 %222
392%224 = OpCompositeExtract %v2float %220 0
393%225 = OpCompositeExtract %v2float %223 0
394%226 = OpFOrdEqual %v2bool %224 %225
395%227 = OpAll %bool %226
396%228 = OpCompositeExtract %v2float %220 1
397%229 = OpCompositeExtract %v2float %223 1
398%230 = OpFOrdEqual %v2bool %228 %229
399%231 = OpAll %bool %230
400%232 = OpLogicalAnd %bool %227 %231
401OpBranch %211
402%211 = OpLabel
403%233 = OpPhi %bool %false %186 %232 %210
404OpStore %ok %233
405%234 = OpLoad %bool %ok
406OpSelectionMerge %236 None
407OpBranchConditional %234 %235 %236
408%235 = OpLabel
409%237 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
410%238 = OpLoad %v4float %237
411%239 = OpCompositeExtract %float %238 0
412%240 = OpFUnordNotEqual %bool %239 %float_0
413%241 = OpCompositeExtract %float %238 1
414%242 = OpFUnordNotEqual %bool %241 %float_0
415%243 = OpCompositeExtract %float %238 2
416%244 = OpFUnordNotEqual %bool %243 %float_0
417%245 = OpCompositeExtract %float %238 3
418%246 = OpFUnordNotEqual %bool %245 %float_0
419%247 = OpCompositeConstruct %v4bool %240 %242 %244 %246
420%249 = OpCompositeExtract %bool %247 0
421%250 = OpSelect %float %249 %float_1 %float_0
422%251 = OpCompositeExtract %bool %247 1
423%252 = OpSelect %float %251 %float_1 %float_0
424%253 = OpCompositeExtract %bool %247 2
425%254 = OpSelect %float %253 %float_1 %float_0
426%255 = OpCompositeExtract %bool %247 3
427%256 = OpSelect %float %255 %float_1 %float_0
428%257 = OpCompositeConstruct %v4float %250 %252 %254 %256
429%258 = OpCompositeExtract %float %257 0
430%259 = OpCompositeExtract %float %257 1
431%260 = OpCompositeExtract %float %257 2
432%261 = OpCompositeExtract %float %257 3
433%262 = OpCompositeConstruct %v2float %258 %259
434%263 = OpCompositeConstruct %v2float %260 %261
435%264 = OpCompositeConstruct %mat2v2float %262 %263
436%265 = OpCompositeConstruct %v2float %float_0 %float_1
437%266 = OpCompositeConstruct %v2float %float_0 %float_1
438%267 = OpCompositeConstruct %mat2v2float %265 %266
439%268 = OpCompositeExtract %v2float %264 0
440%269 = OpCompositeExtract %v2float %267 0
441%270 = OpFOrdEqual %v2bool %268 %269
442%271 = OpAll %bool %270
443%272 = OpCompositeExtract %v2float %264 1
444%273 = OpCompositeExtract %v2float %267 1
445%274 = OpFOrdEqual %v2bool %272 %273
446%275 = OpAll %bool %274
447%276 = OpLogicalAnd %bool %271 %275
448OpBranch %236
449%236 = OpLabel
450%277 = OpPhi %bool %false %211 %276 %235
451OpStore %ok %277
452%278 = OpLoad %bool %ok
453OpSelectionMerge %283 None
454OpBranchConditional %278 %281 %282
455%281 = OpLabel
456%284 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
457%285 = OpLoad %v4float %284
458OpStore %279 %285
459OpBranch %283
460%282 = OpLabel
461%286 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
462%288 = OpLoad %v4float %286
463OpStore %279 %288
464OpBranch %283
465%283 = OpLabel
466%289 = OpLoad %v4float %279
467OpReturnValue %289
468OpFunctionEnd
469