Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / shared / GaussianBlur.asm.frag
1 OpCapability Shader
2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise %vLocalCoord_Stage0
5 OpExecutionMode %main OriginUpperLeft
6 OpName %uniformBuffer "uniformBuffer"
7 OpMemberName %uniformBuffer 0 "sk_RTAdjust"
8 OpMemberName %uniformBuffer 1 "uIncrement_Stage1_c0"
9 OpMemberName %uniformBuffer 2 "uKernel_Stage1_c0"
10 OpMemberName %uniformBuffer 3 "umatrix_Stage1_c0_c0"
11 OpMemberName %uniformBuffer 4 "uborder_Stage1_c0_c0_c0"
12 OpMemberName %uniformBuffer 5 "usubset_Stage1_c0_c0_c0"
13 OpMemberName %uniformBuffer 6 "unorm_Stage1_c0_c0_c0"
14 OpName %sk_FragColor "sk_FragColor"
15 OpName %sk_Clockwise "sk_Clockwise"
16 OpName %uTextureSampler_0_Stage1 "uTextureSampler_0_Stage1"
17 OpName %vLocalCoord_Stage0 "vLocalCoord_Stage0"
18 OpName %MatrixEffect_Stage1_c0_c0_h4h4f2 "MatrixEffect_Stage1_c0_c0_h4h4f2"
19 OpName %_1_inCoord "_1_inCoord"
20 OpName %_2_subsetCoord "_2_subsetCoord"
21 OpName %_3_clampedCoord "_3_clampedCoord"
22 OpName %_4_textureColor "_4_textureColor"
23 OpName %_5_snappedX "_5_snappedX"
24 OpName %main "main"
25 OpName %outputColor_Stage0 "outputColor_Stage0"
26 OpName %outputCoverage_Stage0 "outputCoverage_Stage0"
27 OpName %output_Stage1 "output_Stage1"
28 OpName %_6_output "_6_output"
29 OpName %_7_coord "_7_coord"
30 OpName %_8_coordSampled "_8_coordSampled"
31 OpDecorate %_arr_v4float_int_7 ArrayStride 16
32 OpMemberDecorate %uniformBuffer 0 Offset 0
33 OpMemberDecorate %uniformBuffer 1 Offset 16
34 OpMemberDecorate %uniformBuffer 1 RelaxedPrecision
35 OpMemberDecorate %uniformBuffer 2 Offset 32
36 OpMemberDecorate %uniformBuffer 2 RelaxedPrecision
37 OpMemberDecorate %uniformBuffer 3 Offset 144
38 OpMemberDecorate %uniformBuffer 3 ColMajor
39 OpMemberDecorate %uniformBuffer 3 MatrixStride 16
40 OpMemberDecorate %uniformBuffer 4 Offset 192
41 OpMemberDecorate %uniformBuffer 4 RelaxedPrecision
42 OpMemberDecorate %uniformBuffer 5 Offset 208
43 OpMemberDecorate %uniformBuffer 6 Offset 224
44 OpDecorate %uniformBuffer Block
45 OpDecorate %4 Binding 0
46 OpDecorate %4 DescriptorSet 0
47 OpDecorate %sk_FragColor RelaxedPrecision
48 OpDecorate %sk_FragColor Location 0
49 OpDecorate %sk_FragColor Index 0
50 OpDecorate %sk_Clockwise BuiltIn FrontFacing
51 OpDecorate %uTextureSampler_0_Stage1 RelaxedPrecision
52 OpDecorate %uTextureSampler_0_Stage1 Binding 0
53 OpDecorate %uTextureSampler_0_Stage1 DescriptorSet 0
54 OpDecorate %vLocalCoord_Stage0 Location 0
55 OpDecorate %_4_textureColor RelaxedPrecision
56 OpDecorate %63 RelaxedPrecision
57 OpDecorate %93 RelaxedPrecision
58 OpDecorate %94 RelaxedPrecision
59 OpDecorate %outputColor_Stage0 RelaxedPrecision
60 OpDecorate %outputCoverage_Stage0 RelaxedPrecision
61 OpDecorate %output_Stage1 RelaxedPrecision
62 OpDecorate %_6_output RelaxedPrecision
63 OpDecorate %110 RelaxedPrecision
64 OpDecorate %111 RelaxedPrecision
65 OpDecorate %120 RelaxedPrecision
66 OpDecorate %121 RelaxedPrecision
67 OpDecorate %122 RelaxedPrecision
68 OpDecorate %123 RelaxedPrecision
69 OpDecorate %125 RelaxedPrecision
70 OpDecorate %131 RelaxedPrecision
71 OpDecorate %132 RelaxedPrecision
72 OpDecorate %133 RelaxedPrecision
73 OpDecorate %134 RelaxedPrecision
74 OpDecorate %136 RelaxedPrecision
75 OpDecorate %142 RelaxedPrecision
76 OpDecorate %143 RelaxedPrecision
77 OpDecorate %144 RelaxedPrecision
78 OpDecorate %145 RelaxedPrecision
79 OpDecorate %147 RelaxedPrecision
80 OpDecorate %153 RelaxedPrecision
81 OpDecorate %154 RelaxedPrecision
82 OpDecorate %155 RelaxedPrecision
83 OpDecorate %156 RelaxedPrecision
84 OpDecorate %158 RelaxedPrecision
85 OpDecorate %164 RelaxedPrecision
86 OpDecorate %165 RelaxedPrecision
87 OpDecorate %166 RelaxedPrecision
88 OpDecorate %167 RelaxedPrecision
89 OpDecorate %169 RelaxedPrecision
90 OpDecorate %175 RelaxedPrecision
91 OpDecorate %176 RelaxedPrecision
92 OpDecorate %177 RelaxedPrecision
93 OpDecorate %178 RelaxedPrecision
94 OpDecorate %180 RelaxedPrecision
95 OpDecorate %186 RelaxedPrecision
96 OpDecorate %187 RelaxedPrecision
97 OpDecorate %188 RelaxedPrecision
98 OpDecorate %189 RelaxedPrecision
99 OpDecorate %191 RelaxedPrecision
100 OpDecorate %197 RelaxedPrecision
101 OpDecorate %198 RelaxedPrecision
102 OpDecorate %199 RelaxedPrecision
103 OpDecorate %200 RelaxedPrecision
104 OpDecorate %202 RelaxedPrecision
105 OpDecorate %208 RelaxedPrecision
106 OpDecorate %209 RelaxedPrecision
107 OpDecorate %210 RelaxedPrecision
108 OpDecorate %211 RelaxedPrecision
109 OpDecorate %213 RelaxedPrecision
110 OpDecorate %219 RelaxedPrecision
111 OpDecorate %220 RelaxedPrecision
112 OpDecorate %221 RelaxedPrecision
113 OpDecorate %222 RelaxedPrecision
114 OpDecorate %224 RelaxedPrecision
115 OpDecorate %230 RelaxedPrecision
116 OpDecorate %231 RelaxedPrecision
117 OpDecorate %232 RelaxedPrecision
118 OpDecorate %233 RelaxedPrecision
119 OpDecorate %235 RelaxedPrecision
120 OpDecorate %241 RelaxedPrecision
121 OpDecorate %242 RelaxedPrecision
122 OpDecorate %243 RelaxedPrecision
123 OpDecorate %244 RelaxedPrecision
124 OpDecorate %246 RelaxedPrecision
125 OpDecorate %252 RelaxedPrecision
126 OpDecorate %253 RelaxedPrecision
127 OpDecorate %254 RelaxedPrecision
128 OpDecorate %255 RelaxedPrecision
129 OpDecorate %257 RelaxedPrecision
130 OpDecorate %263 RelaxedPrecision
131 OpDecorate %264 RelaxedPrecision
132 OpDecorate %265 RelaxedPrecision
133 OpDecorate %266 RelaxedPrecision
134 OpDecorate %268 RelaxedPrecision
135 OpDecorate %274 RelaxedPrecision
136 OpDecorate %275 RelaxedPrecision
137 OpDecorate %276 RelaxedPrecision
138 OpDecorate %277 RelaxedPrecision
139 OpDecorate %279 RelaxedPrecision
140 OpDecorate %285 RelaxedPrecision
141 OpDecorate %286 RelaxedPrecision
142 OpDecorate %287 RelaxedPrecision
143 OpDecorate %288 RelaxedPrecision
144 OpDecorate %290 RelaxedPrecision
145 OpDecorate %296 RelaxedPrecision
146 OpDecorate %297 RelaxedPrecision
147 OpDecorate %298 RelaxedPrecision
148 OpDecorate %299 RelaxedPrecision
149 OpDecorate %301 RelaxedPrecision
150 OpDecorate %307 RelaxedPrecision
151 OpDecorate %308 RelaxedPrecision
152 OpDecorate %309 RelaxedPrecision
153 OpDecorate %310 RelaxedPrecision
154 OpDecorate %312 RelaxedPrecision
155 OpDecorate %318 RelaxedPrecision
156 OpDecorate %319 RelaxedPrecision
157 OpDecorate %320 RelaxedPrecision
158 OpDecorate %321 RelaxedPrecision
159 OpDecorate %323 RelaxedPrecision
160 OpDecorate %329 RelaxedPrecision
161 OpDecorate %330 RelaxedPrecision
162 OpDecorate %331 RelaxedPrecision
163 OpDecorate %332 RelaxedPrecision
164 OpDecorate %334 RelaxedPrecision
165 OpDecorate %340 RelaxedPrecision
166 OpDecorate %341 RelaxedPrecision
167 OpDecorate %342 RelaxedPrecision
168 OpDecorate %343 RelaxedPrecision
169 OpDecorate %345 RelaxedPrecision
170 OpDecorate %351 RelaxedPrecision
171 OpDecorate %352 RelaxedPrecision
172 OpDecorate %353 RelaxedPrecision
173 OpDecorate %354 RelaxedPrecision
174 OpDecorate %356 RelaxedPrecision
175 OpDecorate %362 RelaxedPrecision
176 OpDecorate %363 RelaxedPrecision
177 OpDecorate %364 RelaxedPrecision
178 OpDecorate %365 RelaxedPrecision
179 OpDecorate %367 RelaxedPrecision
180 OpDecorate %373 RelaxedPrecision
181 OpDecorate %374 RelaxedPrecision
182 OpDecorate %375 RelaxedPrecision
183 OpDecorate %376 RelaxedPrecision
184 OpDecorate %378 RelaxedPrecision
185 OpDecorate %384 RelaxedPrecision
186 OpDecorate %385 RelaxedPrecision
187 OpDecorate %386 RelaxedPrecision
188 OpDecorate %387 RelaxedPrecision
189 OpDecorate %389 RelaxedPrecision
190 OpDecorate %391 RelaxedPrecision
191 OpDecorate %392 RelaxedPrecision
192 %float = OpTypeFloat 32
193 %v4float = OpTypeVector %float 4
194 %v2float = OpTypeVector %float 2
195 %int = OpTypeInt 32 1
196 %int_7 = OpConstant %int 7
197 %_arr_v4float_int_7 = OpTypeArray %v4float %int_7
198 %v3float = OpTypeVector %float 3
199 %mat3v3float = OpTypeMatrix %v3float 3
200 %uniformBuffer = OpTypeStruct %v4float %v2float %_arr_v4float_int_7 %mat3v3float %v4float %v4float %v4float
201 %_ptr_Uniform_uniformBuffer = OpTypePointer Uniform %uniformBuffer
202 %4 = OpVariable %_ptr_Uniform_uniformBuffer Uniform
203 %_ptr_Output_v4float = OpTypePointer Output %v4float
204 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
205 %bool = OpTypeBool
206 %_ptr_Input_bool = OpTypePointer Input %bool
207 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
208 %21 = OpTypeImage %float 2D 0 0 0 1 Unknown
209 %22 = OpTypeSampledImage %21
210 %_ptr_UniformConstant_22 = OpTypePointer UniformConstant %22
211 %uTextureSampler_0_Stage1 = OpVariable %_ptr_UniformConstant_22 UniformConstant
212 %_ptr_Input_v2float = OpTypePointer Input %v2float
213 %vLocalCoord_Stage0 = OpVariable %_ptr_Input_v2float Input
214 %_ptr_Function_v4float = OpTypePointer Function %v4float
215 %_ptr_Function_v2float = OpTypePointer Function %v2float
216 %28 = OpTypeFunction %v4float %_ptr_Function_v4float %_ptr_Function_v2float
217 %int_3 = OpConstant %int 3
218 %_ptr_Uniform_mat3v3float = OpTypePointer Uniform %mat3v3float
219 %float_1 = OpConstant %float 1
220 %int_6 = OpConstant %int 6
221 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
222 %_ptr_Function_float = OpTypePointer Function %float
223 %int_0 = OpConstant %int 0
224 %int_1 = OpConstant %int 1
225 %float_0_00100000005 = OpConstant %float 0.00100000005
226 %float_0_5 = OpConstant %float 0.5
227 %true = OpConstantTrue %bool
228 %int_5 = OpConstant %int 5
229 %int_4 = OpConstant %int 4
230 %void = OpTypeVoid
231 %96 = OpTypeFunction %void
232 %100 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
233 %float_0 = OpConstant %float 0
234 %104 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
235 %float_12 = OpConstant %float 12
236 %_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
237 %114 = OpConstantComposite %v2float %float_0 %float_0
238 %int_2 = OpConstant %int 2
239 %MatrixEffect_Stage1_c0_c0_h4h4f2 = OpFunction %v4float None %28
240 %29 = OpFunctionParameter %_ptr_Function_v4float
241 %30 = OpFunctionParameter %_ptr_Function_v2float
242 %31 = OpLabel
243 %_1_inCoord = OpVariable %_ptr_Function_v2float Function
244 %_2_subsetCoord = OpVariable %_ptr_Function_v2float Function
245 %_3_clampedCoord = OpVariable %_ptr_Function_v2float Function
246 %_4_textureColor = OpVariable %_ptr_Function_v4float Function
247 %_5_snappedX = OpVariable %_ptr_Function_float Function
248 %34 = OpAccessChain %_ptr_Uniform_mat3v3float %4 %int_3
249 %36 = OpLoad %mat3v3float %34
250 %37 = OpLoad %v2float %30
251 %38 = OpCompositeExtract %float %37 0
252 %39 = OpCompositeExtract %float %37 1
253 %41 = OpCompositeConstruct %v3float %38 %39 %float_1
254 %42 = OpMatrixTimesVector %v3float %36 %41
255 %43 = OpVectorShuffle %v2float %42 %42 0 1
256 OpStore %_1_inCoord %43
257 %45 = OpAccessChain %_ptr_Uniform_v4float %4 %int_6
258 %47 = OpLoad %v4float %45
259 %48 = OpVectorShuffle %v2float %47 %47 0 1
260 %49 = OpFMul %v2float %43 %48
261 OpStore %_1_inCoord %49
262 %51 = OpCompositeExtract %float %49 0
263 %52 = OpAccessChain %_ptr_Function_float %_2_subsetCoord %int_0
264 OpStore %52 %51
265 %55 = OpLoad %v2float %_1_inCoord
266 %56 = OpCompositeExtract %float %55 1
267 %57 = OpAccessChain %_ptr_Function_float %_2_subsetCoord %int_1
268 OpStore %57 %56
269 %60 = OpLoad %v2float %_2_subsetCoord
270 OpStore %_3_clampedCoord %60
271 %63 = OpLoad %22 %uTextureSampler_0_Stage1
272 %64 = OpAccessChain %_ptr_Uniform_v4float %4 %int_6
273 %65 = OpLoad %v4float %64
274 %66 = OpVectorShuffle %v2float %65 %65 2 3
275 %67 = OpFMul %v2float %60 %66
276 %62 = OpImageSampleImplicitLod %v4float %63 %67
277 OpStore %_4_textureColor %62
278 %70 = OpLoad %v2float %_1_inCoord
279 %71 = OpCompositeExtract %float %70 0
280 %73 = OpFAdd %float %71 %float_0_00100000005
281 %69 = OpExtInst %float %1 Floor %73
282 %75 = OpFAdd %float %69 %float_0_5
283 OpStore %_5_snappedX %75
284 %78 = OpAccessChain %_ptr_Uniform_v4float %4 %int_5
285 %79 = OpLoad %v4float %78
286 %80 = OpCompositeExtract %float %79 0
287 %81 = OpFOrdLessThan %bool %75 %80
288 OpSelectionMerge %83 None
289 OpBranchConditional %81 %83 %82
290 %82 = OpLabel
291 %84 = OpAccessChain %_ptr_Uniform_v4float %4 %int_5
292 %85 = OpLoad %v4float %84
293 %86 = OpCompositeExtract %float %85 2
294 %87 = OpFOrdGreaterThan %bool %75 %86
295 OpBranch %83
296 %83 = OpLabel
297 %88 = OpPhi %bool %true %31 %87 %82
298 OpSelectionMerge %90 None
299 OpBranchConditional %88 %89 %90
300 %89 = OpLabel
301 %92 = OpAccessChain %_ptr_Uniform_v4float %4 %int_4
302 %93 = OpLoad %v4float %92
303 OpStore %_4_textureColor %93
304 OpBranch %90
305 %90 = OpLabel
306 %94 = OpLoad %v4float %_4_textureColor
307 OpReturnValue %94
308 OpFunctionEnd
309 %main = OpFunction %void None %96
310 %97 = OpLabel
311 %outputColor_Stage0 = OpVariable %_ptr_Function_v4float Function
312 %outputCoverage_Stage0 = OpVariable %_ptr_Function_v4float Function
313 %output_Stage1 = OpVariable %_ptr_Function_v4float Function
314 %_6_output = OpVariable %_ptr_Function_v4float Function
315 %_7_coord = OpVariable %_ptr_Function_v2float Function
316 %_8_coordSampled = OpVariable %_ptr_Function_v2float Function
317 %115 = OpVariable %_ptr_Function_v4float Function
318 %116 = OpVariable %_ptr_Function_v2float Function
319 %127 = OpVariable %_ptr_Function_v4float Function
320 %128 = OpVariable %_ptr_Function_v2float Function
321 %138 = OpVariable %_ptr_Function_v4float Function
322 %139 = OpVariable %_ptr_Function_v2float Function
323 %149 = OpVariable %_ptr_Function_v4float Function
324 %150 = OpVariable %_ptr_Function_v2float Function
325 %160 = OpVariable %_ptr_Function_v4float Function
326 %161 = OpVariable %_ptr_Function_v2float Function
327 %171 = OpVariable %_ptr_Function_v4float Function
328 %172 = OpVariable %_ptr_Function_v2float Function
329 %182 = OpVariable %_ptr_Function_v4float Function
330 %183 = OpVariable %_ptr_Function_v2float Function
331 %193 = OpVariable %_ptr_Function_v4float Function
332 %194 = OpVariable %_ptr_Function_v2float Function
333 %204 = OpVariable %_ptr_Function_v4float Function
334 %205 = OpVariable %_ptr_Function_v2float Function
335 %215 = OpVariable %_ptr_Function_v4float Function
336 %216 = OpVariable %_ptr_Function_v2float Function
337 %226 = OpVariable %_ptr_Function_v4float Function
338 %227 = OpVariable %_ptr_Function_v2float Function
339 %237 = OpVariable %_ptr_Function_v4float Function
340 %238 = OpVariable %_ptr_Function_v2float Function
341 %248 = OpVariable %_ptr_Function_v4float Function
342 %249 = OpVariable %_ptr_Function_v2float Function
343 %259 = OpVariable %_ptr_Function_v4float Function
344 %260 = OpVariable %_ptr_Function_v2float Function
345 %270 = OpVariable %_ptr_Function_v4float Function
346 %271 = OpVariable %_ptr_Function_v2float Function
347 %281 = OpVariable %_ptr_Function_v4float Function
348 %282 = OpVariable %_ptr_Function_v2float Function
349 %292 = OpVariable %_ptr_Function_v4float Function
350 %293 = OpVariable %_ptr_Function_v2float Function
351 %303 = OpVariable %_ptr_Function_v4float Function
352 %304 = OpVariable %_ptr_Function_v2float Function
353 %314 = OpVariable %_ptr_Function_v4float Function
354 %315 = OpVariable %_ptr_Function_v2float Function
355 %325 = OpVariable %_ptr_Function_v4float Function
356 %326 = OpVariable %_ptr_Function_v2float Function
357 %336 = OpVariable %_ptr_Function_v4float Function
358 %337 = OpVariable %_ptr_Function_v2float Function
359 %347 = OpVariable %_ptr_Function_v4float Function
360 %348 = OpVariable %_ptr_Function_v2float Function
361 %358 = OpVariable %_ptr_Function_v4float Function
362 %359 = OpVariable %_ptr_Function_v2float Function
363 %369 = OpVariable %_ptr_Function_v4float Function
364 %370 = OpVariable %_ptr_Function_v2float Function
365 %380 = OpVariable %_ptr_Function_v4float Function
366 %381 = OpVariable %_ptr_Function_v2float Function
367 OpStore %outputColor_Stage0 %100
368 OpStore %outputCoverage_Stage0 %100
369 OpStore %_6_output %104
370 %106 = OpLoad %v2float %vLocalCoord_Stage0
371 %108 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
372 %110 = OpLoad %v2float %108
373 %111 = OpVectorTimesScalar %v2float %110 %float_12
374 %112 = OpFSub %v2float %106 %111
375 OpStore %_7_coord %112
376 OpStore %_8_coordSampled %114
377 OpStore %_8_coordSampled %112
378 OpStore %115 %100
379 OpStore %116 %112
380 %117 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %115 %116
381 %119 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
382 %120 = OpLoad %v4float %119
383 %121 = OpCompositeExtract %float %120 0
384 %122 = OpVectorTimesScalar %v4float %117 %121
385 %123 = OpFAdd %v4float %104 %122
386 OpStore %_6_output %123
387 %124 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
388 %125 = OpLoad %v2float %124
389 %126 = OpFAdd %v2float %112 %125
390 OpStore %_7_coord %126
391 OpStore %_8_coordSampled %126
392 OpStore %127 %100
393 OpStore %128 %126
394 %129 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %127 %128
395 %130 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
396 %131 = OpLoad %v4float %130
397 %132 = OpCompositeExtract %float %131 1
398 %133 = OpVectorTimesScalar %v4float %129 %132
399 %134 = OpFAdd %v4float %123 %133
400 OpStore %_6_output %134
401 %135 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
402 %136 = OpLoad %v2float %135
403 %137 = OpFAdd %v2float %126 %136
404 OpStore %_7_coord %137
405 OpStore %_8_coordSampled %137
406 OpStore %138 %100
407 OpStore %139 %137
408 %140 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %138 %139
409 %141 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
410 %142 = OpLoad %v4float %141
411 %143 = OpCompositeExtract %float %142 2
412 %144 = OpVectorTimesScalar %v4float %140 %143
413 %145 = OpFAdd %v4float %134 %144
414 OpStore %_6_output %145
415 %146 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
416 %147 = OpLoad %v2float %146
417 %148 = OpFAdd %v2float %137 %147
418 OpStore %_7_coord %148
419 OpStore %_8_coordSampled %148
420 OpStore %149 %100
421 OpStore %150 %148
422 %151 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %149 %150
423 %152 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
424 %153 = OpLoad %v4float %152
425 %154 = OpCompositeExtract %float %153 3
426 %155 = OpVectorTimesScalar %v4float %151 %154
427 %156 = OpFAdd %v4float %145 %155
428 OpStore %_6_output %156
429 %157 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
430 %158 = OpLoad %v2float %157
431 %159 = OpFAdd %v2float %148 %158
432 OpStore %_7_coord %159
433 OpStore %_8_coordSampled %159
434 OpStore %160 %100
435 OpStore %161 %159
436 %162 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %160 %161
437 %163 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
438 %164 = OpLoad %v4float %163
439 %165 = OpCompositeExtract %float %164 0
440 %166 = OpVectorTimesScalar %v4float %162 %165
441 %167 = OpFAdd %v4float %156 %166
442 OpStore %_6_output %167
443 %168 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
444 %169 = OpLoad %v2float %168
445 %170 = OpFAdd %v2float %159 %169
446 OpStore %_7_coord %170
447 OpStore %_8_coordSampled %170
448 OpStore %171 %100
449 OpStore %172 %170
450 %173 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %171 %172
451 %174 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
452 %175 = OpLoad %v4float %174
453 %176 = OpCompositeExtract %float %175 1
454 %177 = OpVectorTimesScalar %v4float %173 %176
455 %178 = OpFAdd %v4float %167 %177
456 OpStore %_6_output %178
457 %179 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
458 %180 = OpLoad %v2float %179
459 %181 = OpFAdd %v2float %170 %180
460 OpStore %_7_coord %181
461 OpStore %_8_coordSampled %181
462 OpStore %182 %100
463 OpStore %183 %181
464 %184 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %182 %183
465 %185 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
466 %186 = OpLoad %v4float %185
467 %187 = OpCompositeExtract %float %186 2
468 %188 = OpVectorTimesScalar %v4float %184 %187
469 %189 = OpFAdd %v4float %178 %188
470 OpStore %_6_output %189
471 %190 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
472 %191 = OpLoad %v2float %190
473 %192 = OpFAdd %v2float %181 %191
474 OpStore %_7_coord %192
475 OpStore %_8_coordSampled %192
476 OpStore %193 %100
477 OpStore %194 %192
478 %195 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %193 %194
479 %196 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
480 %197 = OpLoad %v4float %196
481 %198 = OpCompositeExtract %float %197 3
482 %199 = OpVectorTimesScalar %v4float %195 %198
483 %200 = OpFAdd %v4float %189 %199
484 OpStore %_6_output %200
485 %201 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
486 %202 = OpLoad %v2float %201
487 %203 = OpFAdd %v2float %192 %202
488 OpStore %_7_coord %203
489 OpStore %_8_coordSampled %203
490 OpStore %204 %100
491 OpStore %205 %203
492 %206 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %204 %205
493 %207 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
494 %208 = OpLoad %v4float %207
495 %209 = OpCompositeExtract %float %208 0
496 %210 = OpVectorTimesScalar %v4float %206 %209
497 %211 = OpFAdd %v4float %200 %210
498 OpStore %_6_output %211
499 %212 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
500 %213 = OpLoad %v2float %212
501 %214 = OpFAdd %v2float %203 %213
502 OpStore %_7_coord %214
503 OpStore %_8_coordSampled %214
504 OpStore %215 %100
505 OpStore %216 %214
506 %217 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %215 %216
507 %218 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
508 %219 = OpLoad %v4float %218
509 %220 = OpCompositeExtract %float %219 1
510 %221 = OpVectorTimesScalar %v4float %217 %220
511 %222 = OpFAdd %v4float %211 %221
512 OpStore %_6_output %222
513 %223 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
514 %224 = OpLoad %v2float %223
515 %225 = OpFAdd %v2float %214 %224
516 OpStore %_7_coord %225
517 OpStore %_8_coordSampled %225
518 OpStore %226 %100
519 OpStore %227 %225
520 %228 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %226 %227
521 %229 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
522 %230 = OpLoad %v4float %229
523 %231 = OpCompositeExtract %float %230 2
524 %232 = OpVectorTimesScalar %v4float %228 %231
525 %233 = OpFAdd %v4float %222 %232
526 OpStore %_6_output %233
527 %234 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
528 %235 = OpLoad %v2float %234
529 %236 = OpFAdd %v2float %225 %235
530 OpStore %_7_coord %236
531 OpStore %_8_coordSampled %236
532 OpStore %237 %100
533 OpStore %238 %236
534 %239 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %237 %238
535 %240 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
536 %241 = OpLoad %v4float %240
537 %242 = OpCompositeExtract %float %241 3
538 %243 = OpVectorTimesScalar %v4float %239 %242
539 %244 = OpFAdd %v4float %233 %243
540 OpStore %_6_output %244
541 %245 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
542 %246 = OpLoad %v2float %245
543 %247 = OpFAdd %v2float %236 %246
544 OpStore %_7_coord %247
545 OpStore %_8_coordSampled %247
546 OpStore %248 %100
547 OpStore %249 %247
548 %250 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %248 %249
549 %251 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
550 %252 = OpLoad %v4float %251
551 %253 = OpCompositeExtract %float %252 0
552 %254 = OpVectorTimesScalar %v4float %250 %253
553 %255 = OpFAdd %v4float %244 %254
554 OpStore %_6_output %255
555 %256 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
556 %257 = OpLoad %v2float %256
557 %258 = OpFAdd %v2float %247 %257
558 OpStore %_7_coord %258
559 OpStore %_8_coordSampled %258
560 OpStore %259 %100
561 OpStore %260 %258
562 %261 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %259 %260
563 %262 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
564 %263 = OpLoad %v4float %262
565 %264 = OpCompositeExtract %float %263 1
566 %265 = OpVectorTimesScalar %v4float %261 %264
567 %266 = OpFAdd %v4float %255 %265
568 OpStore %_6_output %266
569 %267 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
570 %268 = OpLoad %v2float %267
571 %269 = OpFAdd %v2float %258 %268
572 OpStore %_7_coord %269
573 OpStore %_8_coordSampled %269
574 OpStore %270 %100
575 OpStore %271 %269
576 %272 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %270 %271
577 %273 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
578 %274 = OpLoad %v4float %273
579 %275 = OpCompositeExtract %float %274 2
580 %276 = OpVectorTimesScalar %v4float %272 %275
581 %277 = OpFAdd %v4float %266 %276
582 OpStore %_6_output %277
583 %278 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
584 %279 = OpLoad %v2float %278
585 %280 = OpFAdd %v2float %269 %279
586 OpStore %_7_coord %280
587 OpStore %_8_coordSampled %280
588 OpStore %281 %100
589 OpStore %282 %280
590 %283 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %281 %282
591 %284 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
592 %285 = OpLoad %v4float %284
593 %286 = OpCompositeExtract %float %285 3
594 %287 = OpVectorTimesScalar %v4float %283 %286
595 %288 = OpFAdd %v4float %277 %287
596 OpStore %_6_output %288
597 %289 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
598 %290 = OpLoad %v2float %289
599 %291 = OpFAdd %v2float %280 %290
600 OpStore %_7_coord %291
601 OpStore %_8_coordSampled %291
602 OpStore %292 %100
603 OpStore %293 %291
604 %294 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %292 %293
605 %295 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
606 %296 = OpLoad %v4float %295
607 %297 = OpCompositeExtract %float %296 0
608 %298 = OpVectorTimesScalar %v4float %294 %297
609 %299 = OpFAdd %v4float %288 %298
610 OpStore %_6_output %299
611 %300 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
612 %301 = OpLoad %v2float %300
613 %302 = OpFAdd %v2float %291 %301
614 OpStore %_7_coord %302
615 OpStore %_8_coordSampled %302
616 OpStore %303 %100
617 OpStore %304 %302
618 %305 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %303 %304
619 %306 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
620 %307 = OpLoad %v4float %306
621 %308 = OpCompositeExtract %float %307 1
622 %309 = OpVectorTimesScalar %v4float %305 %308
623 %310 = OpFAdd %v4float %299 %309
624 OpStore %_6_output %310
625 %311 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
626 %312 = OpLoad %v2float %311
627 %313 = OpFAdd %v2float %302 %312
628 OpStore %_7_coord %313
629 OpStore %_8_coordSampled %313
630 OpStore %314 %100
631 OpStore %315 %313
632 %316 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %314 %315
633 %317 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
634 %318 = OpLoad %v4float %317
635 %319 = OpCompositeExtract %float %318 2
636 %320 = OpVectorTimesScalar %v4float %316 %319
637 %321 = OpFAdd %v4float %310 %320
638 OpStore %_6_output %321
639 %322 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
640 %323 = OpLoad %v2float %322
641 %324 = OpFAdd %v2float %313 %323
642 OpStore %_7_coord %324
643 OpStore %_8_coordSampled %324
644 OpStore %325 %100
645 OpStore %326 %324
646 %327 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %325 %326
647 %328 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
648 %329 = OpLoad %v4float %328
649 %330 = OpCompositeExtract %float %329 3
650 %331 = OpVectorTimesScalar %v4float %327 %330
651 %332 = OpFAdd %v4float %321 %331
652 OpStore %_6_output %332
653 %333 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
654 %334 = OpLoad %v2float %333
655 %335 = OpFAdd %v2float %324 %334
656 OpStore %_7_coord %335
657 OpStore %_8_coordSampled %335
658 OpStore %336 %100
659 OpStore %337 %335
660 %338 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %336 %337
661 %339 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
662 %340 = OpLoad %v4float %339
663 %341 = OpCompositeExtract %float %340 0
664 %342 = OpVectorTimesScalar %v4float %338 %341
665 %343 = OpFAdd %v4float %332 %342
666 OpStore %_6_output %343
667 %344 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
668 %345 = OpLoad %v2float %344
669 %346 = OpFAdd %v2float %335 %345
670 OpStore %_7_coord %346
671 OpStore %_8_coordSampled %346
672 OpStore %347 %100
673 OpStore %348 %346
674 %349 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %347 %348
675 %350 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
676 %351 = OpLoad %v4float %350
677 %352 = OpCompositeExtract %float %351 1
678 %353 = OpVectorTimesScalar %v4float %349 %352
679 %354 = OpFAdd %v4float %343 %353
680 OpStore %_6_output %354
681 %355 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
682 %356 = OpLoad %v2float %355
683 %357 = OpFAdd %v2float %346 %356
684 OpStore %_7_coord %357
685 OpStore %_8_coordSampled %357
686 OpStore %358 %100
687 OpStore %359 %357
688 %360 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %358 %359
689 %361 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
690 %362 = OpLoad %v4float %361
691 %363 = OpCompositeExtract %float %362 2
692 %364 = OpVectorTimesScalar %v4float %360 %363
693 %365 = OpFAdd %v4float %354 %364
694 OpStore %_6_output %365
695 %366 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
696 %367 = OpLoad %v2float %366
697 %368 = OpFAdd %v2float %357 %367
698 OpStore %_7_coord %368
699 OpStore %_8_coordSampled %368
700 OpStore %369 %100
701 OpStore %370 %368
702 %371 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %369 %370
703 %372 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
704 %373 = OpLoad %v4float %372
705 %374 = OpCompositeExtract %float %373 3
706 %375 = OpVectorTimesScalar %v4float %371 %374
707 %376 = OpFAdd %v4float %365 %375
708 OpStore %_6_output %376
709 %377 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
710 %378 = OpLoad %v2float %377
711 %379 = OpFAdd %v2float %368 %378
712 OpStore %_7_coord %379
713 OpStore %_8_coordSampled %379
714 OpStore %380 %100
715 OpStore %381 %379
716 %382 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %380 %381
717 %383 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_6
718 %384 = OpLoad %v4float %383
719 %385 = OpCompositeExtract %float %384 0
720 %386 = OpVectorTimesScalar %v4float %382 %385
721 %387 = OpFAdd %v4float %376 %386
722 OpStore %_6_output %387
723 %388 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
724 %389 = OpLoad %v2float %388
725 %390 = OpFAdd %v2float %379 %389
726 OpStore %_7_coord %390
727 %391 = OpFMul %v4float %387 %100
728 OpStore %_6_output %391
729 OpStore %output_Stage1 %391
730 %392 = OpFMul %v4float %391 %100
731 OpStore %sk_FragColor %392
732 OpReturn
733 OpFunctionEnd