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