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