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