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