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" 11OpMemberName %_UniformBuffer 2 "unknownInput" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %check_bf2f2f2f3i2i2f2f2f4i2b4f2f2f2b2b2b3 "check_bf2f2f2f3i2i2f2f2f4i2b4f2f2f2b2b2b3" 14OpName %main "main" 15OpName %v1 "v1" 16OpName %v2 "v2" 17OpName %v3 "v3" 18OpName %v4 "v4" 19OpName %v5 "v5" 20OpName %v6 "v6" 21OpName %v7 "v7" 22OpName %v8 "v8" 23OpName %v9 "v9" 24OpName %v10 "v10" 25OpName %v11 "v11" 26OpName %v12 "v12" 27OpName %v13 "v13" 28OpName %v14 "v14" 29OpName %v15 "v15" 30OpName %v16 "v16" 31OpName %v17 "v17" 32OpDecorate %sk_FragColor RelaxedPrecision 33OpDecorate %sk_FragColor Location 0 34OpDecorate %sk_FragColor Index 0 35OpDecorate %sk_Clockwise BuiltIn FrontFacing 36OpMemberDecorate %_UniformBuffer 0 Offset 0 37OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 38OpMemberDecorate %_UniformBuffer 1 Offset 16 39OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 40OpMemberDecorate %_UniformBuffer 2 Offset 32 41OpDecorate %_UniformBuffer Block 42OpDecorate %11 Binding 0 43OpDecorate %11 DescriptorSet 0 44OpDecorate %59 RelaxedPrecision 45OpDecorate %62 RelaxedPrecision 46OpDecorate %65 RelaxedPrecision 47OpDecorate %68 RelaxedPrecision 48OpDecorate %69 RelaxedPrecision 49OpDecorate %72 RelaxedPrecision 50OpDecorate %73 RelaxedPrecision 51OpDecorate %76 RelaxedPrecision 52OpDecorate %79 RelaxedPrecision 53OpDecorate %82 RelaxedPrecision 54OpDecorate %85 RelaxedPrecision 55OpDecorate %86 RelaxedPrecision 56OpDecorate %87 RelaxedPrecision 57OpDecorate %89 RelaxedPrecision 58OpDecorate %91 RelaxedPrecision 59OpDecorate %94 RelaxedPrecision 60OpDecorate %97 RelaxedPrecision 61OpDecorate %100 RelaxedPrecision 62OpDecorate %101 RelaxedPrecision 63OpDecorate %103 RelaxedPrecision 64OpDecorate %104 RelaxedPrecision 65OpDecorate %105 RelaxedPrecision 66OpDecorate %107 RelaxedPrecision 67OpDecorate %108 RelaxedPrecision 68OpDecorate %109 RelaxedPrecision 69OpDecorate %111 RelaxedPrecision 70OpDecorate %112 RelaxedPrecision 71OpDecorate %189 RelaxedPrecision 72OpDecorate %197 RelaxedPrecision 73OpDecorate %199 RelaxedPrecision 74OpDecorate %201 RelaxedPrecision 75OpDecorate %211 RelaxedPrecision 76OpDecorate %213 RelaxedPrecision 77OpDecorate %214 RelaxedPrecision 78%float = OpTypeFloat 32 79%v4float = OpTypeVector %float 4 80%_ptr_Output_v4float = OpTypePointer Output %v4float 81%sk_FragColor = OpVariable %_ptr_Output_v4float Output 82%bool = OpTypeBool 83%_ptr_Input_bool = OpTypePointer Input %bool 84%sk_Clockwise = OpVariable %_ptr_Input_bool Input 85%_UniformBuffer = OpTypeStruct %v4float %v4float %float 86%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 87%11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 88%void = OpTypeVoid 89%16 = OpTypeFunction %void 90%v2float = OpTypeVector %float 2 91%float_0 = OpConstant %float 0 92%20 = OpConstantComposite %v2float %float_0 %float_0 93%_ptr_Function_v2float = OpTypePointer Function %v2float 94%v3float = OpTypeVector %float 3 95%int = OpTypeInt 32 1 96%v2int = OpTypeVector %int 2 97%v4bool = OpTypeVector %bool 4 98%v2bool = OpTypeVector %bool 2 99%v3bool = OpTypeVector %bool 3 100%_ptr_Function_v3float = OpTypePointer Function %v3float 101%_ptr_Function_v2int = OpTypePointer Function %v2int 102%_ptr_Function_v4float = OpTypePointer Function %v4float 103%_ptr_Function_v4bool = OpTypePointer Function %v4bool 104%_ptr_Function_v2bool = OpTypePointer Function %v2bool 105%_ptr_Function_v3bool = OpTypePointer Function %v3bool 106%30 = OpTypeFunction %bool %_ptr_Function_v2float %_ptr_Function_v2float %_ptr_Function_v2float %_ptr_Function_v3float %_ptr_Function_v2int %_ptr_Function_v2int %_ptr_Function_v2float %_ptr_Function_v2float %_ptr_Function_v4float %_ptr_Function_v2int %_ptr_Function_v4bool %_ptr_Function_v2float %_ptr_Function_v2float %_ptr_Function_v2float %_ptr_Function_v2bool %_ptr_Function_v2bool %_ptr_Function_v3bool 107%float_1 = OpConstant %float 1 108%float_17 = OpConstant %float 17 109%115 = OpTypeFunction %v4float %_ptr_Function_v2float 110%119 = OpConstantComposite %v2float %float_1 %float_1 111%float_2 = OpConstant %float 2 112%122 = OpConstantComposite %v2float %float_1 %float_2 113%125 = OpConstantComposite %v3float %float_1 %float_1 %float_1 114%int_1 = OpConstant %int 1 115%128 = OpConstantComposite %v2int %int_1 %int_1 116%int_2 = OpConstant %int 2 117%131 = OpConstantComposite %v2int %int_1 %int_2 118%_ptr_Uniform_float = OpTypePointer Uniform %float 119%float_3 = OpConstant %float 3 120%float_4 = OpConstant %float 4 121%int_3 = OpConstant %int 3 122%true = OpConstantTrue %bool 123%false = OpConstantFalse %bool 124%159 = OpConstantComposite %v4bool %true %false %true %false 125%161 = OpConstantComposite %v2float %float_1 %float_0 126%165 = OpConstantComposite %v2bool %true %true 127%168 = OpConstantComposite %v3bool %true %true %true 128%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 129%int_0 = OpConstant %int 0 130%_entrypoint_v = OpFunction %void None %16 131%17 = OpLabel 132%21 = OpVariable %_ptr_Function_v2float Function 133OpStore %21 %20 134%23 = OpFunctionCall %v4float %main %21 135OpStore %sk_FragColor %23 136OpReturn 137OpFunctionEnd 138%check_bf2f2f2f3i2i2f2f2f4i2b4f2f2f2b2b2b3 = OpFunction %bool None %30 139%37 = OpFunctionParameter %_ptr_Function_v2float 140%38 = OpFunctionParameter %_ptr_Function_v2float 141%39 = OpFunctionParameter %_ptr_Function_v2float 142%40 = OpFunctionParameter %_ptr_Function_v3float 143%41 = OpFunctionParameter %_ptr_Function_v2int 144%42 = OpFunctionParameter %_ptr_Function_v2int 145%43 = OpFunctionParameter %_ptr_Function_v2float 146%44 = OpFunctionParameter %_ptr_Function_v2float 147%45 = OpFunctionParameter %_ptr_Function_v4float 148%46 = OpFunctionParameter %_ptr_Function_v2int 149%47 = OpFunctionParameter %_ptr_Function_v4bool 150%48 = OpFunctionParameter %_ptr_Function_v2float 151%49 = OpFunctionParameter %_ptr_Function_v2float 152%50 = OpFunctionParameter %_ptr_Function_v2float 153%51 = OpFunctionParameter %_ptr_Function_v2bool 154%52 = OpFunctionParameter %_ptr_Function_v2bool 155%53 = OpFunctionParameter %_ptr_Function_v3bool 156%54 = OpLabel 157%55 = OpLoad %v2float %37 158%56 = OpCompositeExtract %float %55 0 159%57 = OpLoad %v2float %38 160%58 = OpCompositeExtract %float %57 0 161%59 = OpFAdd %float %56 %58 162%60 = OpLoad %v2float %39 163%61 = OpCompositeExtract %float %60 0 164%62 = OpFAdd %float %59 %61 165%63 = OpLoad %v3float %40 166%64 = OpCompositeExtract %float %63 0 167%65 = OpFAdd %float %62 %64 168%66 = OpLoad %v2int %41 169%67 = OpCompositeExtract %int %66 0 170%68 = OpConvertSToF %float %67 171%69 = OpFAdd %float %65 %68 172%70 = OpLoad %v2int %42 173%71 = OpCompositeExtract %int %70 0 174%72 = OpConvertSToF %float %71 175%73 = OpFAdd %float %69 %72 176%74 = OpLoad %v2float %43 177%75 = OpCompositeExtract %float %74 0 178%76 = OpFAdd %float %73 %75 179%77 = OpLoad %v2float %44 180%78 = OpCompositeExtract %float %77 0 181%79 = OpFAdd %float %76 %78 182%80 = OpLoad %v4float %45 183%81 = OpCompositeExtract %float %80 0 184%82 = OpFAdd %float %79 %81 185%83 = OpLoad %v2int %46 186%84 = OpCompositeExtract %int %83 0 187%85 = OpConvertSToF %float %84 188%86 = OpFAdd %float %82 %85 189%87 = OpLoad %v4bool %47 190%88 = OpCompositeExtract %bool %87 0 191%89 = OpSelect %float %88 %float_1 %float_0 192%91 = OpFAdd %float %86 %89 193%92 = OpLoad %v2float %48 194%93 = OpCompositeExtract %float %92 0 195%94 = OpFAdd %float %91 %93 196%95 = OpLoad %v2float %49 197%96 = OpCompositeExtract %float %95 0 198%97 = OpFAdd %float %94 %96 199%98 = OpLoad %v2float %50 200%99 = OpCompositeExtract %float %98 0 201%100 = OpFAdd %float %97 %99 202%101 = OpLoad %v2bool %51 203%102 = OpCompositeExtract %bool %101 0 204%103 = OpSelect %float %102 %float_1 %float_0 205%104 = OpFAdd %float %100 %103 206%105 = OpLoad %v2bool %52 207%106 = OpCompositeExtract %bool %105 0 208%107 = OpSelect %float %106 %float_1 %float_0 209%108 = OpFAdd %float %104 %107 210%109 = OpLoad %v3bool %53 211%110 = OpCompositeExtract %bool %109 0 212%111 = OpSelect %float %110 %float_1 %float_0 213%112 = OpFAdd %float %108 %111 214%114 = OpFOrdEqual %bool %112 %float_17 215OpReturnValue %114 216OpFunctionEnd 217%main = OpFunction %v4float None %115 218%116 = OpFunctionParameter %_ptr_Function_v2float 219%117 = OpLabel 220%v1 = OpVariable %_ptr_Function_v2float Function 221%v2 = OpVariable %_ptr_Function_v2float Function 222%v3 = OpVariable %_ptr_Function_v2float Function 223%v4 = OpVariable %_ptr_Function_v3float Function 224%v5 = OpVariable %_ptr_Function_v2int Function 225%v6 = OpVariable %_ptr_Function_v2int Function 226%v7 = OpVariable %_ptr_Function_v2float Function 227%v8 = OpVariable %_ptr_Function_v2float Function 228%v9 = OpVariable %_ptr_Function_v4float Function 229%v10 = OpVariable %_ptr_Function_v2int Function 230%v11 = OpVariable %_ptr_Function_v4bool Function 231%v12 = OpVariable %_ptr_Function_v2float Function 232%v13 = OpVariable %_ptr_Function_v2float Function 233%v14 = OpVariable %_ptr_Function_v2float Function 234%v15 = OpVariable %_ptr_Function_v2bool Function 235%v16 = OpVariable %_ptr_Function_v2bool Function 236%v17 = OpVariable %_ptr_Function_v3bool Function 237%170 = OpVariable %_ptr_Function_v2float Function 238%172 = OpVariable %_ptr_Function_v2float Function 239%174 = OpVariable %_ptr_Function_v2float Function 240%176 = OpVariable %_ptr_Function_v3float Function 241%178 = OpVariable %_ptr_Function_v2int Function 242%180 = OpVariable %_ptr_Function_v2int Function 243%182 = OpVariable %_ptr_Function_v2float Function 244%184 = OpVariable %_ptr_Function_v2float Function 245%186 = OpVariable %_ptr_Function_v4float Function 246%188 = OpVariable %_ptr_Function_v2int Function 247%190 = OpVariable %_ptr_Function_v4bool Function 248%192 = OpVariable %_ptr_Function_v2float Function 249%194 = OpVariable %_ptr_Function_v2float Function 250%196 = OpVariable %_ptr_Function_v2float Function 251%198 = OpVariable %_ptr_Function_v2bool Function 252%200 = OpVariable %_ptr_Function_v2bool Function 253%202 = OpVariable %_ptr_Function_v3bool Function 254%204 = OpVariable %_ptr_Function_v4float Function 255OpStore %v1 %119 256OpStore %v2 %122 257OpStore %v3 %119 258OpStore %v4 %125 259OpStore %v5 %128 260OpStore %v6 %131 261OpStore %v7 %122 262%134 = OpLoad %v2int %v5 263%135 = OpCompositeExtract %int %134 0 264%136 = OpConvertSToF %float %135 265%137 = OpCompositeExtract %int %134 1 266%138 = OpConvertSToF %float %137 267%139 = OpCompositeConstruct %v2float %136 %138 268OpStore %v8 %139 269%141 = OpLoad %v2int %v6 270%142 = OpCompositeExtract %int %141 0 271%143 = OpConvertSToF %float %142 272%144 = OpAccessChain %_ptr_Uniform_float %11 %int_2 273%146 = OpLoad %float %144 274%149 = OpCompositeConstruct %v4float %143 %146 %float_3 %float_4 275OpStore %v9 %149 276%152 = OpLoad %v2float %v1 277%153 = OpCompositeExtract %float %152 0 278%154 = OpConvertFToS %int %153 279%155 = OpCompositeConstruct %v2int %int_3 %154 280OpStore %v10 %155 281OpStore %v11 %159 282OpStore %v12 %161 283OpStore %v13 %20 284OpStore %v14 %20 285OpStore %v15 %165 286OpStore %v16 %165 287OpStore %v17 %168 288%169 = OpLoad %v2float %v1 289OpStore %170 %169 290%171 = OpLoad %v2float %v2 291OpStore %172 %171 292%173 = OpLoad %v2float %v3 293OpStore %174 %173 294%175 = OpLoad %v3float %v4 295OpStore %176 %175 296%177 = OpLoad %v2int %v5 297OpStore %178 %177 298%179 = OpLoad %v2int %v6 299OpStore %180 %179 300%181 = OpLoad %v2float %v7 301OpStore %182 %181 302%183 = OpLoad %v2float %v8 303OpStore %184 %183 304%185 = OpLoad %v4float %v9 305OpStore %186 %185 306%187 = OpLoad %v2int %v10 307OpStore %188 %187 308%189 = OpLoad %v4bool %v11 309OpStore %190 %189 310%191 = OpLoad %v2float %v12 311OpStore %192 %191 312%193 = OpLoad %v2float %v13 313OpStore %194 %193 314%195 = OpLoad %v2float %v14 315OpStore %196 %195 316%197 = OpLoad %v2bool %v15 317OpStore %198 %197 318%199 = OpLoad %v2bool %v16 319OpStore %200 %199 320%201 = OpLoad %v3bool %v17 321OpStore %202 %201 322%203 = OpFunctionCall %bool %check_bf2f2f2f3i2i2f2f2f4i2b4f2f2f2b2b2b3 %170 %172 %174 %176 %178 %180 %182 %184 %186 %188 %190 %192 %194 %196 %198 %200 %202 323OpSelectionMerge %207 None 324OpBranchConditional %203 %205 %206 325%205 = OpLabel 326%208 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 327%211 = OpLoad %v4float %208 328OpStore %204 %211 329OpBranch %207 330%206 = OpLabel 331%212 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 332%213 = OpLoad %v4float %212 333OpStore %204 %213 334OpBranch %207 335%207 = OpLabel 336%214 = OpLoad %v4float %204 337OpReturnValue %214 338OpFunctionEnd 339