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