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 "testInputs" 9*c8dee2aaSAndroid Build Coastguard Worker OpMemberName %_UniformBuffer 1 "colorGreen" 10*c8dee2aaSAndroid Build Coastguard Worker OpMemberName %_UniformBuffer 2 "colorRed" 11*c8dee2aaSAndroid Build Coastguard Worker OpMemberName %_UniformBuffer 3 "u_skRTFlip" 12*c8dee2aaSAndroid Build Coastguard Worker OpName %_entrypoint_v "_entrypoint_v" 13*c8dee2aaSAndroid Build Coastguard Worker OpName %main "main" 14*c8dee2aaSAndroid Build Coastguard Worker OpName %expected "expected" 15*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %sk_FragColor RelaxedPrecision 16*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %sk_FragColor Location 0 17*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %sk_FragColor Index 0 18*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 0 Offset 0 19*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 20*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 1 Offset 16 21*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 22*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 2 Offset 32 23*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 24*c8dee2aaSAndroid Build Coastguard Worker OpMemberDecorate %_UniformBuffer 3 Offset 16384 25*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %_UniformBuffer Block 26*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %8 Binding 0 27*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %8 DescriptorSet 0 28*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %expected RelaxedPrecision 29*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %34 RelaxedPrecision 30*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %35 RelaxedPrecision 31*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %41 RelaxedPrecision 32*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %47 RelaxedPrecision 33*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %48 RelaxedPrecision 34*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %52 RelaxedPrecision 35*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %53 RelaxedPrecision 36*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %62 RelaxedPrecision 37*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %63 RelaxedPrecision 38*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %68 RelaxedPrecision 39*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %69 RelaxedPrecision 40*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %78 RelaxedPrecision 41*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %82 RelaxedPrecision 42*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %134 RelaxedPrecision 43*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %137 RelaxedPrecision 44*c8dee2aaSAndroid Build Coastguard Worker OpDecorate %138 RelaxedPrecision 45*c8dee2aaSAndroid Build Coastguard Worker %float = OpTypeFloat 32 46*c8dee2aaSAndroid Build Coastguard Worker %v4float = OpTypeVector %float 4 47*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Output_v4float = OpTypePointer Output %v4float 48*c8dee2aaSAndroid Build Coastguard Worker%sk_FragColor = OpVariable %_ptr_Output_v4float Output 49*c8dee2aaSAndroid Build Coastguard Worker %v2float = OpTypeVector %float 2 50*c8dee2aaSAndroid Build Coastguard Worker%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v2float 51*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 52*c8dee2aaSAndroid Build Coastguard Worker %8 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 53*c8dee2aaSAndroid Build Coastguard Worker %void = OpTypeVoid 54*c8dee2aaSAndroid Build Coastguard Worker %14 = OpTypeFunction %void 55*c8dee2aaSAndroid Build Coastguard Worker %float_0 = OpConstant %float 0 56*c8dee2aaSAndroid Build Coastguard Worker %17 = OpConstantComposite %v2float %float_0 %float_0 57*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_v2float = OpTypePointer Function %v2float 58*c8dee2aaSAndroid Build Coastguard Worker %21 = OpTypeFunction %v4float %_ptr_Function_v2float 59*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_v4float = OpTypePointer Function %v4float 60*c8dee2aaSAndroid Build Coastguard Worker %26 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 61*c8dee2aaSAndroid Build Coastguard Worker %bool = OpTypeBool 62*c8dee2aaSAndroid Build Coastguard Worker %false = OpConstantFalse %bool 63*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 64*c8dee2aaSAndroid Build Coastguard Worker %int = OpTypeInt 32 1 65*c8dee2aaSAndroid Build Coastguard Worker %int_0 = OpConstant %int 0 66*c8dee2aaSAndroid Build Coastguard Worker %int_3 = OpConstant %int 3 67*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float 68*c8dee2aaSAndroid Build Coastguard Worker %v2bool = OpTypeVector %bool 2 69*c8dee2aaSAndroid Build Coastguard Worker %v3float = OpTypeVector %float 3 70*c8dee2aaSAndroid Build Coastguard Worker %v3bool = OpTypeVector %bool 3 71*c8dee2aaSAndroid Build Coastguard Worker %v4bool = OpTypeVector %bool 4 72*c8dee2aaSAndroid Build Coastguard Worker %float_1 = OpConstant %float 1 73*c8dee2aaSAndroid Build Coastguard Worker %111 = OpConstantComposite %v2float %float_1 %float_1 74*c8dee2aaSAndroid Build Coastguard Worker %124 = OpConstantComposite %v2float %float_0 %float_1 75*c8dee2aaSAndroid Build Coastguard Worker %int_1 = OpConstant %int 1 76*c8dee2aaSAndroid Build Coastguard Worker %int_2 = OpConstant %int 2 77*c8dee2aaSAndroid Build Coastguard Worker%_entrypoint_v = OpFunction %void None %14 78*c8dee2aaSAndroid Build Coastguard Worker %15 = OpLabel 79*c8dee2aaSAndroid Build Coastguard Worker %18 = OpVariable %_ptr_Function_v2float Function 80*c8dee2aaSAndroid Build Coastguard Worker OpStore %18 %17 81*c8dee2aaSAndroid Build Coastguard Worker %20 = OpFunctionCall %v4float %main %18 82*c8dee2aaSAndroid Build Coastguard Worker OpStore %sk_FragColor %20 83*c8dee2aaSAndroid Build Coastguard Worker OpReturn 84*c8dee2aaSAndroid Build Coastguard Worker OpFunctionEnd 85*c8dee2aaSAndroid Build Coastguard Worker %main = OpFunction %v4float None %21 86*c8dee2aaSAndroid Build Coastguard Worker %22 = OpFunctionParameter %_ptr_Function_v2float 87*c8dee2aaSAndroid Build Coastguard Worker %23 = OpLabel 88*c8dee2aaSAndroid Build Coastguard Worker %expected = OpVariable %_ptr_Function_v4float Function 89*c8dee2aaSAndroid Build Coastguard Worker %128 = OpVariable %_ptr_Function_v4float Function 90*c8dee2aaSAndroid Build Coastguard Worker OpStore %expected %26 91*c8dee2aaSAndroid Build Coastguard Worker %30 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0 92*c8dee2aaSAndroid Build Coastguard Worker %34 = OpLoad %v4float %30 93*c8dee2aaSAndroid Build Coastguard Worker %35 = OpCompositeExtract %float %34 0 94*c8dee2aaSAndroid Build Coastguard Worker %29 = OpDPdy %float %35 95*c8dee2aaSAndroid Build Coastguard Worker %37 = OpAccessChain %_ptr_Uniform_v2float %8 %int_3 96*c8dee2aaSAndroid Build Coastguard Worker %39 = OpLoad %v2float %37 97*c8dee2aaSAndroid Build Coastguard Worker %40 = OpCompositeExtract %float %39 1 98*c8dee2aaSAndroid Build Coastguard Worker %41 = OpFMul %float %29 %40 99*c8dee2aaSAndroid Build Coastguard Worker %42 = OpFOrdEqual %bool %41 %float_0 100*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %44 None 101*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %42 %43 %44 102*c8dee2aaSAndroid Build Coastguard Worker %43 = OpLabel 103*c8dee2aaSAndroid Build Coastguard Worker %46 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0 104*c8dee2aaSAndroid Build Coastguard Worker %47 = OpLoad %v4float %46 105*c8dee2aaSAndroid Build Coastguard Worker %48 = OpVectorShuffle %v2float %47 %47 0 1 106*c8dee2aaSAndroid Build Coastguard Worker %45 = OpDPdy %v2float %48 107*c8dee2aaSAndroid Build Coastguard Worker %49 = OpAccessChain %_ptr_Uniform_v2float %8 %int_3 108*c8dee2aaSAndroid Build Coastguard Worker %50 = OpLoad %v2float %49 109*c8dee2aaSAndroid Build Coastguard Worker %51 = OpVectorShuffle %v2float %50 %50 1 1 110*c8dee2aaSAndroid Build Coastguard Worker %52 = OpFMul %v2float %45 %51 111*c8dee2aaSAndroid Build Coastguard Worker %53 = OpVectorShuffle %v2float %26 %26 0 1 112*c8dee2aaSAndroid Build Coastguard Worker %54 = OpFOrdEqual %v2bool %52 %53 113*c8dee2aaSAndroid Build Coastguard Worker %56 = OpAll %bool %54 114*c8dee2aaSAndroid Build Coastguard Worker OpBranch %44 115*c8dee2aaSAndroid Build Coastguard Worker %44 = OpLabel 116*c8dee2aaSAndroid Build Coastguard Worker %57 = OpPhi %bool %false %23 %56 %43 117*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %59 None 118*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %57 %58 %59 119*c8dee2aaSAndroid Build Coastguard Worker %58 = OpLabel 120*c8dee2aaSAndroid Build Coastguard Worker %61 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0 121*c8dee2aaSAndroid Build Coastguard Worker %62 = OpLoad %v4float %61 122*c8dee2aaSAndroid Build Coastguard Worker %63 = OpVectorShuffle %v3float %62 %62 0 1 2 123*c8dee2aaSAndroid Build Coastguard Worker %60 = OpDPdy %v3float %63 124*c8dee2aaSAndroid Build Coastguard Worker %65 = OpAccessChain %_ptr_Uniform_v2float %8 %int_3 125*c8dee2aaSAndroid Build Coastguard Worker %66 = OpLoad %v2float %65 126*c8dee2aaSAndroid Build Coastguard Worker %67 = OpVectorShuffle %v3float %66 %66 1 1 1 127*c8dee2aaSAndroid Build Coastguard Worker %68 = OpFMul %v3float %60 %67 128*c8dee2aaSAndroid Build Coastguard Worker %69 = OpVectorShuffle %v3float %26 %26 0 1 2 129*c8dee2aaSAndroid Build Coastguard Worker %70 = OpFOrdEqual %v3bool %68 %69 130*c8dee2aaSAndroid Build Coastguard Worker %72 = OpAll %bool %70 131*c8dee2aaSAndroid Build Coastguard Worker OpBranch %59 132*c8dee2aaSAndroid Build Coastguard Worker %59 = OpLabel 133*c8dee2aaSAndroid Build Coastguard Worker %73 = OpPhi %bool %false %44 %72 %58 134*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %75 None 135*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %73 %74 %75 136*c8dee2aaSAndroid Build Coastguard Worker %74 = OpLabel 137*c8dee2aaSAndroid Build Coastguard Worker %77 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0 138*c8dee2aaSAndroid Build Coastguard Worker %78 = OpLoad %v4float %77 139*c8dee2aaSAndroid Build Coastguard Worker %76 = OpDPdy %v4float %78 140*c8dee2aaSAndroid Build Coastguard Worker %79 = OpAccessChain %_ptr_Uniform_v2float %8 %int_3 141*c8dee2aaSAndroid Build Coastguard Worker %80 = OpLoad %v2float %79 142*c8dee2aaSAndroid Build Coastguard Worker %81 = OpVectorShuffle %v4float %80 %80 1 1 1 1 143*c8dee2aaSAndroid Build Coastguard Worker %82 = OpFMul %v4float %76 %81 144*c8dee2aaSAndroid Build Coastguard Worker %83 = OpFOrdEqual %v4bool %82 %26 145*c8dee2aaSAndroid Build Coastguard Worker %85 = OpAll %bool %83 146*c8dee2aaSAndroid Build Coastguard Worker OpBranch %75 147*c8dee2aaSAndroid Build Coastguard Worker %75 = OpLabel 148*c8dee2aaSAndroid Build Coastguard Worker %86 = OpPhi %bool %false %59 %85 %74 149*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %88 None 150*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %86 %87 %88 151*c8dee2aaSAndroid Build Coastguard Worker %87 = OpLabel 152*c8dee2aaSAndroid Build Coastguard Worker %91 = OpLoad %v2float %22 153*c8dee2aaSAndroid Build Coastguard Worker %92 = OpVectorShuffle %v2float %91 %91 0 0 154*c8dee2aaSAndroid Build Coastguard Worker %90 = OpDPdy %v2float %92 155*c8dee2aaSAndroid Build Coastguard Worker %93 = OpAccessChain %_ptr_Uniform_v2float %8 %int_3 156*c8dee2aaSAndroid Build Coastguard Worker %94 = OpLoad %v2float %93 157*c8dee2aaSAndroid Build Coastguard Worker %95 = OpVectorShuffle %v2float %94 %94 1 1 158*c8dee2aaSAndroid Build Coastguard Worker %96 = OpFMul %v2float %90 %95 159*c8dee2aaSAndroid Build Coastguard Worker %89 = OpExtInst %v2float %1 FSign %96 160*c8dee2aaSAndroid Build Coastguard Worker %97 = OpFOrdEqual %v2bool %89 %17 161*c8dee2aaSAndroid Build Coastguard Worker %98 = OpAll %bool %97 162*c8dee2aaSAndroid Build Coastguard Worker OpBranch %88 163*c8dee2aaSAndroid Build Coastguard Worker %88 = OpLabel 164*c8dee2aaSAndroid Build Coastguard Worker %99 = OpPhi %bool %false %75 %98 %87 165*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %101 None 166*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %99 %100 %101 167*c8dee2aaSAndroid Build Coastguard Worker %100 = OpLabel 168*c8dee2aaSAndroid Build Coastguard Worker %104 = OpLoad %v2float %22 169*c8dee2aaSAndroid Build Coastguard Worker %105 = OpVectorShuffle %v2float %104 %104 1 1 170*c8dee2aaSAndroid Build Coastguard Worker %103 = OpDPdy %v2float %105 171*c8dee2aaSAndroid Build Coastguard Worker %106 = OpAccessChain %_ptr_Uniform_v2float %8 %int_3 172*c8dee2aaSAndroid Build Coastguard Worker %107 = OpLoad %v2float %106 173*c8dee2aaSAndroid Build Coastguard Worker %108 = OpVectorShuffle %v2float %107 %107 1 1 174*c8dee2aaSAndroid Build Coastguard Worker %109 = OpFMul %v2float %103 %108 175*c8dee2aaSAndroid Build Coastguard Worker %102 = OpExtInst %v2float %1 FSign %109 176*c8dee2aaSAndroid Build Coastguard Worker %112 = OpFOrdEqual %v2bool %102 %111 177*c8dee2aaSAndroid Build Coastguard Worker %113 = OpAll %bool %112 178*c8dee2aaSAndroid Build Coastguard Worker OpBranch %101 179*c8dee2aaSAndroid Build Coastguard Worker %101 = OpLabel 180*c8dee2aaSAndroid Build Coastguard Worker %114 = OpPhi %bool %false %88 %113 %100 181*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %116 None 182*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %114 %115 %116 183*c8dee2aaSAndroid Build Coastguard Worker %115 = OpLabel 184*c8dee2aaSAndroid Build Coastguard Worker %119 = OpLoad %v2float %22 185*c8dee2aaSAndroid Build Coastguard Worker %118 = OpDPdy %v2float %119 186*c8dee2aaSAndroid Build Coastguard Worker %120 = OpAccessChain %_ptr_Uniform_v2float %8 %int_3 187*c8dee2aaSAndroid Build Coastguard Worker %121 = OpLoad %v2float %120 188*c8dee2aaSAndroid Build Coastguard Worker %122 = OpVectorShuffle %v2float %121 %121 1 1 189*c8dee2aaSAndroid Build Coastguard Worker %123 = OpFMul %v2float %118 %122 190*c8dee2aaSAndroid Build Coastguard Worker %117 = OpExtInst %v2float %1 FSign %123 191*c8dee2aaSAndroid Build Coastguard Worker %125 = OpFOrdEqual %v2bool %117 %124 192*c8dee2aaSAndroid Build Coastguard Worker %126 = OpAll %bool %125 193*c8dee2aaSAndroid Build Coastguard Worker OpBranch %116 194*c8dee2aaSAndroid Build Coastguard Worker %116 = OpLabel 195*c8dee2aaSAndroid Build Coastguard Worker %127 = OpPhi %bool %false %101 %126 %115 196*c8dee2aaSAndroid Build Coastguard Worker OpSelectionMerge %131 None 197*c8dee2aaSAndroid Build Coastguard Worker OpBranchConditional %127 %129 %130 198*c8dee2aaSAndroid Build Coastguard Worker %129 = OpLabel 199*c8dee2aaSAndroid Build Coastguard Worker %132 = OpAccessChain %_ptr_Uniform_v4float %8 %int_1 200*c8dee2aaSAndroid Build Coastguard Worker %134 = OpLoad %v4float %132 201*c8dee2aaSAndroid Build Coastguard Worker OpStore %128 %134 202*c8dee2aaSAndroid Build Coastguard Worker OpBranch %131 203*c8dee2aaSAndroid Build Coastguard Worker %130 = OpLabel 204*c8dee2aaSAndroid Build Coastguard Worker %135 = OpAccessChain %_ptr_Uniform_v4float %8 %int_2 205*c8dee2aaSAndroid Build Coastguard Worker %137 = OpLoad %v4float %135 206*c8dee2aaSAndroid Build Coastguard Worker OpStore %128 %137 207*c8dee2aaSAndroid Build Coastguard Worker OpBranch %131 208*c8dee2aaSAndroid Build Coastguard Worker %131 = OpLabel 209*c8dee2aaSAndroid Build Coastguard Worker %138 = OpLoad %v4float %128 210*c8dee2aaSAndroid Build Coastguard Worker OpReturnValue %138 211*c8dee2aaSAndroid Build Coastguard Worker OpFunctionEnd 212