skia2/tests/sksl/shared/golden/GaussianBlur.asm.frag

849 lines
32 KiB
GLSL
Raw Normal View History

### Compilation failed:
error: SPIR-V validation error: UniformConstant id '20' is missing DescriptorSet decoration.
From Vulkan spec, section 14.5.2:
These variables must have DescriptorSet and Binding decorations specified
%uTextureSampler_0_Stage1 = OpVariable %_ptr_UniformConstant_22 UniformConstant
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise %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 %sk_Clockwise "sk_Clockwise"
OpName %uTextureSampler_0_Stage1 "uTextureSampler_0_Stage1"
OpName %vLocalCoord_Stage0 "vLocalCoord_Stage0"
OpName %MatrixEffect_Stage1_c0_c0 "MatrixEffect_Stage1_c0_c0"
OpName %_0_TextureEffect_Stage1_c0_c0_c0 "_0_TextureEffect_Stage1_c0_c0_c0"
OpName %_1_coords "_1_coords"
OpName %_2_inCoord "_2_inCoord"
OpName %_3_subsetCoord "_3_subsetCoord"
OpName %_4_clampedCoord "_4_clampedCoord"
OpName %_5_textureColor "_5_textureColor"
OpName %_6_snappedX "_6_snappedX"
OpName %main "main"
OpName %output_Stage1 "output_Stage1"
OpName %_7_GaussianConvolution_Stage1_c0 "_7_GaussianConvolution_Stage1_c0"
OpName %_8_output "_8_output"
OpName %_9_coord "_9_coord"
OpName %_10_coordSampled "_10_coordSampled"
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 %sk_Clockwise RelaxedPrecision
OpDecorate %sk_Clockwise BuiltIn FrontFacing
OpDecorate %uTextureSampler_0_Stage1 RelaxedPrecision
OpDecorate %uTextureSampler_0_Stage1 Binding 0
OpDecorate %vLocalCoord_Stage0 Location 0
OpDecorate %69 RelaxedPrecision
OpDecorate %101 RelaxedPrecision
OpDecorate %102 RelaxedPrecision
OpDecorate %103 RelaxedPrecision
OpDecorate %118 RelaxedPrecision
OpDecorate %123 RelaxedPrecision
OpDecorate %132 RelaxedPrecision
OpDecorate %135 RelaxedPrecision
OpDecorate %138 RelaxedPrecision
OpDecorate %141 RelaxedPrecision
OpDecorate %148 RelaxedPrecision
OpDecorate %151 RelaxedPrecision
OpDecorate %154 RelaxedPrecision
OpDecorate %157 RelaxedPrecision
OpDecorate %164 RelaxedPrecision
OpDecorate %167 RelaxedPrecision
OpDecorate %170 RelaxedPrecision
OpDecorate %173 RelaxedPrecision
OpDecorate %180 RelaxedPrecision
OpDecorate %183 RelaxedPrecision
OpDecorate %186 RelaxedPrecision
OpDecorate %189 RelaxedPrecision
OpDecorate %196 RelaxedPrecision
OpDecorate %199 RelaxedPrecision
OpDecorate %202 RelaxedPrecision
OpDecorate %205 RelaxedPrecision
OpDecorate %212 RelaxedPrecision
OpDecorate %215 RelaxedPrecision
OpDecorate %218 RelaxedPrecision
OpDecorate %221 RelaxedPrecision
OpDecorate %228 RelaxedPrecision
OpDecorate %231 RelaxedPrecision
OpDecorate %234 RelaxedPrecision
OpDecorate %237 RelaxedPrecision
OpDecorate %244 RelaxedPrecision
OpDecorate %247 RelaxedPrecision
OpDecorate %250 RelaxedPrecision
OpDecorate %253 RelaxedPrecision
OpDecorate %260 RelaxedPrecision
OpDecorate %263 RelaxedPrecision
OpDecorate %266 RelaxedPrecision
OpDecorate %269 RelaxedPrecision
OpDecorate %276 RelaxedPrecision
OpDecorate %279 RelaxedPrecision
OpDecorate %282 RelaxedPrecision
OpDecorate %285 RelaxedPrecision
OpDecorate %292 RelaxedPrecision
OpDecorate %295 RelaxedPrecision
OpDecorate %298 RelaxedPrecision
OpDecorate %301 RelaxedPrecision
OpDecorate %308 RelaxedPrecision
OpDecorate %311 RelaxedPrecision
OpDecorate %314 RelaxedPrecision
OpDecorate %317 RelaxedPrecision
OpDecorate %324 RelaxedPrecision
OpDecorate %327 RelaxedPrecision
OpDecorate %330 RelaxedPrecision
OpDecorate %333 RelaxedPrecision
OpDecorate %340 RelaxedPrecision
OpDecorate %343 RelaxedPrecision
OpDecorate %346 RelaxedPrecision
OpDecorate %349 RelaxedPrecision
OpDecorate %356 RelaxedPrecision
OpDecorate %359 RelaxedPrecision
OpDecorate %362 RelaxedPrecision
OpDecorate %365 RelaxedPrecision
OpDecorate %372 RelaxedPrecision
OpDecorate %375 RelaxedPrecision
OpDecorate %378 RelaxedPrecision
OpDecorate %381 RelaxedPrecision
OpDecorate %388 RelaxedPrecision
OpDecorate %391 RelaxedPrecision
OpDecorate %394 RelaxedPrecision
OpDecorate %397 RelaxedPrecision
OpDecorate %404 RelaxedPrecision
OpDecorate %407 RelaxedPrecision
OpDecorate %410 RelaxedPrecision
OpDecorate %413 RelaxedPrecision
OpDecorate %420 RelaxedPrecision
OpDecorate %423 RelaxedPrecision
OpDecorate %426 RelaxedPrecision
OpDecorate %429 RelaxedPrecision
OpDecorate %436 RelaxedPrecision
OpDecorate %439 RelaxedPrecision
OpDecorate %442 RelaxedPrecision
OpDecorate %445 RelaxedPrecision
OpDecorate %452 RelaxedPrecision
OpDecorate %455 RelaxedPrecision
OpDecorate %458 RelaxedPrecision
OpDecorate %461 RelaxedPrecision
OpDecorate %468 RelaxedPrecision
OpDecorate %471 RelaxedPrecision
OpDecorate %474 RelaxedPrecision
OpDecorate %477 RelaxedPrecision
OpDecorate %484 RelaxedPrecision
OpDecorate %487 RelaxedPrecision
OpDecorate %490 RelaxedPrecision
OpDecorate %493 RelaxedPrecision
OpDecorate %500 RelaxedPrecision
OpDecorate %503 RelaxedPrecision
OpDecorate %506 RelaxedPrecision
OpDecorate %509 RelaxedPrecision
OpDecorate %516 RelaxedPrecision
OpDecorate %519 RelaxedPrecision
OpDecorate %522 RelaxedPrecision
OpDecorate %524 RelaxedPrecision
OpDecorate %525 RelaxedPrecision
OpDecorate %526 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
%bool = OpTypeBool
%_ptr_Input_bool = OpTypePointer Input %bool
%sk_Clockwise = OpVariable %_ptr_Input_bool Input
%23 = OpTypeImage %float 2D 0 0 0 1 Unknown
%22 = OpTypeSampledImage %23
%_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
%26 = OpTypeFunction %v4float %_ptr_Function_v4float %_ptr_Function_v2float
%int_3 = OpConstant %int 3
%_ptr_Uniform_mat3v3float = OpTypePointer Uniform %mat3v3float
%float_1 = OpConstant %float 1
%_ptr_Function_float = OpTypePointer Function %float
%int_6 = OpConstant %int 6
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
%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
%105 = OpTypeFunction %void
%float_0 = OpConstant %float 0
%112 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%float_12 = OpConstant %float 12
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
%121 = OpConstantComposite %v2float %float_0 %float_0
%float_1_0 = OpConstant %float 1
%124 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%int_2 = OpConstant %int 2
%142 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%158 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%174 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%190 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%206 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%222 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%238 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%254 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%270 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%286 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%302 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%318 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%334 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%350 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%366 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%382 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%398 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%414 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%430 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%446 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%462 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%478 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%494 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%510 = OpConstantComposite %v4float %float_1_0 %float_1_0 %float_1_0 %float_1_0
%MatrixEffect_Stage1_c0_c0 = OpFunction %v4float None %26
%29 = OpFunctionParameter %_ptr_Function_v4float
%30 = OpFunctionParameter %_ptr_Function_v2float
%31 = OpLabel
%_0_TextureEffect_Stage1_c0_c0_c0 = OpVariable %_ptr_Function_v4float Function
%_1_coords = OpVariable %_ptr_Function_v2float Function
%_2_inCoord = OpVariable %_ptr_Function_v2float Function
%_3_subsetCoord = OpVariable %_ptr_Function_v2float Function
%_4_clampedCoord = OpVariable %_ptr_Function_v2float Function
%_5_textureColor = OpVariable %_ptr_Function_v4float Function
%_6_snappedX = OpVariable %_ptr_Function_float Function
%35 = OpAccessChain %_ptr_Uniform_mat3v3float %4 %int_3
%37 = OpLoad %mat3v3float %35
%38 = OpLoad %v2float %30
%39 = OpCompositeExtract %float %38 0
%40 = OpCompositeExtract %float %38 1
%42 = OpCompositeConstruct %v3float %39 %40 %float_1
%43 = OpMatrixTimesVector %v3float %37 %42
%44 = OpVectorShuffle %v2float %43 %43 0 1
OpStore %_1_coords %44
%51 = OpLoad %v2float %_1_coords
OpStore %_2_inCoord %51
%52 = OpLoad %v2float %_2_inCoord
%54 = OpAccessChain %_ptr_Uniform_v4float %4 %int_6
%56 = OpLoad %v4float %54
%57 = OpVectorShuffle %v2float %56 %56 0 1
%58 = OpFMul %v2float %52 %57
OpStore %_2_inCoord %58
%59 = OpLoad %v2float %_2_inCoord
%60 = OpCompositeExtract %float %59 0
%61 = OpAccessChain %_ptr_Function_float %_3_subsetCoord %int_0
OpStore %61 %60
%63 = OpLoad %v2float %_2_inCoord
%64 = OpCompositeExtract %float %63 1
%65 = OpAccessChain %_ptr_Function_float %_3_subsetCoord %int_1
OpStore %65 %64
%67 = OpLoad %v2float %_3_subsetCoord
OpStore %_4_clampedCoord %67
%69 = OpLoad %22 %uTextureSampler_0_Stage1
%70 = OpLoad %v2float %_4_clampedCoord
%71 = OpAccessChain %_ptr_Uniform_v4float %4 %int_6
%72 = OpLoad %v4float %71
%73 = OpVectorShuffle %v2float %72 %72 2 3
%74 = OpFMul %v2float %70 %73
%68 = OpImageSampleImplicitLod %v4float %69 %74
OpStore %_5_textureColor %68
%76 = OpLoad %v2float %_2_inCoord
%77 = OpCompositeExtract %float %76 0
%79 = OpFAdd %float %77 %float_0_00100000005
%75 = OpExtInst %float %1 Floor %79
%81 = OpFAdd %float %75 %float_0_5
OpStore %_6_snappedX %81
%83 = OpLoad %float %_6_snappedX
%85 = OpAccessChain %_ptr_Uniform_v4float %4 %int_5
%86 = OpLoad %v4float %85
%87 = OpCompositeExtract %float %86 0
%88 = OpFOrdLessThan %bool %83 %87
OpSelectionMerge %90 None
OpBranchConditional %88 %90 %89
%89 = OpLabel
%91 = OpLoad %float %_6_snappedX
%92 = OpAccessChain %_ptr_Uniform_v4float %4 %int_5
%93 = OpLoad %v4float %92
%94 = OpCompositeExtract %float %93 2
%95 = OpFOrdGreaterThan %bool %91 %94
OpBranch %90
%90 = OpLabel
%96 = OpPhi %bool %true %31 %95 %89
OpSelectionMerge %98 None
OpBranchConditional %96 %97 %98
%97 = OpLabel
%100 = OpAccessChain %_ptr_Uniform_v4float %4 %int_4
%101 = OpLoad %v4float %100
OpStore %_5_textureColor %101
OpBranch %98
%98 = OpLabel
%102 = OpLoad %v4float %_5_textureColor
OpStore %_0_TextureEffect_Stage1_c0_c0_c0 %102
%103 = OpLoad %v4float %_0_TextureEffect_Stage1_c0_c0_c0
OpReturnValue %103
OpFunctionEnd
%main = OpFunction %void None %105
%106 = OpLabel
%output_Stage1 = OpVariable %_ptr_Function_v4float Function
%_7_GaussianConvolution_Stage1_c0 = OpVariable %_ptr_Function_v4float Function
%_8_output = OpVariable %_ptr_Function_v4float Function
%_9_coord = OpVariable %_ptr_Function_v2float Function
%_10_coordSampled = OpVariable %_ptr_Function_v2float Function
%126 = OpVariable %_ptr_Function_v4float Function
%128 = OpVariable %_ptr_Function_v2float Function
%143 = OpVariable %_ptr_Function_v4float Function
%145 = OpVariable %_ptr_Function_v2float Function
%159 = OpVariable %_ptr_Function_v4float Function
%161 = OpVariable %_ptr_Function_v2float Function
%175 = OpVariable %_ptr_Function_v4float Function
%177 = OpVariable %_ptr_Function_v2float Function
%191 = OpVariable %_ptr_Function_v4float Function
%193 = OpVariable %_ptr_Function_v2float Function
%207 = OpVariable %_ptr_Function_v4float Function
%209 = OpVariable %_ptr_Function_v2float Function
%223 = OpVariable %_ptr_Function_v4float Function
%225 = OpVariable %_ptr_Function_v2float Function
%239 = OpVariable %_ptr_Function_v4float Function
%241 = OpVariable %_ptr_Function_v2float Function
%255 = OpVariable %_ptr_Function_v4float Function
%257 = OpVariable %_ptr_Function_v2float Function
%271 = OpVariable %_ptr_Function_v4float Function
%273 = OpVariable %_ptr_Function_v2float Function
%287 = OpVariable %_ptr_Function_v4float Function
%289 = OpVariable %_ptr_Function_v2float Function
%303 = OpVariable %_ptr_Function_v4float Function
%305 = OpVariable %_ptr_Function_v2float Function
%319 = OpVariable %_ptr_Function_v4float Function
%321 = OpVariable %_ptr_Function_v2float Function
%335 = OpVariable %_ptr_Function_v4float Function
%337 = OpVariable %_ptr_Function_v2float Function
%351 = OpVariable %_ptr_Function_v4float Function
%353 = OpVariable %_ptr_Function_v2float Function
%367 = OpVariable %_ptr_Function_v4float Function
%369 = OpVariable %_ptr_Function_v2float Function
%383 = OpVariable %_ptr_Function_v4float Function
%385 = OpVariable %_ptr_Function_v2float Function
%399 = OpVariable %_ptr_Function_v4float Function
%401 = OpVariable %_ptr_Function_v2float Function
%415 = OpVariable %_ptr_Function_v4float Function
%417 = OpVariable %_ptr_Function_v2float Function
%431 = OpVariable %_ptr_Function_v4float Function
%433 = OpVariable %_ptr_Function_v2float Function
%447 = OpVariable %_ptr_Function_v4float Function
%449 = OpVariable %_ptr_Function_v2float Function
%463 = OpVariable %_ptr_Function_v4float Function
%465 = OpVariable %_ptr_Function_v2float Function
%479 = OpVariable %_ptr_Function_v4float Function
%481 = OpVariable %_ptr_Function_v2float Function
%495 = OpVariable %_ptr_Function_v4float Function
%497 = OpVariable %_ptr_Function_v2float Function
%511 = OpVariable %_ptr_Function_v4float Function
%513 = OpVariable %_ptr_Function_v2float Function
OpStore %_8_output %112
%114 = OpLoad %v2float %vLocalCoord_Stage0
%116 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%118 = OpLoad %v2float %116
%119 = OpVectorTimesScalar %v2float %118 %float_12
%120 = OpFSub %v2float %114 %119
OpStore %_9_coord %120
OpStore %_10_coordSampled %121
%122 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %122
%123 = OpLoad %v4float %_8_output
OpStore %126 %124
%127 = OpLoad %v2float %_10_coordSampled
OpStore %128 %127
%129 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %126 %128
%131 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
%132 = OpLoad %v4float %131
%133 = OpCompositeExtract %float %132 0
%134 = OpVectorTimesScalar %v4float %129 %133
%135 = OpFAdd %v4float %123 %134
OpStore %_8_output %135
%136 = OpLoad %v2float %_9_coord
%137 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%138 = OpLoad %v2float %137
%139 = OpFAdd %v2float %136 %138
OpStore %_9_coord %139
%140 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %140
%141 = OpLoad %v4float %_8_output
OpStore %143 %142
%144 = OpLoad %v2float %_10_coordSampled
OpStore %145 %144
%146 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %143 %145
%147 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
%148 = OpLoad %v4float %147
%149 = OpCompositeExtract %float %148 1
%150 = OpVectorTimesScalar %v4float %146 %149
%151 = OpFAdd %v4float %141 %150
OpStore %_8_output %151
%152 = OpLoad %v2float %_9_coord
%153 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%154 = OpLoad %v2float %153
%155 = OpFAdd %v2float %152 %154
OpStore %_9_coord %155
%156 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %156
%157 = OpLoad %v4float %_8_output
OpStore %159 %158
%160 = OpLoad %v2float %_10_coordSampled
OpStore %161 %160
%162 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %159 %161
%163 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
%164 = OpLoad %v4float %163
%165 = OpCompositeExtract %float %164 2
%166 = OpVectorTimesScalar %v4float %162 %165
%167 = OpFAdd %v4float %157 %166
OpStore %_8_output %167
%168 = OpLoad %v2float %_9_coord
%169 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%170 = OpLoad %v2float %169
%171 = OpFAdd %v2float %168 %170
OpStore %_9_coord %171
%172 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %172
%173 = OpLoad %v4float %_8_output
OpStore %175 %174
%176 = OpLoad %v2float %_10_coordSampled
OpStore %177 %176
%178 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %175 %177
%179 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
%180 = OpLoad %v4float %179
%181 = OpCompositeExtract %float %180 3
%182 = OpVectorTimesScalar %v4float %178 %181
%183 = OpFAdd %v4float %173 %182
OpStore %_8_output %183
%184 = OpLoad %v2float %_9_coord
%185 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%186 = OpLoad %v2float %185
%187 = OpFAdd %v2float %184 %186
OpStore %_9_coord %187
%188 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %188
%189 = OpLoad %v4float %_8_output
OpStore %191 %190
%192 = OpLoad %v2float %_10_coordSampled
OpStore %193 %192
%194 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %191 %193
%195 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
%196 = OpLoad %v4float %195
%197 = OpCompositeExtract %float %196 0
%198 = OpVectorTimesScalar %v4float %194 %197
%199 = OpFAdd %v4float %189 %198
OpStore %_8_output %199
%200 = OpLoad %v2float %_9_coord
%201 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%202 = OpLoad %v2float %201
%203 = OpFAdd %v2float %200 %202
OpStore %_9_coord %203
%204 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %204
%205 = OpLoad %v4float %_8_output
OpStore %207 %206
%208 = OpLoad %v2float %_10_coordSampled
OpStore %209 %208
%210 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %207 %209
%211 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
%212 = OpLoad %v4float %211
%213 = OpCompositeExtract %float %212 1
%214 = OpVectorTimesScalar %v4float %210 %213
%215 = OpFAdd %v4float %205 %214
OpStore %_8_output %215
%216 = OpLoad %v2float %_9_coord
%217 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%218 = OpLoad %v2float %217
%219 = OpFAdd %v2float %216 %218
OpStore %_9_coord %219
%220 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %220
%221 = OpLoad %v4float %_8_output
OpStore %223 %222
%224 = OpLoad %v2float %_10_coordSampled
OpStore %225 %224
%226 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %223 %225
%227 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
%228 = OpLoad %v4float %227
%229 = OpCompositeExtract %float %228 2
%230 = OpVectorTimesScalar %v4float %226 %229
%231 = OpFAdd %v4float %221 %230
OpStore %_8_output %231
%232 = OpLoad %v2float %_9_coord
%233 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%234 = OpLoad %v2float %233
%235 = OpFAdd %v2float %232 %234
OpStore %_9_coord %235
%236 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %236
%237 = OpLoad %v4float %_8_output
OpStore %239 %238
%240 = OpLoad %v2float %_10_coordSampled
OpStore %241 %240
%242 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %239 %241
%243 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
%244 = OpLoad %v4float %243
%245 = OpCompositeExtract %float %244 3
%246 = OpVectorTimesScalar %v4float %242 %245
%247 = OpFAdd %v4float %237 %246
OpStore %_8_output %247
%248 = OpLoad %v2float %_9_coord
%249 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%250 = OpLoad %v2float %249
%251 = OpFAdd %v2float %248 %250
OpStore %_9_coord %251
%252 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %252
%253 = OpLoad %v4float %_8_output
OpStore %255 %254
%256 = OpLoad %v2float %_10_coordSampled
OpStore %257 %256
%258 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %255 %257
%259 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
%260 = OpLoad %v4float %259
%261 = OpCompositeExtract %float %260 0
%262 = OpVectorTimesScalar %v4float %258 %261
%263 = OpFAdd %v4float %253 %262
OpStore %_8_output %263
%264 = OpLoad %v2float %_9_coord
%265 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%266 = OpLoad %v2float %265
%267 = OpFAdd %v2float %264 %266
OpStore %_9_coord %267
%268 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %268
%269 = OpLoad %v4float %_8_output
OpStore %271 %270
%272 = OpLoad %v2float %_10_coordSampled
OpStore %273 %272
%274 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %271 %273
%275 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
%276 = OpLoad %v4float %275
%277 = OpCompositeExtract %float %276 1
%278 = OpVectorTimesScalar %v4float %274 %277
%279 = OpFAdd %v4float %269 %278
OpStore %_8_output %279
%280 = OpLoad %v2float %_9_coord
%281 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%282 = OpLoad %v2float %281
%283 = OpFAdd %v2float %280 %282
OpStore %_9_coord %283
%284 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %284
%285 = OpLoad %v4float %_8_output
OpStore %287 %286
%288 = OpLoad %v2float %_10_coordSampled
OpStore %289 %288
%290 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %287 %289
%291 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
%292 = OpLoad %v4float %291
%293 = OpCompositeExtract %float %292 2
%294 = OpVectorTimesScalar %v4float %290 %293
%295 = OpFAdd %v4float %285 %294
OpStore %_8_output %295
%296 = OpLoad %v2float %_9_coord
%297 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%298 = OpLoad %v2float %297
%299 = OpFAdd %v2float %296 %298
OpStore %_9_coord %299
%300 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %300
%301 = OpLoad %v4float %_8_output
OpStore %303 %302
%304 = OpLoad %v2float %_10_coordSampled
OpStore %305 %304
%306 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %303 %305
%307 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
%308 = OpLoad %v4float %307
%309 = OpCompositeExtract %float %308 3
%310 = OpVectorTimesScalar %v4float %306 %309
%311 = OpFAdd %v4float %301 %310
OpStore %_8_output %311
%312 = OpLoad %v2float %_9_coord
%313 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%314 = OpLoad %v2float %313
%315 = OpFAdd %v2float %312 %314
OpStore %_9_coord %315
%316 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %316
%317 = OpLoad %v4float %_8_output
OpStore %319 %318
%320 = OpLoad %v2float %_10_coordSampled
OpStore %321 %320
%322 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %319 %321
%323 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
%324 = OpLoad %v4float %323
%325 = OpCompositeExtract %float %324 0
%326 = OpVectorTimesScalar %v4float %322 %325
%327 = OpFAdd %v4float %317 %326
OpStore %_8_output %327
%328 = OpLoad %v2float %_9_coord
%329 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%330 = OpLoad %v2float %329
%331 = OpFAdd %v2float %328 %330
OpStore %_9_coord %331
%332 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %332
%333 = OpLoad %v4float %_8_output
OpStore %335 %334
%336 = OpLoad %v2float %_10_coordSampled
OpStore %337 %336
%338 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %335 %337
%339 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
%340 = OpLoad %v4float %339
%341 = OpCompositeExtract %float %340 1
%342 = OpVectorTimesScalar %v4float %338 %341
%343 = OpFAdd %v4float %333 %342
OpStore %_8_output %343
%344 = OpLoad %v2float %_9_coord
%345 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%346 = OpLoad %v2float %345
%347 = OpFAdd %v2float %344 %346
OpStore %_9_coord %347
%348 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %348
%349 = OpLoad %v4float %_8_output
OpStore %351 %350
%352 = OpLoad %v2float %_10_coordSampled
OpStore %353 %352
%354 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %351 %353
%355 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
%356 = OpLoad %v4float %355
%357 = OpCompositeExtract %float %356 2
%358 = OpVectorTimesScalar %v4float %354 %357
%359 = OpFAdd %v4float %349 %358
OpStore %_8_output %359
%360 = OpLoad %v2float %_9_coord
%361 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%362 = OpLoad %v2float %361
%363 = OpFAdd %v2float %360 %362
OpStore %_9_coord %363
%364 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %364
%365 = OpLoad %v4float %_8_output
OpStore %367 %366
%368 = OpLoad %v2float %_10_coordSampled
OpStore %369 %368
%370 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %367 %369
%371 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
%372 = OpLoad %v4float %371
%373 = OpCompositeExtract %float %372 3
%374 = OpVectorTimesScalar %v4float %370 %373
%375 = OpFAdd %v4float %365 %374
OpStore %_8_output %375
%376 = OpLoad %v2float %_9_coord
%377 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%378 = OpLoad %v2float %377
%379 = OpFAdd %v2float %376 %378
OpStore %_9_coord %379
%380 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %380
%381 = OpLoad %v4float %_8_output
OpStore %383 %382
%384 = OpLoad %v2float %_10_coordSampled
OpStore %385 %384
%386 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %383 %385
%387 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
%388 = OpLoad %v4float %387
%389 = OpCompositeExtract %float %388 0
%390 = OpVectorTimesScalar %v4float %386 %389
%391 = OpFAdd %v4float %381 %390
OpStore %_8_output %391
%392 = OpLoad %v2float %_9_coord
%393 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%394 = OpLoad %v2float %393
%395 = OpFAdd %v2float %392 %394
OpStore %_9_coord %395
%396 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %396
%397 = OpLoad %v4float %_8_output
OpStore %399 %398
%400 = OpLoad %v2float %_10_coordSampled
OpStore %401 %400
%402 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %399 %401
%403 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
%404 = OpLoad %v4float %403
%405 = OpCompositeExtract %float %404 1
%406 = OpVectorTimesScalar %v4float %402 %405
%407 = OpFAdd %v4float %397 %406
OpStore %_8_output %407
%408 = OpLoad %v2float %_9_coord
%409 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%410 = OpLoad %v2float %409
%411 = OpFAdd %v2float %408 %410
OpStore %_9_coord %411
%412 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %412
%413 = OpLoad %v4float %_8_output
OpStore %415 %414
%416 = OpLoad %v2float %_10_coordSampled
OpStore %417 %416
%418 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %415 %417
%419 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
%420 = OpLoad %v4float %419
%421 = OpCompositeExtract %float %420 2
%422 = OpVectorTimesScalar %v4float %418 %421
%423 = OpFAdd %v4float %413 %422
OpStore %_8_output %423
%424 = OpLoad %v2float %_9_coord
%425 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%426 = OpLoad %v2float %425
%427 = OpFAdd %v2float %424 %426
OpStore %_9_coord %427
%428 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %428
%429 = OpLoad %v4float %_8_output
OpStore %431 %430
%432 = OpLoad %v2float %_10_coordSampled
OpStore %433 %432
%434 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %431 %433
%435 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
%436 = OpLoad %v4float %435
%437 = OpCompositeExtract %float %436 3
%438 = OpVectorTimesScalar %v4float %434 %437
%439 = OpFAdd %v4float %429 %438
OpStore %_8_output %439
%440 = OpLoad %v2float %_9_coord
%441 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%442 = OpLoad %v2float %441
%443 = OpFAdd %v2float %440 %442
OpStore %_9_coord %443
%444 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %444
%445 = OpLoad %v4float %_8_output
OpStore %447 %446
%448 = OpLoad %v2float %_10_coordSampled
OpStore %449 %448
%450 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %447 %449
%451 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
%452 = OpLoad %v4float %451
%453 = OpCompositeExtract %float %452 0
%454 = OpVectorTimesScalar %v4float %450 %453
%455 = OpFAdd %v4float %445 %454
OpStore %_8_output %455
%456 = OpLoad %v2float %_9_coord
%457 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%458 = OpLoad %v2float %457
%459 = OpFAdd %v2float %456 %458
OpStore %_9_coord %459
%460 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %460
%461 = OpLoad %v4float %_8_output
OpStore %463 %462
%464 = OpLoad %v2float %_10_coordSampled
OpStore %465 %464
%466 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %463 %465
%467 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
%468 = OpLoad %v4float %467
%469 = OpCompositeExtract %float %468 1
%470 = OpVectorTimesScalar %v4float %466 %469
%471 = OpFAdd %v4float %461 %470
OpStore %_8_output %471
%472 = OpLoad %v2float %_9_coord
%473 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%474 = OpLoad %v2float %473
%475 = OpFAdd %v2float %472 %474
OpStore %_9_coord %475
%476 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %476
%477 = OpLoad %v4float %_8_output
OpStore %479 %478
%480 = OpLoad %v2float %_10_coordSampled
OpStore %481 %480
%482 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %479 %481
%483 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
%484 = OpLoad %v4float %483
%485 = OpCompositeExtract %float %484 2
%486 = OpVectorTimesScalar %v4float %482 %485
%487 = OpFAdd %v4float %477 %486
OpStore %_8_output %487
%488 = OpLoad %v2float %_9_coord
%489 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%490 = OpLoad %v2float %489
%491 = OpFAdd %v2float %488 %490
OpStore %_9_coord %491
%492 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %492
%493 = OpLoad %v4float %_8_output
OpStore %495 %494
%496 = OpLoad %v2float %_10_coordSampled
OpStore %497 %496
%498 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %495 %497
%499 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
%500 = OpLoad %v4float %499
%501 = OpCompositeExtract %float %500 3
%502 = OpVectorTimesScalar %v4float %498 %501
%503 = OpFAdd %v4float %493 %502
OpStore %_8_output %503
%504 = OpLoad %v2float %_9_coord
%505 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%506 = OpLoad %v2float %505
%507 = OpFAdd %v2float %504 %506
OpStore %_9_coord %507
%508 = OpLoad %v2float %_9_coord
OpStore %_10_coordSampled %508
%509 = OpLoad %v4float %_8_output
OpStore %511 %510
%512 = OpLoad %v2float %_10_coordSampled
OpStore %513 %512
%514 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %511 %513
%515 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_6
%516 = OpLoad %v4float %515
%517 = OpCompositeExtract %float %516 0
%518 = OpVectorTimesScalar %v4float %514 %517
%519 = OpFAdd %v4float %509 %518
OpStore %_8_output %519
%520 = OpLoad %v2float %_9_coord
%521 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
%522 = OpLoad %v2float %521
%523 = OpFAdd %v2float %520 %522
OpStore %_9_coord %523
%524 = OpLoad %v4float %_8_output
OpStore %_7_GaussianConvolution_Stage1_c0 %524
%525 = OpLoad %v4float %_7_GaussianConvolution_Stage1_c0
OpStore %output_Stage1 %525
%526 = OpLoad %v4float %output_Stage1
OpStore %sk_FragColor %526
OpReturn
OpFunctionEnd
1 error