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