1*c8dee2aaSAndroid Build Coastguard Worker OpCapability Shader 2*c8dee2aaSAndroid Build Coastguard Worker %1 = OpExtInstImport "GLSL.std.450" 3*c8dee2aaSAndroid Build Coastguard Worker OpMemoryModel Logical GLSL450 4*c8dee2aaSAndroid Build Coastguard Worker OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor 5*c8dee2aaSAndroid Build Coastguard Worker OpExecutionMode %_entrypoint_v OriginUpperLeft 6*c8dee2aaSAndroid Build Coastguard Worker OpName %sk_FragColor "sk_FragColor" 7*c8dee2aaSAndroid Build Coastguard Worker OpName %_UniformBuffer "_UniformBuffer" 8*c8dee2aaSAndroid Build Coastguard Worker OpMemberName %_UniformBuffer 0 "colorGreen" 9*c8dee2aaSAndroid Build Coastguard Worker OpMemberName %_UniformBuffer 1 "colorRed" 10*c8dee2aaSAndroid Build Coastguard Worker OpMemberName %_UniformBuffer 2 "testMatrix2x2" 11*c8dee2aaSAndroid Build Coastguard Worker OpMemberName %_UniformBuffer 3 "testMatrix3x3" 12*c8dee2aaSAndroid Build Coastguard Worker OpName %_entrypoint_v "_entrypoint_v" 13*c8dee2aaSAndroid Build Coastguard Worker OpName %main "main" 14*c8dee2aaSAndroid Build Coastguard Worker OpName %h22 "h22" 15*c8dee2aaSAndroid Build Coastguard Worker OpName %hugeM22 "hugeM22" 16*c8dee2aaSAndroid Build Coastguard Worker OpName %f22 "f22" 17*c8dee2aaSAndroid Build Coastguard Worker OpName %h33 "h33" 18*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %sk_FragColor RelaxedPrecision 19*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %sk_FragColor Location 0 20*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %sk_FragColor Index 0 21*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 0 Offset 0 22*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 23*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 1 Offset 16 24*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 25*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 2 Offset 32 26*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 2 ColMajor 27*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 2 MatrixStride 16 28*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 3 Offset 64 29*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 3 ColMajor 30*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 3 MatrixStride 16 31*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision 32*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %_UniformBuffer Block 33*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %7 Binding 0 34*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %7 DescriptorSet 0 35*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %h22 RelaxedPrecision 36*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %hugeM22 RelaxedPrecision 37*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %36 RelaxedPrecision 38*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %37 RelaxedPrecision 39*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %38 RelaxedPrecision 40*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %h33 RelaxedPrecision 41*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %67 RelaxedPrecision 42*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %71 RelaxedPrecision 43*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %72 RelaxedPrecision 44*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %73 RelaxedPrecision 45*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %74 RelaxedPrecision 46*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %75 RelaxedPrecision 47*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %76 RelaxedPrecision 48*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %77 RelaxedPrecision 49*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %81 RelaxedPrecision 50*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %83 RelaxedPrecision 51*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %110 RelaxedPrecision 52*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %112 RelaxedPrecision 53*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %115 RelaxedPrecision 54*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %127 RelaxedPrecision 55*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %130 RelaxedPrecision 56*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %131 RelaxedPrecision 57*c8dee2aaSAndroid Build Coastguard Worker %float = OpTypeFloat 32 58*c8dee2aaSAndroid Build Coastguard Worker %v4float = OpTypeVector %float 4 59*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Output_v4float = OpTypePointer Output %v4float 60*c8dee2aaSAndroid Build Coastguard Worker%sk_FragColor = OpVariable %_ptr_Output_v4float Output 61*c8dee2aaSAndroid Build Coastguard Worker %v2float = OpTypeVector %float 2 62*c8dee2aaSAndroid Build Coastguard Worker%mat2v2float = OpTypeMatrix %v2float 2 63*c8dee2aaSAndroid Build Coastguard Worker %v3float = OpTypeVector %float 3 64*c8dee2aaSAndroid Build Coastguard Worker%mat3v3float = OpTypeMatrix %v3float 3 65*c8dee2aaSAndroid Build Coastguard Worker%_UniformBuffer = OpTypeStruct %v4float %v4float %mat2v2float %mat3v3float 66*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 67*c8dee2aaSAndroid Build Coastguard Worker %7 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 68*c8dee2aaSAndroid Build Coastguard Worker %void = OpTypeVoid 69*c8dee2aaSAndroid Build Coastguard Worker %16 = OpTypeFunction %void 70*c8dee2aaSAndroid Build Coastguard Worker %float_0 = OpConstant %float 0 71*c8dee2aaSAndroid Build Coastguard Worker %19 = OpConstantComposite %v2float %float_0 %float_0 72*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_v2float = OpTypePointer Function %v2float 73*c8dee2aaSAndroid Build Coastguard Worker %23 = OpTypeFunction %v4float %_ptr_Function_v2float 74*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float 75*c8dee2aaSAndroid Build Coastguard Worker%float_1000000 = OpConstant %float 1000000 76*c8dee2aaSAndroid Build Coastguard Worker %29 = OpConstantComposite %v2float %float_1000000 %float_1000000 77*c8dee2aaSAndroid Build Coastguard Worker %30 = OpConstantComposite %mat2v2float %29 %29 78*c8dee2aaSAndroid Build Coastguard Worker%float_1_00000002e_30 = OpConstant %float 1.00000002e+30 79*c8dee2aaSAndroid Build Coastguard Worker %33 = OpConstantComposite %v2float %float_1_00000002e_30 %float_1_00000002e_30 80*c8dee2aaSAndroid Build Coastguard Worker %34 = OpConstantComposite %mat2v2float %33 %33 81*c8dee2aaSAndroid Build Coastguard Worker %float_5 = OpConstant %float 5 82*c8dee2aaSAndroid Build Coastguard Worker %float_10 = OpConstant %float 10 83*c8dee2aaSAndroid Build Coastguard Worker %float_15 = OpConstant %float 15 84*c8dee2aaSAndroid Build Coastguard Worker %42 = OpConstantComposite %v2float %float_0 %float_5 85*c8dee2aaSAndroid Build Coastguard Worker %43 = OpConstantComposite %v2float %float_10 %float_15 86*c8dee2aaSAndroid Build Coastguard Worker %44 = OpConstantComposite %mat2v2float %42 %43 87*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform_mat2v2float = OpTypePointer Uniform %mat2v2float 88*c8dee2aaSAndroid Build Coastguard Worker %int = OpTypeInt 32 1 89*c8dee2aaSAndroid Build Coastguard Worker %int_2 = OpConstant %int 2 90*c8dee2aaSAndroid Build Coastguard Worker %float_1 = OpConstant %float 1 91*c8dee2aaSAndroid Build Coastguard Worker %53 = OpConstantComposite %v2float %float_1 %float_0 92*c8dee2aaSAndroid Build Coastguard Worker %54 = OpConstantComposite %v2float %float_0 %float_1 93*c8dee2aaSAndroid Build Coastguard Worker %55 = OpConstantComposite %mat2v2float %53 %54 94*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float 95*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform_mat3v3float = OpTypePointer Uniform %mat3v3float 96*c8dee2aaSAndroid Build Coastguard Worker %int_3 = OpConstant %int 3 97*c8dee2aaSAndroid Build Coastguard Worker %float_2 = OpConstant %float 2 98*c8dee2aaSAndroid Build Coastguard Worker %69 = OpConstantComposite %v3float %float_2 %float_2 %float_2 99*c8dee2aaSAndroid Build Coastguard Worker %70 = OpConstantComposite %mat3v3float %69 %69 %69 100*c8dee2aaSAndroid Build Coastguard Worker %bool = OpTypeBool 101*c8dee2aaSAndroid Build Coastguard Worker %false = OpConstantFalse %bool 102*c8dee2aaSAndroid Build Coastguard Worker %v2bool = OpTypeVector %bool 2 103*c8dee2aaSAndroid Build Coastguard Worker %float_4 = OpConstant %float 4 104*c8dee2aaSAndroid Build Coastguard Worker %89 = OpConstantComposite %v2float %float_0 %float_4 105*c8dee2aaSAndroid Build Coastguard Worker %90 = OpConstantComposite %mat2v2float %53 %89 106*c8dee2aaSAndroid Build Coastguard Worker %float_6 = OpConstant %float 6 107*c8dee2aaSAndroid Build Coastguard Worker %float_8 = OpConstant %float 8 108*c8dee2aaSAndroid Build Coastguard Worker %float_12 = OpConstant %float 12 109*c8dee2aaSAndroid Build Coastguard Worker %float_14 = OpConstant %float 14 110*c8dee2aaSAndroid Build Coastguard Worker %float_16 = OpConstant %float 16 111*c8dee2aaSAndroid Build Coastguard Worker %float_18 = OpConstant %float 18 112*c8dee2aaSAndroid Build Coastguard Worker %105 = OpConstantComposite %v3float %float_2 %float_4 %float_6 113*c8dee2aaSAndroid Build Coastguard Worker %106 = OpConstantComposite %v3float %float_8 %float_10 %float_12 114*c8dee2aaSAndroid Build Coastguard Worker %107 = OpConstantComposite %v3float %float_14 %float_16 %float_18 115*c8dee2aaSAndroid Build Coastguard Worker %108 = OpConstantComposite %mat3v3float %105 %106 %107 116*c8dee2aaSAndroid Build Coastguard Worker %v3bool = OpTypeVector %bool 3 117*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_v4float = OpTypePointer Function %v4float 118*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 119*c8dee2aaSAndroid Build Coastguard Worker %int_0 = OpConstant %int 0 120*c8dee2aaSAndroid Build Coastguard Worker %int_1 = OpConstant %int 1 121*c8dee2aaSAndroid Build Coastguard Worker%_entrypoint_v = OpFunction %void None %16 122*c8dee2aaSAndroid Build Coastguard Worker %17 = OpLabel 123*c8dee2aaSAndroid Build Coastguard Worker %20 = OpVariable %_ptr_Function_v2float Function 124*c8dee2aaSAndroid Build Coastguard Worker OpStore %20 %19 125*c8dee2aaSAndroid Build Coastguard Worker %22 = OpFunctionCall %v4float %main %20 126*c8dee2aaSAndroid Build Coastguard Worker OpStore %sk_FragColor %22 127*c8dee2aaSAndroid Build Coastguard Worker OpReturn 128*c8dee2aaSAndroid Build Coastguard Worker OpFunctionEnd 129*c8dee2aaSAndroid Build Coastguard Worker %main = OpFunction %v4float None %23 130*c8dee2aaSAndroid Build Coastguard Worker %24 = OpFunctionParameter %_ptr_Function_v2float 131*c8dee2aaSAndroid Build Coastguard Worker %25 = OpLabel 132*c8dee2aaSAndroid Build Coastguard Worker %h22 = OpVariable %_ptr_Function_mat2v2float Function 133*c8dee2aaSAndroid Build Coastguard Worker %hugeM22 = OpVariable %_ptr_Function_mat2v2float Function 134*c8dee2aaSAndroid Build Coastguard Worker %f22 = OpVariable %_ptr_Function_mat2v2float Function 135*c8dee2aaSAndroid Build Coastguard Worker %h33 = OpVariable %_ptr_Function_mat3v3float Function 136*c8dee2aaSAndroid Build Coastguard Worker %119 = OpVariable %_ptr_Function_v4float Function 137*c8dee2aaSAndroid Build Coastguard Worker OpStore %h22 %30 138*c8dee2aaSAndroid Build Coastguard Worker OpStore %hugeM22 %34 139*c8dee2aaSAndroid Build Coastguard Worker %36 = OpFMul %v2float %33 %33 140*c8dee2aaSAndroid Build Coastguard Worker %37 = OpFMul %v2float %33 %33 141*c8dee2aaSAndroid Build Coastguard Worker %38 = OpCompositeConstruct %mat2v2float %36 %37 142*c8dee2aaSAndroid Build Coastguard Worker OpStore %h22 %38 143*c8dee2aaSAndroid Build Coastguard Worker OpStore %h22 %44 144*c8dee2aaSAndroid Build Coastguard Worker %47 = OpAccessChain %_ptr_Uniform_mat2v2float %7 %int_2 145*c8dee2aaSAndroid Build Coastguard Worker %51 = OpLoad %mat2v2float %47 146*c8dee2aaSAndroid Build Coastguard Worker %56 = OpCompositeExtract %v2float %51 0 147*c8dee2aaSAndroid Build Coastguard Worker %57 = OpFMul %v2float %56 %53 148*c8dee2aaSAndroid Build Coastguard Worker %58 = OpCompositeExtract %v2float %51 1 149*c8dee2aaSAndroid Build Coastguard Worker %59 = OpFMul %v2float %58 %54 150*c8dee2aaSAndroid Build Coastguard Worker %60 = OpCompositeConstruct %mat2v2float %57 %59 151*c8dee2aaSAndroid Build Coastguard Worker OpStore %f22 %60 152*c8dee2aaSAndroid Build Coastguard Worker %64 = OpAccessChain %_ptr_Uniform_mat3v3float %7 %int_3 153*c8dee2aaSAndroid Build Coastguard Worker %67 = OpLoad %mat3v3float %64 154*c8dee2aaSAndroid Build Coastguard Worker %71 = OpCompositeExtract %v3float %67 0 155*c8dee2aaSAndroid Build Coastguard Worker %72 = OpFMul %v3float %71 %69 156*c8dee2aaSAndroid Build Coastguard Worker %73 = OpCompositeExtract %v3float %67 1 157*c8dee2aaSAndroid Build Coastguard Worker %74 = OpFMul %v3float %73 %69 158*c8dee2aaSAndroid Build Coastguard Worker %75 = OpCompositeExtract %v3float %67 2 159*c8dee2aaSAndroid Build Coastguard Worker %76 = OpFMul %v3float %75 %69 160*c8dee2aaSAndroid Build Coastguard Worker %77 = OpCompositeConstruct %mat3v3float %72 %74 %76 161*c8dee2aaSAndroid Build Coastguard Worker OpStore %h33 %77 162*c8dee2aaSAndroid Build Coastguard Worker %81 = OpFOrdEqual %v2bool %42 %42 163*c8dee2aaSAndroid Build Coastguard Worker %82 = OpAll %bool %81 164*c8dee2aaSAndroid Build Coastguard Worker %83 = OpFOrdEqual %v2bool %43 %43 165*c8dee2aaSAndroid Build Coastguard Worker %84 = OpAll %bool %83 166*c8dee2aaSAndroid Build Coastguard Worker %85 = OpLogicalAnd %bool %82 %84 167*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %87 None 168*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %85 %86 %87 169*c8dee2aaSAndroid Build Coastguard Worker %86 = OpLabel 170*c8dee2aaSAndroid Build Coastguard Worker %91 = OpFOrdEqual %v2bool %57 %53 171*c8dee2aaSAndroid Build Coastguard Worker %92 = OpAll %bool %91 172*c8dee2aaSAndroid Build Coastguard Worker %93 = OpFOrdEqual %v2bool %59 %89 173*c8dee2aaSAndroid Build Coastguard Worker %94 = OpAll %bool %93 174*c8dee2aaSAndroid Build Coastguard Worker %95 = OpLogicalAnd %bool %92 %94 175*c8dee2aaSAndroid Build Coastguard Worker OpBranch %87 176*c8dee2aaSAndroid Build Coastguard Worker %87 = OpLabel 177*c8dee2aaSAndroid Build Coastguard Worker %96 = OpPhi %bool %false %25 %95 %86 178*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %98 None 179*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %96 %97 %98 180*c8dee2aaSAndroid Build Coastguard Worker %97 = OpLabel 181*c8dee2aaSAndroid Build Coastguard Worker %110 = OpFOrdEqual %v3bool %72 %105 182*c8dee2aaSAndroid Build Coastguard Worker %111 = OpAll %bool %110 183*c8dee2aaSAndroid Build Coastguard Worker %112 = OpFOrdEqual %v3bool %74 %106 184*c8dee2aaSAndroid Build Coastguard Worker %113 = OpAll %bool %112 185*c8dee2aaSAndroid Build Coastguard Worker %114 = OpLogicalAnd %bool %111 %113 186*c8dee2aaSAndroid Build Coastguard Worker %115 = OpFOrdEqual %v3bool %76 %107 187*c8dee2aaSAndroid Build Coastguard Worker %116 = OpAll %bool %115 188*c8dee2aaSAndroid Build Coastguard Worker %117 = OpLogicalAnd %bool %114 %116 189*c8dee2aaSAndroid Build Coastguard Worker OpBranch %98 190*c8dee2aaSAndroid Build Coastguard Worker %98 = OpLabel 191*c8dee2aaSAndroid Build Coastguard Worker %118 = OpPhi %bool %false %87 %117 %97 192*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %123 None 193*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %118 %121 %122 194*c8dee2aaSAndroid Build Coastguard Worker %121 = OpLabel 195*c8dee2aaSAndroid Build Coastguard Worker %124 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 196*c8dee2aaSAndroid Build Coastguard Worker %127 = OpLoad %v4float %124 197*c8dee2aaSAndroid Build Coastguard Worker OpStore %119 %127 198*c8dee2aaSAndroid Build Coastguard Worker OpBranch %123 199*c8dee2aaSAndroid Build Coastguard Worker %122 = OpLabel 200*c8dee2aaSAndroid Build Coastguard Worker %128 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 201*c8dee2aaSAndroid Build Coastguard Worker %130 = OpLoad %v4float %128 202*c8dee2aaSAndroid Build Coastguard Worker OpStore %119 %130 203*c8dee2aaSAndroid Build Coastguard Worker OpBranch %123 204*c8dee2aaSAndroid Build Coastguard Worker %123 = OpLabel 205*c8dee2aaSAndroid Build Coastguard Worker %131 = OpLoad %v4float %119 206*c8dee2aaSAndroid Build Coastguard Worker OpReturnValue %131 207*c8dee2aaSAndroid Build Coastguard Worker OpFunctionEnd 208