1OpCapability Shader 2%1 = OpExtInstImport "GLSL.std.450" 3OpMemoryModel Logical GLSL450 4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise 5OpExecutionMode %_entrypoint_v OriginUpperLeft 6OpName %sk_FragColor "sk_FragColor" 7OpName %sk_Clockwise "sk_Clockwise" 8OpName %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "colorGreen" 10OpMemberName %_UniformBuffer 1 "colorRed" 11OpName %_entrypoint_v "_entrypoint_v" 12OpName %main "main" 13OpName %h24 "h24" 14OpName %h42 "h42" 15OpName %f43 "f43" 16OpDecorate %sk_FragColor RelaxedPrecision 17OpDecorate %sk_FragColor Location 0 18OpDecorate %sk_FragColor Index 0 19OpDecorate %sk_Clockwise BuiltIn FrontFacing 20OpMemberDecorate %_UniformBuffer 0 Offset 0 21OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 22OpMemberDecorate %_UniformBuffer 1 Offset 16 23OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 24OpDecorate %_UniformBuffer Block 25OpDecorate %10 Binding 0 26OpDecorate %10 DescriptorSet 0 27OpDecorate %h24 RelaxedPrecision 28OpDecorate %31 RelaxedPrecision 29OpDecorate %32 RelaxedPrecision 30OpDecorate %33 RelaxedPrecision 31OpDecorate %38 RelaxedPrecision 32OpDecorate %41 RelaxedPrecision 33OpDecorate %42 RelaxedPrecision 34OpDecorate %43 RelaxedPrecision 35OpDecorate %44 RelaxedPrecision 36OpDecorate %45 RelaxedPrecision 37OpDecorate %46 RelaxedPrecision 38OpDecorate %47 RelaxedPrecision 39OpDecorate %48 RelaxedPrecision 40OpDecorate %49 RelaxedPrecision 41OpDecorate %h42 RelaxedPrecision 42OpDecorate %62 RelaxedPrecision 43OpDecorate %63 RelaxedPrecision 44OpDecorate %64 RelaxedPrecision 45OpDecorate %65 RelaxedPrecision 46OpDecorate %66 RelaxedPrecision 47OpDecorate %68 RelaxedPrecision 48OpDecorate %70 RelaxedPrecision 49OpDecorate %71 RelaxedPrecision 50OpDecorate %72 RelaxedPrecision 51OpDecorate %73 RelaxedPrecision 52OpDecorate %74 RelaxedPrecision 53OpDecorate %75 RelaxedPrecision 54OpDecorate %76 RelaxedPrecision 55OpDecorate %77 RelaxedPrecision 56OpDecorate %78 RelaxedPrecision 57OpDecorate %79 RelaxedPrecision 58OpDecorate %80 RelaxedPrecision 59OpDecorate %81 RelaxedPrecision 60OpDecorate %82 RelaxedPrecision 61OpDecorate %83 RelaxedPrecision 62OpDecorate %84 RelaxedPrecision 63OpDecorate %85 RelaxedPrecision 64OpDecorate %86 RelaxedPrecision 65OpDecorate %87 RelaxedPrecision 66OpDecorate %88 RelaxedPrecision 67OpDecorate %89 RelaxedPrecision 68OpDecorate %90 RelaxedPrecision 69OpDecorate %91 RelaxedPrecision 70OpDecorate %92 RelaxedPrecision 71OpDecorate %93 RelaxedPrecision 72OpDecorate %94 RelaxedPrecision 73OpDecorate %95 RelaxedPrecision 74OpDecorate %96 RelaxedPrecision 75OpDecorate %113 RelaxedPrecision 76OpDecorate %114 RelaxedPrecision 77OpDecorate %115 RelaxedPrecision 78OpDecorate %116 RelaxedPrecision 79OpDecorate %129 RelaxedPrecision 80OpDecorate %130 RelaxedPrecision 81OpDecorate %131 RelaxedPrecision 82OpDecorate %132 RelaxedPrecision 83OpDecorate %133 RelaxedPrecision 84OpDecorate %134 RelaxedPrecision 85OpDecorate %191 RelaxedPrecision 86OpDecorate %193 RelaxedPrecision 87OpDecorate %194 RelaxedPrecision 88%float = OpTypeFloat 32 89%v4float = OpTypeVector %float 4 90%_ptr_Output_v4float = OpTypePointer Output %v4float 91%sk_FragColor = OpVariable %_ptr_Output_v4float Output 92%bool = OpTypeBool 93%_ptr_Input_bool = OpTypePointer Input %bool 94%sk_Clockwise = OpVariable %_ptr_Input_bool Input 95%_UniformBuffer = OpTypeStruct %v4float %v4float 96%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 97%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 98%void = OpTypeVoid 99%15 = OpTypeFunction %void 100%v2float = OpTypeVector %float 2 101%float_0 = OpConstant %float 0 102%19 = OpConstantComposite %v2float %float_0 %float_0 103%_ptr_Function_v2float = OpTypePointer Function %v2float 104%23 = OpTypeFunction %v4float %_ptr_Function_v2float 105%mat2v4float = OpTypeMatrix %v4float 2 106%_ptr_Function_mat2v4float = OpTypePointer Function %mat2v4float 107%float_9 = OpConstant %float 9 108%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 109%int = OpTypeInt 32 1 110%int_1 = OpConstant %int 1 111%int_0 = OpConstant %int 0 112%mat4v2float = OpTypeMatrix %v2float 4 113%_ptr_Function_mat4v2float = OpTypePointer Function %mat4v2float 114%float_1 = OpConstant %float 1 115%float_2 = OpConstant %float 2 116%float_3 = OpConstant %float 3 117%float_4 = OpConstant %float 4 118%float_5 = OpConstant %float 5 119%float_6 = OpConstant %float 6 120%float_7 = OpConstant %float 7 121%float_8 = OpConstant %float 8 122%v3float = OpTypeVector %float 3 123%mat4v3float = OpTypeMatrix %v3float 4 124%_ptr_Function_mat4v3float = OpTypePointer Function %mat4v3float 125%float_12 = OpConstant %float 12 126%float_22 = OpConstant %float 22 127%float_30 = OpConstant %float 30 128%float_36 = OpConstant %float 36 129%float_40 = OpConstant %float 40 130%float_42 = OpConstant %float 42 131%false = OpConstantFalse %bool 132%v4bool = OpTypeVector %bool 4 133%v2bool = OpTypeVector %bool 2 134%v3bool = OpTypeVector %bool 3 135%_ptr_Function_v4float = OpTypePointer Function %v4float 136%_entrypoint_v = OpFunction %void None %15 137%16 = OpLabel 138%20 = OpVariable %_ptr_Function_v2float Function 139OpStore %20 %19 140%22 = OpFunctionCall %v4float %main %20 141OpStore %sk_FragColor %22 142OpReturn 143OpFunctionEnd 144%main = OpFunction %v4float None %23 145%24 = OpFunctionParameter %_ptr_Function_v2float 146%25 = OpLabel 147%h24 = OpVariable %_ptr_Function_mat2v4float Function 148%h42 = OpVariable %_ptr_Function_mat4v2float Function 149%f43 = OpVariable %_ptr_Function_mat4v3float Function 150%185 = OpVariable %_ptr_Function_v4float Function 151%31 = OpCompositeConstruct %v4float %float_9 %float_9 %float_9 %float_9 152%32 = OpCompositeConstruct %v4float %float_9 %float_9 %float_9 %float_9 153%33 = OpCompositeConstruct %mat2v4float %31 %32 154%34 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 155%38 = OpLoad %v4float %34 156%39 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 157%41 = OpLoad %v4float %39 158%42 = OpCompositeConstruct %mat2v4float %38 %41 159%43 = OpCompositeExtract %v4float %33 0 160%44 = OpCompositeExtract %v4float %42 0 161%45 = OpFMul %v4float %43 %44 162%46 = OpCompositeExtract %v4float %33 1 163%47 = OpCompositeExtract %v4float %42 1 164%48 = OpFMul %v4float %46 %47 165%49 = OpCompositeConstruct %mat2v4float %45 %48 166OpStore %h24 %49 167%62 = OpCompositeConstruct %v2float %float_1 %float_2 168%63 = OpCompositeConstruct %v2float %float_3 %float_4 169%64 = OpCompositeConstruct %v2float %float_5 %float_6 170%65 = OpCompositeConstruct %v2float %float_7 %float_8 171%66 = OpCompositeConstruct %mat4v2float %62 %63 %64 %65 172%67 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 173%68 = OpLoad %v4float %67 174%69 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 175%70 = OpLoad %v4float %69 176%71 = OpCompositeExtract %float %68 0 177%72 = OpCompositeExtract %float %68 1 178%73 = OpCompositeConstruct %v2float %71 %72 179%74 = OpCompositeExtract %float %68 2 180%75 = OpCompositeExtract %float %68 3 181%76 = OpCompositeConstruct %v2float %74 %75 182%77 = OpCompositeExtract %float %70 0 183%78 = OpCompositeExtract %float %70 1 184%79 = OpCompositeConstruct %v2float %77 %78 185%80 = OpCompositeExtract %float %70 2 186%81 = OpCompositeExtract %float %70 3 187%82 = OpCompositeConstruct %v2float %80 %81 188%83 = OpCompositeConstruct %mat4v2float %73 %76 %79 %82 189%84 = OpCompositeExtract %v2float %66 0 190%85 = OpCompositeExtract %v2float %83 0 191%86 = OpFMul %v2float %84 %85 192%87 = OpCompositeExtract %v2float %66 1 193%88 = OpCompositeExtract %v2float %83 1 194%89 = OpFMul %v2float %87 %88 195%90 = OpCompositeExtract %v2float %66 2 196%91 = OpCompositeExtract %v2float %83 2 197%92 = OpFMul %v2float %90 %91 198%93 = OpCompositeExtract %v2float %66 3 199%94 = OpCompositeExtract %v2float %83 3 200%95 = OpFMul %v2float %93 %94 201%96 = OpCompositeConstruct %mat4v2float %86 %89 %92 %95 202OpStore %h42 %96 203%107 = OpCompositeConstruct %v3float %float_12 %float_22 %float_30 204%108 = OpCompositeConstruct %v3float %float_36 %float_40 %float_42 205%109 = OpCompositeConstruct %v3float %float_42 %float_40 %float_36 206%110 = OpCompositeConstruct %v3float %float_30 %float_22 %float_12 207%111 = OpCompositeConstruct %mat4v3float %107 %108 %109 %110 208OpStore %f43 %111 209%113 = OpLoad %mat2v4float %h24 210%114 = OpCompositeConstruct %v4float %float_9 %float_0 %float_0 %float_9 211%115 = OpCompositeConstruct %v4float %float_0 %float_9 %float_0 %float_9 212%116 = OpCompositeConstruct %mat2v4float %114 %115 213%118 = OpCompositeExtract %v4float %113 0 214%119 = OpCompositeExtract %v4float %116 0 215%120 = OpFOrdEqual %v4bool %118 %119 216%121 = OpAll %bool %120 217%122 = OpCompositeExtract %v4float %113 1 218%123 = OpCompositeExtract %v4float %116 1 219%124 = OpFOrdEqual %v4bool %122 %123 220%125 = OpAll %bool %124 221%126 = OpLogicalAnd %bool %121 %125 222OpSelectionMerge %128 None 223OpBranchConditional %126 %127 %128 224%127 = OpLabel 225%129 = OpLoad %mat4v2float %h42 226%130 = OpCompositeConstruct %v2float %float_1 %float_0 227%131 = OpCompositeConstruct %v2float %float_0 %float_4 228%132 = OpCompositeConstruct %v2float %float_0 %float_6 229%133 = OpCompositeConstruct %v2float %float_0 %float_8 230%134 = OpCompositeConstruct %mat4v2float %130 %131 %132 %133 231%136 = OpCompositeExtract %v2float %129 0 232%137 = OpCompositeExtract %v2float %134 0 233%138 = OpFOrdEqual %v2bool %136 %137 234%139 = OpAll %bool %138 235%140 = OpCompositeExtract %v2float %129 1 236%141 = OpCompositeExtract %v2float %134 1 237%142 = OpFOrdEqual %v2bool %140 %141 238%143 = OpAll %bool %142 239%144 = OpLogicalAnd %bool %139 %143 240%145 = OpCompositeExtract %v2float %129 2 241%146 = OpCompositeExtract %v2float %134 2 242%147 = OpFOrdEqual %v2bool %145 %146 243%148 = OpAll %bool %147 244%149 = OpLogicalAnd %bool %144 %148 245%150 = OpCompositeExtract %v2float %129 3 246%151 = OpCompositeExtract %v2float %134 3 247%152 = OpFOrdEqual %v2bool %150 %151 248%153 = OpAll %bool %152 249%154 = OpLogicalAnd %bool %149 %153 250OpBranch %128 251%128 = OpLabel 252%155 = OpPhi %bool %false %25 %154 %127 253OpSelectionMerge %157 None 254OpBranchConditional %155 %156 %157 255%156 = OpLabel 256%158 = OpLoad %mat4v3float %f43 257%159 = OpCompositeConstruct %v3float %float_12 %float_22 %float_30 258%160 = OpCompositeConstruct %v3float %float_36 %float_40 %float_42 259%161 = OpCompositeConstruct %v3float %float_42 %float_40 %float_36 260%162 = OpCompositeConstruct %v3float %float_30 %float_22 %float_12 261%163 = OpCompositeConstruct %mat4v3float %159 %160 %161 %162 262%165 = OpCompositeExtract %v3float %158 0 263%166 = OpCompositeExtract %v3float %163 0 264%167 = OpFOrdEqual %v3bool %165 %166 265%168 = OpAll %bool %167 266%169 = OpCompositeExtract %v3float %158 1 267%170 = OpCompositeExtract %v3float %163 1 268%171 = OpFOrdEqual %v3bool %169 %170 269%172 = OpAll %bool %171 270%173 = OpLogicalAnd %bool %168 %172 271%174 = OpCompositeExtract %v3float %158 2 272%175 = OpCompositeExtract %v3float %163 2 273%176 = OpFOrdEqual %v3bool %174 %175 274%177 = OpAll %bool %176 275%178 = OpLogicalAnd %bool %173 %177 276%179 = OpCompositeExtract %v3float %158 3 277%180 = OpCompositeExtract %v3float %163 3 278%181 = OpFOrdEqual %v3bool %179 %180 279%182 = OpAll %bool %181 280%183 = OpLogicalAnd %bool %178 %182 281OpBranch %157 282%157 = OpLabel 283%184 = OpPhi %bool %false %128 %183 %156 284OpSelectionMerge %189 None 285OpBranchConditional %184 %187 %188 286%187 = OpLabel 287%190 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 288%191 = OpLoad %v4float %190 289OpStore %185 %191 290OpBranch %189 291%188 = OpLabel 292%192 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 293%193 = OpLoad %v4float %192 294OpStore %185 %193 295OpBranch %189 296%189 = OpLabel 297%194 = OpLoad %v4float %185 298OpReturnValue %194 299OpFunctionEnd 300