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