blob: 75f4a96ec0837925997e58df24abf04a82fda72a [file] [log] [blame]
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %sk_Clockwise %sk_FragColor %vLocalCoord_Stage0
OpExecutionMode %main OriginUpperLeft
OpName %uniformBuffer "uniformBuffer"
OpMemberName %uniformBuffer 0 "sk_RTAdjust"
OpMemberName %uniformBuffer 1 "uIncrement_Stage1_c0"
OpMemberName %uniformBuffer 2 "uKernel_Stage1_c0"
OpMemberName %uniformBuffer 3 "umatrix_Stage1_c0_c0"
OpMemberName %uniformBuffer 4 "uborder_Stage1_c0_c0_c0"
OpMemberName %uniformBuffer 5 "usubset_Stage1_c0_c0_c0"
OpMemberName %uniformBuffer 6 "unorm_Stage1_c0_c0_c0"
OpName %sk_Clockwise "sk_Clockwise"
OpName %sk_FragColor "sk_FragColor"
OpName %uTextureSampler_0_Stage1 "uTextureSampler_0_Stage1"
OpName %vLocalCoord_Stage0 "vLocalCoord_Stage0"
OpName %MatrixEffect_Stage1_c0_c0_h4h4f2 "MatrixEffect_Stage1_c0_c0_h4h4f2"
OpName %_1_inCoord "_1_inCoord"
OpName %_2_subsetCoord "_2_subsetCoord"
OpName %_3_clampedCoord "_3_clampedCoord"
OpName %_4_textureColor "_4_textureColor"
OpName %_5_snappedX "_5_snappedX"
OpName %main "main"
OpName %outputColor_Stage0 "outputColor_Stage0"
OpName %outputCoverage_Stage0 "outputCoverage_Stage0"
OpName %_6_output "_6_output"
OpName %_7_coord "_7_coord"
OpName %_8_coordSampled "_8_coordSampled"
OpName %output_Stage1 "output_Stage1"
OpDecorate %_arr_v4float_int_7 ArrayStride 16
OpMemberDecorate %uniformBuffer 0 Offset 0
OpMemberDecorate %uniformBuffer 1 Offset 16
OpMemberDecorate %uniformBuffer 1 RelaxedPrecision
OpMemberDecorate %uniformBuffer 2 Offset 32
OpMemberDecorate %uniformBuffer 2 RelaxedPrecision
OpMemberDecorate %uniformBuffer 3 Offset 144
OpMemberDecorate %uniformBuffer 3 ColMajor
OpMemberDecorate %uniformBuffer 3 MatrixStride 16
OpMemberDecorate %uniformBuffer 4 Offset 192
OpMemberDecorate %uniformBuffer 4 RelaxedPrecision
OpMemberDecorate %uniformBuffer 5 Offset 208
OpMemberDecorate %uniformBuffer 6 Offset 224
OpDecorate %uniformBuffer Block
OpDecorate %4 Binding 0
OpDecorate %4 DescriptorSet 0
OpDecorate %sk_Clockwise BuiltIn FrontFacing
OpDecorate %sk_FragColor RelaxedPrecision
OpDecorate %sk_FragColor Location 0
OpDecorate %sk_FragColor Index 0
OpDecorate %uTextureSampler_0_Stage1 RelaxedPrecision
OpDecorate %uTextureSampler_0_Stage1 Binding 0
OpDecorate %uTextureSampler_0_Stage1 DescriptorSet 0
OpDecorate %vLocalCoord_Stage0 Location 0
OpDecorate %_4_textureColor RelaxedPrecision
OpDecorate %63 RelaxedPrecision
OpDecorate %93 RelaxedPrecision
OpDecorate %94 RelaxedPrecision
OpDecorate %outputColor_Stage0 RelaxedPrecision
OpDecorate %outputCoverage_Stage0 RelaxedPrecision
OpDecorate %_6_output RelaxedPrecision
OpDecorate %109 RelaxedPrecision
OpDecorate %110 RelaxedPrecision
OpDecorate %119 RelaxedPrecision
OpDecorate %120 RelaxedPrecision
OpDecorate %121 RelaxedPrecision
OpDecorate %122 RelaxedPrecision
OpDecorate %124 RelaxedPrecision
OpDecorate %130 RelaxedPrecision
OpDecorate %131 RelaxedPrecision
OpDecorate %132 RelaxedPrecision
OpDecorate %133 RelaxedPrecision
OpDecorate %135 RelaxedPrecision
OpDecorate %141 RelaxedPrecision
OpDecorate %142 RelaxedPrecision
OpDecorate %143 RelaxedPrecision
OpDecorate %144 RelaxedPrecision
OpDecorate %146 RelaxedPrecision
OpDecorate %152 RelaxedPrecision
OpDecorate %153 RelaxedPrecision
OpDecorate %154 RelaxedPrecision
OpDecorate %155 RelaxedPrecision
OpDecorate %157 RelaxedPrecision
OpDecorate %163 RelaxedPrecision
OpDecorate %164 RelaxedPrecision
OpDecorate %165 RelaxedPrecision
OpDecorate %166 RelaxedPrecision
OpDecorate %168 RelaxedPrecision
OpDecorate %174 RelaxedPrecision
OpDecorate %175 RelaxedPrecision
OpDecorate %176 RelaxedPrecision
OpDecorate %177 RelaxedPrecision
OpDecorate %179 RelaxedPrecision
OpDecorate %185 RelaxedPrecision
OpDecorate %186 RelaxedPrecision
OpDecorate %187 RelaxedPrecision
OpDecorate %188 RelaxedPrecision
OpDecorate %190 RelaxedPrecision
OpDecorate %196 RelaxedPrecision
OpDecorate %197 RelaxedPrecision
OpDecorate %198 RelaxedPrecision
OpDecorate %199 RelaxedPrecision
OpDecorate %201 RelaxedPrecision
OpDecorate %207 RelaxedPrecision
OpDecorate %208 RelaxedPrecision
OpDecorate %209 RelaxedPrecision
OpDecorate %210 RelaxedPrecision
OpDecorate %212 RelaxedPrecision
OpDecorate %218 RelaxedPrecision
OpDecorate %219 RelaxedPrecision
OpDecorate %220 RelaxedPrecision
OpDecorate %221 RelaxedPrecision
OpDecorate %223 RelaxedPrecision
OpDecorate %229 RelaxedPrecision
OpDecorate %230 RelaxedPrecision
OpDecorate %231 RelaxedPrecision
OpDecorate %232 RelaxedPrecision
OpDecorate %234 RelaxedPrecision
OpDecorate %240 RelaxedPrecision
OpDecorate %241 RelaxedPrecision
OpDecorate %242 RelaxedPrecision
OpDecorate %243 RelaxedPrecision
OpDecorate %245 RelaxedPrecision
OpDecorate %251 RelaxedPrecision
OpDecorate %252 RelaxedPrecision
OpDecorate %253 RelaxedPrecision
OpDecorate %254 RelaxedPrecision
OpDecorate %256 RelaxedPrecision
OpDecorate %262 RelaxedPrecision
OpDecorate %263 RelaxedPrecision
OpDecorate %264 RelaxedPrecision
OpDecorate %265 RelaxedPrecision
OpDecorate %267 RelaxedPrecision
OpDecorate %273 RelaxedPrecision
OpDecorate %274 RelaxedPrecision
OpDecorate %275 RelaxedPrecision
OpDecorate %276 RelaxedPrecision
OpDecorate %278 RelaxedPrecision
OpDecorate %284 RelaxedPrecision
OpDecorate %285 RelaxedPrecision
OpDecorate %286 RelaxedPrecision
OpDecorate %287 RelaxedPrecision
OpDecorate %289 RelaxedPrecision
OpDecorate %295 RelaxedPrecision
OpDecorate %296 RelaxedPrecision
OpDecorate %297 RelaxedPrecision
OpDecorate %298 RelaxedPrecision
OpDecorate %300 RelaxedPrecision
OpDecorate %306 RelaxedPrecision
OpDecorate %307 RelaxedPrecision
OpDecorate %308 RelaxedPrecision
OpDecorate %309 RelaxedPrecision
OpDecorate %311 RelaxedPrecision
OpDecorate %317 RelaxedPrecision
OpDecorate %318 RelaxedPrecision
OpDecorate %319 RelaxedPrecision
OpDecorate %320 RelaxedPrecision
OpDecorate %322 RelaxedPrecision
OpDecorate %328 RelaxedPrecision
OpDecorate %329 RelaxedPrecision
OpDecorate %330 RelaxedPrecision
OpDecorate %331 RelaxedPrecision
OpDecorate %333 RelaxedPrecision
OpDecorate %339 RelaxedPrecision
OpDecorate %340 RelaxedPrecision
OpDecorate %341 RelaxedPrecision
OpDecorate %342 RelaxedPrecision
OpDecorate %344 RelaxedPrecision
OpDecorate %350 RelaxedPrecision
OpDecorate %351 RelaxedPrecision
OpDecorate %352 RelaxedPrecision
OpDecorate %353 RelaxedPrecision
OpDecorate %355 RelaxedPrecision
OpDecorate %361 RelaxedPrecision
OpDecorate %362 RelaxedPrecision
OpDecorate %363 RelaxedPrecision
OpDecorate %364 RelaxedPrecision
OpDecorate %366 RelaxedPrecision
OpDecorate %372 RelaxedPrecision
OpDecorate %373 RelaxedPrecision
OpDecorate %374 RelaxedPrecision
OpDecorate %375 RelaxedPrecision
OpDecorate %377 RelaxedPrecision
OpDecorate %383 RelaxedPrecision
OpDecorate %384 RelaxedPrecision
OpDecorate %385 RelaxedPrecision
OpDecorate %386 RelaxedPrecision
OpDecorate %388 RelaxedPrecision
OpDecorate %390 RelaxedPrecision
OpDecorate %output_Stage1 RelaxedPrecision
OpDecorate %392 RelaxedPrecision
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%v2float = OpTypeVector %float 2
%int = OpTypeInt 32 1
%int_7 = OpConstant %int 7
%_arr_v4float_int_7 = OpTypeArray %v4float %int_7
%v3float = OpTypeVector %float 3
%mat3v3float = OpTypeMatrix %v3float 3
%uniformBuffer = OpTypeStruct %v4float %v2float %_arr_v4float_int_7 %mat3v3float %v4float %v4float %v4float
%_ptr_Uniform_uniformBuffer = OpTypePointer Uniform %uniformBuffer
%4 = OpVariable %_ptr_Uniform_uniformBuffer Uniform
%bool = OpTypeBool
%_ptr_Input_bool = OpTypePointer Input %bool
%sk_Clockwise = OpVariable %_ptr_Input_bool Input
%_ptr_Output_v4float = OpTypePointer Output %v4float
%sk_FragColor = OpVariable %_ptr_Output_v4float Output
%21 = OpTypeImage %float 2D 0 0 0 1 Unknown
%22 = OpTypeSampledImage %21
%_ptr_UniformConstant_22 = OpTypePointer UniformConstant %22
%uTextureSampler_0_Stage1 = OpVariable %_ptr_UniformConstant_22 UniformConstant
%_ptr_Input_v2float = OpTypePointer Input %v2float
%vLocalCoord_Stage0 = OpVariable %_ptr_Input_v2float Input
%_ptr_Function_v4float = OpTypePointer Function %v4float
%_ptr_Function_v2float = OpTypePointer Function %v2float
%28 = OpTypeFunction %v4float %_ptr_Function_v4float %_ptr_Function_v2float
%int_3 = OpConstant %int 3
%_ptr_Uniform_mat3v3float = OpTypePointer Uniform %mat3v3float
%float_1 = OpConstant %float 1
%int_6 = OpConstant %int 6
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
%_ptr_Function_float = OpTypePointer Function %float
%int_0 = OpConstant %int 0
%int_1 = OpConstant %int 1
%float_0_00100000005 = OpConstant %float 0.00100000005
%float_0_5 = OpConstant %float 0.5
%true = OpConstantTrue %bool
%int_5 = OpConstant %int 5
%int_4 = OpConstant %int 4
%void = OpTypeVoid
%96 = OpTypeFunction %void
%100 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%float_0 = OpConstant %float 0
%103 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%float_12 = OpConstant %float 12
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
%113 = OpConstantComposite %v2float %float_0 %float_0
%int_2 = OpConstant %int 2
%MatrixEffect_Stage1_c0_c0_h4h4f2 = OpFunction %v4float None %28
%29 = OpFunctionParameter %_ptr_Function_v4float
%30 = OpFunctionParameter %_ptr_Function_v2float
%31 = OpLabel
%_1_inCoord = OpVariable %_ptr_Function_v2float Function
%_2_subsetCoord = OpVariable %_ptr_Function_v2float Function
%_3_clampedCoord = OpVariable %_ptr_Function_v2float Function
%_4_textureColor = OpVariable %_ptr_Function_v4float Function
%_5_snappedX = OpVariable %_ptr_Function_float Function
%34 = OpAccessChain %_ptr_Uniform_mat3v3float %4 %int_3
%36 = OpLoad %mat3v3float %34
%37 = OpLoad %v2float %30
%38 = OpCompositeExtract %float %37 0
%39 = OpCompositeExtract %float %37 1
%41 = OpCompositeConstruct %v3float %38 %39 %float_1
%42 = OpMatrixTimesVector %v3float %36 %41
%43 = OpVectorShuffle %v2float %42 %42 0 1
OpStore %_1_inCoord %43
%45 = OpAccessChain %_ptr_Uniform_v4float %4 %int_6
%47 = OpLoad %v4float %45
%48 = OpVectorShuffle %v2float %47 %47 0 1
%49 = OpFMul %v2float %43 %48
OpStore %_1_inCoord %49
%51 = OpCompositeExtract %float %49 0
%52 = OpAccessChain %_ptr_Function_float %_2_subsetCoord %int_0
OpStore %52 %51
%55 = OpLoad %v2float %_1_inCoord
%56 = OpCompositeExtract %float %55 1
%57 = OpAccessChain %_ptr_Function_float %_2_subsetCoord %int_1
OpStore %57 %56
%60 = OpLoad %v2float %_2_subsetCoord
OpStore %_3_clampedCoord %60
%63 = OpLoad %22 %uTextureSampler_0_Stage1
%64 = OpAccessChain %_ptr_Uniform_v4float %4 %int_6
%65 = OpLoad %v4float %64
%66 = OpVectorShuffle %v2float %65 %65 2 3
%67 = OpFMul %v2float %60 %66
%62 = OpImageSampleImplicitLod %v4float %63 %67
OpStore %_4_textureColor %62
%70 = OpLoad %v2float %_1_inCoord
%71 = OpCompositeExtract %float %70 0
%73 = OpFAdd %float %71 %float_0_00100000005
%69 = OpExtInst %float %1 Floor %73
%75 = OpFAdd %float %69 %float_0_5
OpStore %_5_snappedX %75
%78 = OpAccessChain %_ptr_Uniform_v4float %4 %int_5
%79 = OpLoad %v4float %78
%80 = OpCompositeExtract %float %79 0
%81 = OpFOrdLessThan %bool %75 %80
OpSelectionMerge %83 None
OpBranchConditional %81 %83 %82
%82 = OpLabel
%84 = OpAccessChain %_ptr_Uniform_v4float %4 %int_5
%85 = OpLoad %v4float %84
%86 = OpCompositeExtract %float %85 2
%87 = OpFOrdGreaterThan %bool %75 %86
OpBranch %83
%83 = OpLabel
%88 = OpPhi %bool %true %31 %87 %82
OpSelectionMerge %90 None
OpBranchConditional %88 %89 %90
%89 = OpLabel
%92 = OpAccessChain %_ptr_Uniform_v4float %4 %int_4
%93 = OpLoad %v4float %92
OpStore %_4_textureColor %93
OpBranch %90
%90 = OpLabel
%94 = OpLoad %v4float %_4_textureColor
OpReturnValue %94
OpFunctionEnd
%main = OpFunction %void None %96
%97 = OpLabel
%outputColor_Stage0 = OpVariable %_ptr_Function_v4float Function
%outputCoverage_Stage0 = OpVariable %_ptr_Function_v4float Function
%_6_output = OpVariable %_ptr_Function_v4float Function
%_7_coord = OpVariable %_ptr_Function_v2float Function
%_8_coordSampled = OpVariable %_ptr_Function_v2float Function
%114 = OpVariable %_ptr_Function_v4float Function
%115 = OpVariable %_ptr_Function_v2float Function
%126 = OpVariable %_ptr_Function_v4float Function
%127 = OpVariable %_ptr_Function_v2float Function
%137 = OpVariable %_ptr_Function_v4float Function
%138 = OpVariable %_ptr_Function_v2float Function
%148 = OpVariable %_ptr_Function_v4float Function
%149 = OpVariable %_ptr_Function_v2float Function
%159 = OpVariable %_ptr_Function_v4float Function
%160 = OpVariable %_ptr_Function_v2float Function
%170 = OpVariable %_ptr_Function_v4float Function
%171 = OpVariable %_ptr_Function_v2float Function
%181 = OpVariable %_ptr_Function_v4float Function
%182 = OpVariable %_ptr_Function_v2float Function
%192 = OpVariable %_ptr_Function_v4float Function
%193 = OpVariable %_ptr_Function_v2float Function
%203 = OpVariable %_ptr_Function_v4float Function
%204 = OpVariable %_ptr_Function_v2float Function
%214 = OpVariable %_ptr_Function_v4float Function
%215 = OpVariable %_ptr_Function_v2float Function
%225 = OpVariable %_ptr_Function_v4float Function
%226 = OpVariable %_ptr_Function_v2float Function
%236 = OpVariable %_ptr_Function_v4float Function
%237 = OpVariable %_ptr_Function_v2float Function
%247 = OpVariable %_ptr_Function_v4float Function
%248 = OpVariable %_ptr_Function_v2float Function
%258 = OpVariable %_ptr_Function_v4float Function
%259 = OpVariable %_ptr_Function_v2float Function
%269 = OpVariable %_ptr_Function_v4float Function
%270 = OpVariable %_ptr_Function_v2float Function
%280 = OpVariable %_ptr_Function_v4float Function
%281 = OpVariable %_ptr_Function_v2float Function
%291 = OpVariable %_ptr_Function_v4float Function
%292 = OpVariable %_ptr_Function_v2float Function
%302 = OpVariable %_ptr_Function_v4float Function
%303 = OpVariable %_ptr_Function_v2float Function
%313 = OpVariable %_ptr_Function_v4float Function
%314 = OpVariable %_ptr_Function_v2float Function
%324 = OpVariable %_ptr_Function_v4float Function
%325 = OpVariable %_ptr_Function_v2float Function
%335 = OpVariable %_ptr_Function_v4float Function
%336 = OpVariable %_ptr_Function_v2float Function
%346 = OpVariable %_ptr_Function_v4float Function
%347 = OpVariable %_ptr_Function_v2float Function
%357 = OpVariable %_ptr_Function_v4float Function
%358 = OpVariable %_ptr_Function_v2float Function
%368 = OpVariable %_ptr_Function_v4float Function
%369 = OpVariable %_ptr_Function_v2float Function
%379 = OpVariable %_ptr_Function_v4float Function
%380 = OpVariable %_ptr_Function_v2float Function
%output_Stage1 = OpVariable %_ptr_Function_v4float Function
OpStore %outputColor_Stage0 %100
OpStore %outputCoverage_Stage0 %100
OpStore %_6_output %103
%105 = OpLoad %v2float %vLocalCoord_Stage0
%107 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%109 = OpLoad %v2float %107
%110 = OpVectorTimesScalar %v2float %109 %float_12
%111 = OpFSub %v2float %105 %110
OpStore %_7_coord %111
OpStore %_8_coordSampled %113
OpStore %_8_coordSampled %111
OpStore %114 %100
OpStore %115 %111
%116 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %114 %115
%118 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
%119 = OpLoad %v4float %118
%120 = OpCompositeExtract %float %119 0
%121 = OpVectorTimesScalar %v4float %116 %120
%122 = OpFAdd %v4float %103 %121
OpStore %_6_output %122
%123 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%124 = OpLoad %v2float %123
%125 = OpFAdd %v2float %111 %124
OpStore %_7_coord %125
OpStore %_8_coordSampled %125
OpStore %126 %100
OpStore %127 %125
%128 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %126 %127
%129 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
%130 = OpLoad %v4float %129
%131 = OpCompositeExtract %float %130 1
%132 = OpVectorTimesScalar %v4float %128 %131
%133 = OpFAdd %v4float %122 %132
OpStore %_6_output %133
%134 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%135 = OpLoad %v2float %134
%136 = OpFAdd %v2float %125 %135
OpStore %_7_coord %136
OpStore %_8_coordSampled %136
OpStore %137 %100
OpStore %138 %136
%139 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %137 %138
%140 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
%141 = OpLoad %v4float %140
%142 = OpCompositeExtract %float %141 2
%143 = OpVectorTimesScalar %v4float %139 %142
%144 = OpFAdd %v4float %133 %143
OpStore %_6_output %144
%145 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%146 = OpLoad %v2float %145
%147 = OpFAdd %v2float %136 %146
OpStore %_7_coord %147
OpStore %_8_coordSampled %147
OpStore %148 %100
OpStore %149 %147
%150 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %148 %149
%151 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
%152 = OpLoad %v4float %151
%153 = OpCompositeExtract %float %152 3
%154 = OpVectorTimesScalar %v4float %150 %153
%155 = OpFAdd %v4float %144 %154
OpStore %_6_output %155
%156 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%157 = OpLoad %v2float %156
%158 = OpFAdd %v2float %147 %157
OpStore %_7_coord %158
OpStore %_8_coordSampled %158
OpStore %159 %100
OpStore %160 %158
%161 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %159 %160
%162 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
%163 = OpLoad %v4float %162
%164 = OpCompositeExtract %float %163 0
%165 = OpVectorTimesScalar %v4float %161 %164
%166 = OpFAdd %v4float %155 %165
OpStore %_6_output %166
%167 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%168 = OpLoad %v2float %167
%169 = OpFAdd %v2float %158 %168
OpStore %_7_coord %169
OpStore %_8_coordSampled %169
OpStore %170 %100
OpStore %171 %169
%172 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %170 %171
%173 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
%174 = OpLoad %v4float %173
%175 = OpCompositeExtract %float %174 1
%176 = OpVectorTimesScalar %v4float %172 %175
%177 = OpFAdd %v4float %166 %176
OpStore %_6_output %177
%178 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%179 = OpLoad %v2float %178
%180 = OpFAdd %v2float %169 %179
OpStore %_7_coord %180
OpStore %_8_coordSampled %180
OpStore %181 %100
OpStore %182 %180
%183 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %181 %182
%184 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
%185 = OpLoad %v4float %184
%186 = OpCompositeExtract %float %185 2
%187 = OpVectorTimesScalar %v4float %183 %186
%188 = OpFAdd %v4float %177 %187
OpStore %_6_output %188
%189 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%190 = OpLoad %v2float %189
%191 = OpFAdd %v2float %180 %190
OpStore %_7_coord %191
OpStore %_8_coordSampled %191
OpStore %192 %100
OpStore %193 %191
%194 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %192 %193
%195 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
%196 = OpLoad %v4float %195
%197 = OpCompositeExtract %float %196 3
%198 = OpVectorTimesScalar %v4float %194 %197
%199 = OpFAdd %v4float %188 %198
OpStore %_6_output %199
%200 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%201 = OpLoad %v2float %200
%202 = OpFAdd %v2float %191 %201
OpStore %_7_coord %202
OpStore %_8_coordSampled %202
OpStore %203 %100
OpStore %204 %202
%205 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %203 %204
%206 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
%207 = OpLoad %v4float %206
%208 = OpCompositeExtract %float %207 0
%209 = OpVectorTimesScalar %v4float %205 %208
%210 = OpFAdd %v4float %199 %209
OpStore %_6_output %210
%211 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%212 = OpLoad %v2float %211
%213 = OpFAdd %v2float %202 %212
OpStore %_7_coord %213
OpStore %_8_coordSampled %213
OpStore %214 %100
OpStore %215 %213
%216 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %214 %215
%217 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
%218 = OpLoad %v4float %217
%219 = OpCompositeExtract %float %218 1
%220 = OpVectorTimesScalar %v4float %216 %219
%221 = OpFAdd %v4float %210 %220
OpStore %_6_output %221
%222 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%223 = OpLoad %v2float %222
%224 = OpFAdd %v2float %213 %223
OpStore %_7_coord %224
OpStore %_8_coordSampled %224
OpStore %225 %100
OpStore %226 %224
%227 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %225 %226
%228 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
%229 = OpLoad %v4float %228
%230 = OpCompositeExtract %float %229 2
%231 = OpVectorTimesScalar %v4float %227 %230
%232 = OpFAdd %v4float %221 %231
OpStore %_6_output %232
%233 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%234 = OpLoad %v2float %233
%235 = OpFAdd %v2float %224 %234
OpStore %_7_coord %235
OpStore %_8_coordSampled %235
OpStore %236 %100
OpStore %237 %235
%238 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %236 %237
%239 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
%240 = OpLoad %v4float %239
%241 = OpCompositeExtract %float %240 3
%242 = OpVectorTimesScalar %v4float %238 %241
%243 = OpFAdd %v4float %232 %242
OpStore %_6_output %243
%244 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%245 = OpLoad %v2float %244
%246 = OpFAdd %v2float %235 %245
OpStore %_7_coord %246
OpStore %_8_coordSampled %246
OpStore %247 %100
OpStore %248 %246
%249 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %247 %248
%250 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
%251 = OpLoad %v4float %250
%252 = OpCompositeExtract %float %251 0
%253 = OpVectorTimesScalar %v4float %249 %252
%254 = OpFAdd %v4float %243 %253
OpStore %_6_output %254
%255 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%256 = OpLoad %v2float %255
%257 = OpFAdd %v2float %246 %256
OpStore %_7_coord %257
OpStore %_8_coordSampled %257
OpStore %258 %100
OpStore %259 %257
%260 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %258 %259
%261 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
%262 = OpLoad %v4float %261
%263 = OpCompositeExtract %float %262 1
%264 = OpVectorTimesScalar %v4float %260 %263
%265 = OpFAdd %v4float %254 %264
OpStore %_6_output %265
%266 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%267 = OpLoad %v2float %266
%268 = OpFAdd %v2float %257 %267
OpStore %_7_coord %268
OpStore %_8_coordSampled %268
OpStore %269 %100
OpStore %270 %268
%271 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %269 %270
%272 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
%273 = OpLoad %v4float %272
%274 = OpCompositeExtract %float %273 2
%275 = OpVectorTimesScalar %v4float %271 %274
%276 = OpFAdd %v4float %265 %275
OpStore %_6_output %276
%277 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%278 = OpLoad %v2float %277
%279 = OpFAdd %v2float %268 %278
OpStore %_7_coord %279
OpStore %_8_coordSampled %279
OpStore %280 %100
OpStore %281 %279
%282 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %280 %281
%283 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
%284 = OpLoad %v4float %283
%285 = OpCompositeExtract %float %284 3
%286 = OpVectorTimesScalar %v4float %282 %285
%287 = OpFAdd %v4float %276 %286
OpStore %_6_output %287
%288 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%289 = OpLoad %v2float %288
%290 = OpFAdd %v2float %279 %289
OpStore %_7_coord %290
OpStore %_8_coordSampled %290
OpStore %291 %100
OpStore %292 %290
%293 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %291 %292
%294 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
%295 = OpLoad %v4float %294
%296 = OpCompositeExtract %float %295 0
%297 = OpVectorTimesScalar %v4float %293 %296
%298 = OpFAdd %v4float %287 %297
OpStore %_6_output %298
%299 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%300 = OpLoad %v2float %299
%301 = OpFAdd %v2float %290 %300
OpStore %_7_coord %301
OpStore %_8_coordSampled %301
OpStore %302 %100
OpStore %303 %301
%304 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %302 %303
%305 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
%306 = OpLoad %v4float %305
%307 = OpCompositeExtract %float %306 1
%308 = OpVectorTimesScalar %v4float %304 %307
%309 = OpFAdd %v4float %298 %308
OpStore %_6_output %309
%310 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%311 = OpLoad %v2float %310
%312 = OpFAdd %v2float %301 %311
OpStore %_7_coord %312
OpStore %_8_coordSampled %312
OpStore %313 %100
OpStore %314 %312
%315 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %313 %314
%316 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
%317 = OpLoad %v4float %316
%318 = OpCompositeExtract %float %317 2
%319 = OpVectorTimesScalar %v4float %315 %318
%320 = OpFAdd %v4float %309 %319
OpStore %_6_output %320
%321 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%322 = OpLoad %v2float %321
%323 = OpFAdd %v2float %312 %322
OpStore %_7_coord %323
OpStore %_8_coordSampled %323
OpStore %324 %100
OpStore %325 %323
%326 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %324 %325
%327 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
%328 = OpLoad %v4float %327
%329 = OpCompositeExtract %float %328 3
%330 = OpVectorTimesScalar %v4float %326 %329
%331 = OpFAdd %v4float %320 %330
OpStore %_6_output %331
%332 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%333 = OpLoad %v2float %332
%334 = OpFAdd %v2float %323 %333
OpStore %_7_coord %334
OpStore %_8_coordSampled %334
OpStore %335 %100
OpStore %336 %334
%337 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %335 %336
%338 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
%339 = OpLoad %v4float %338
%340 = OpCompositeExtract %float %339 0
%341 = OpVectorTimesScalar %v4float %337 %340
%342 = OpFAdd %v4float %331 %341
OpStore %_6_output %342
%343 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%344 = OpLoad %v2float %343
%345 = OpFAdd %v2float %334 %344
OpStore %_7_coord %345
OpStore %_8_coordSampled %345
OpStore %346 %100
OpStore %347 %345
%348 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %346 %347
%349 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
%350 = OpLoad %v4float %349
%351 = OpCompositeExtract %float %350 1
%352 = OpVectorTimesScalar %v4float %348 %351
%353 = OpFAdd %v4float %342 %352
OpStore %_6_output %353
%354 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%355 = OpLoad %v2float %354
%356 = OpFAdd %v2float %345 %355
OpStore %_7_coord %356
OpStore %_8_coordSampled %356
OpStore %357 %100
OpStore %358 %356
%359 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %357 %358
%360 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
%361 = OpLoad %v4float %360
%362 = OpCompositeExtract %float %361 2
%363 = OpVectorTimesScalar %v4float %359 %362
%364 = OpFAdd %v4float %353 %363
OpStore %_6_output %364
%365 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%366 = OpLoad %v2float %365
%367 = OpFAdd %v2float %356 %366
OpStore %_7_coord %367
OpStore %_8_coordSampled %367
OpStore %368 %100
OpStore %369 %367
%370 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %368 %369
%371 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
%372 = OpLoad %v4float %371
%373 = OpCompositeExtract %float %372 3
%374 = OpVectorTimesScalar %v4float %370 %373
%375 = OpFAdd %v4float %364 %374
OpStore %_6_output %375
%376 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%377 = OpLoad %v2float %376
%378 = OpFAdd %v2float %367 %377
OpStore %_7_coord %378
OpStore %_8_coordSampled %378
OpStore %379 %100
OpStore %380 %378
%381 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0_h4h4f2 %379 %380
%382 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_6
%383 = OpLoad %v4float %382
%384 = OpCompositeExtract %float %383 0
%385 = OpVectorTimesScalar %v4float %381 %384
%386 = OpFAdd %v4float %375 %385
OpStore %_6_output %386
%387 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%388 = OpLoad %v2float %387
%389 = OpFAdd %v2float %378 %388
OpStore %_7_coord %389
%390 = OpFMul %v4float %386 %100
OpStore %_6_output %390
OpStore %output_Stage1 %390
%392 = OpFMul %v4float %390 %100
OpStore %sk_FragColor %392
OpReturn
OpFunctionEnd