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