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