OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise OpExecutionMode %_entrypoint_v OriginUpperLeft OpName %sk_FragColor "sk_FragColor" OpName %sk_Clockwise "sk_Clockwise" OpName %_UniformBuffer "_UniformBuffer" OpMemberName %_UniformBuffer 0 "colorGreen" OpMemberName %_UniformBuffer 1 "colorRed" OpMemberName %_UniformBuffer 2 "colorBlack" OpMemberName %_UniformBuffer 3 "colorWhite" OpMemberName %_UniformBuffer 4 "testInputs" OpName %_entrypoint_v "_entrypoint_v" OpName %main "main" OpName %intGreen "intGreen" OpName %intRed "intRed" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision OpMemberDecorate %_UniformBuffer 1 Offset 16 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision OpMemberDecorate %_UniformBuffer 2 Offset 32 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision OpMemberDecorate %_UniformBuffer 3 Offset 48 OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision OpMemberDecorate %_UniformBuffer 4 Offset 64 OpMemberDecorate %_UniformBuffer 4 RelaxedPrecision OpDecorate %_UniformBuffer Block OpDecorate %10 Binding 0 OpDecorate %10 DescriptorSet 0 OpDecorate %33 RelaxedPrecision OpDecorate %35 RelaxedPrecision OpDecorate %36 RelaxedPrecision OpDecorate %38 RelaxedPrecision OpDecorate %40 RelaxedPrecision OpDecorate %42 RelaxedPrecision OpDecorate %48 RelaxedPrecision OpDecorate %49 RelaxedPrecision OpDecorate %50 RelaxedPrecision OpDecorate %52 RelaxedPrecision OpDecorate %54 RelaxedPrecision OpDecorate %56 RelaxedPrecision OpDecorate %248 RelaxedPrecision OpDecorate %249 RelaxedPrecision OpDecorate %251 RelaxedPrecision OpDecorate %252 RelaxedPrecision OpDecorate %254 RelaxedPrecision OpDecorate %255 RelaxedPrecision OpDecorate %257 RelaxedPrecision OpDecorate %258 RelaxedPrecision OpDecorate %260 RelaxedPrecision OpDecorate %261 RelaxedPrecision OpDecorate %268 RelaxedPrecision OpDecorate %269 RelaxedPrecision OpDecorate %271 RelaxedPrecision OpDecorate %272 RelaxedPrecision OpDecorate %274 RelaxedPrecision OpDecorate %275 RelaxedPrecision OpDecorate %277 RelaxedPrecision OpDecorate %278 RelaxedPrecision OpDecorate %280 RelaxedPrecision OpDecorate %281 RelaxedPrecision OpDecorate %289 RelaxedPrecision OpDecorate %290 RelaxedPrecision OpDecorate %293 RelaxedPrecision OpDecorate %294 RelaxedPrecision OpDecorate %296 RelaxedPrecision OpDecorate %297 RelaxedPrecision OpDecorate %299 RelaxedPrecision OpDecorate %300 RelaxedPrecision OpDecorate %302 RelaxedPrecision OpDecorate %303 RelaxedPrecision OpDecorate %311 RelaxedPrecision OpDecorate %313 RelaxedPrecision OpDecorate %315 RelaxedPrecision OpDecorate %317 RelaxedPrecision OpDecorate %319 RelaxedPrecision OpDecorate %327 RelaxedPrecision OpDecorate %328 RelaxedPrecision OpDecorate %330 RelaxedPrecision OpDecorate %331 RelaxedPrecision OpDecorate %333 RelaxedPrecision OpDecorate %334 RelaxedPrecision OpDecorate %336 RelaxedPrecision OpDecorate %337 RelaxedPrecision OpDecorate %339 RelaxedPrecision OpDecorate %340 RelaxedPrecision OpDecorate %347 RelaxedPrecision OpDecorate %348 RelaxedPrecision OpDecorate %350 RelaxedPrecision OpDecorate %351 RelaxedPrecision OpDecorate %353 RelaxedPrecision OpDecorate %354 RelaxedPrecision OpDecorate %356 RelaxedPrecision OpDecorate %357 RelaxedPrecision OpDecorate %359 RelaxedPrecision OpDecorate %360 RelaxedPrecision OpDecorate %368 RelaxedPrecision OpDecorate %369 RelaxedPrecision OpDecorate %371 RelaxedPrecision OpDecorate %372 RelaxedPrecision OpDecorate %374 RelaxedPrecision OpDecorate %375 RelaxedPrecision OpDecorate %377 RelaxedPrecision OpDecorate %378 RelaxedPrecision OpDecorate %380 RelaxedPrecision OpDecorate %381 RelaxedPrecision OpDecorate %389 RelaxedPrecision OpDecorate %391 RelaxedPrecision OpDecorate %393 RelaxedPrecision OpDecorate %395 RelaxedPrecision OpDecorate %397 RelaxedPrecision OpDecorate %404 RelaxedPrecision OpDecorate %405 RelaxedPrecision OpDecorate %411 RelaxedPrecision OpDecorate %413 RelaxedPrecision OpDecorate %414 RelaxedPrecision OpDecorate %420 RelaxedPrecision OpDecorate %422 RelaxedPrecision OpDecorate %423 RelaxedPrecision OpDecorate %429 RelaxedPrecision OpDecorate %431 RelaxedPrecision OpDecorate %438 RelaxedPrecision OpDecorate %439 RelaxedPrecision OpDecorate %444 RelaxedPrecision OpDecorate %446 RelaxedPrecision OpDecorate %447 RelaxedPrecision OpDecorate %453 RelaxedPrecision OpDecorate %455 RelaxedPrecision OpDecorate %456 RelaxedPrecision OpDecorate %462 RelaxedPrecision OpDecorate %464 RelaxedPrecision OpDecorate %474 RelaxedPrecision OpDecorate %476 RelaxedPrecision OpDecorate %477 RelaxedPrecision %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Output_v4float = OpTypePointer Output %v4float %sk_FragColor = OpVariable %_ptr_Output_v4float Output %bool = OpTypeBool %_ptr_Input_bool = OpTypePointer Input %bool %sk_Clockwise = OpVariable %_ptr_Input_bool Input %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float %v4float %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform %void = OpTypeVoid %15 = OpTypeFunction %void %v2float = OpTypeVector %float 2 %float_0 = OpConstant %float 0 %19 = OpConstantComposite %v2float %float_0 %float_0 %_ptr_Function_v2float = OpTypePointer Function %v2float %23 = OpTypeFunction %v4float %_ptr_Function_v2float %int = OpTypeInt 32 1 %v4int = OpTypeVector %int 4 %_ptr_Function_v4int = OpTypePointer Function %v4int %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float %int_0 = OpConstant %int 0 %float_100 = OpConstant %float 100 %int_1 = OpConstant %int 1 %false = OpConstantFalse %bool %v2int = OpTypeVector %int 2 %v2bool = OpTypeVector %bool 2 %81 = OpConstantComposite %v2bool %false %false %v3int = OpTypeVector %int 3 %v3bool = OpTypeVector %bool 3 %100 = OpConstantComposite %v3bool %false %false %false %v4bool = OpTypeVector %bool 4 %116 = OpConstantComposite %v4bool %false %false %false %false %true = OpConstantTrue %bool %146 = OpConstantComposite %v2bool %true %true %163 = OpConstantComposite %v3bool %true %true %true %178 = OpConstantComposite %v4bool %true %true %true %true %int_100 = OpConstant %int 100 %194 = OpConstantComposite %v2int %int_0 %int_100 %202 = OpConstantComposite %v3int %int_0 %int_100 %int_0 %210 = OpConstantComposite %v4int %int_0 %int_100 %int_0 %int_100 %223 = OpConstantComposite %v2int %int_100 %int_0 %231 = OpConstantComposite %v3int %int_100 %int_0 %int_0 %239 = OpConstantComposite %v4int %int_100 %int_0 %int_0 %int_100 %v3float = OpTypeVector %float 3 %float_1 = OpConstant %float 1 %411 = OpConstantComposite %v2float %float_0 %float_1 %420 = OpConstantComposite %v3float %float_0 %float_1 %float_0 %429 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1 %444 = OpConstantComposite %v2float %float_1 %float_0 %453 = OpConstantComposite %v3float %float_1 %float_0 %float_0 %462 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %_ptr_Function_v4float = OpTypePointer Function %v4float %_entrypoint_v = OpFunction %void None %15 %16 = OpLabel %20 = OpVariable %_ptr_Function_v2float Function OpStore %20 %19 %22 = OpFunctionCall %v4float %main %20 OpStore %sk_FragColor %22 OpReturn OpFunctionEnd %main = OpFunction %v4float None %23 %24 = OpFunctionParameter %_ptr_Function_v2float %25 = OpLabel %intGreen = OpVariable %_ptr_Function_v4int Function %intRed = OpVariable %_ptr_Function_v4int Function %468 = OpVariable %_ptr_Function_v4float Function %30 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %33 = OpLoad %v4float %30 %35 = OpVectorTimesScalar %v4float %33 %float_100 %36 = OpCompositeExtract %float %35 0 %37 = OpConvertFToS %int %36 %38 = OpCompositeExtract %float %35 1 %39 = OpConvertFToS %int %38 %40 = OpCompositeExtract %float %35 2 %41 = OpConvertFToS %int %40 %42 = OpCompositeExtract %float %35 3 %43 = OpConvertFToS %int %42 %44 = OpCompositeConstruct %v4int %37 %39 %41 %43 OpStore %intGreen %44 %46 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %48 = OpLoad %v4float %46 %49 = OpVectorTimesScalar %v4float %48 %float_100 %50 = OpCompositeExtract %float %49 0 %51 = OpConvertFToS %int %50 %52 = OpCompositeExtract %float %49 1 %53 = OpConvertFToS %int %52 %54 = OpCompositeExtract %float %49 2 %55 = OpConvertFToS %int %54 %56 = OpCompositeExtract %float %49 3 %57 = OpConvertFToS %int %56 %58 = OpCompositeConstruct %v4int %51 %53 %55 %57 OpStore %intRed %58 %61 = OpLoad %v4int %intGreen %62 = OpCompositeExtract %int %61 0 %63 = OpLoad %v4int %intRed %64 = OpCompositeExtract %int %63 0 %65 = OpLoad %v4int %intGreen %66 = OpCompositeExtract %int %65 0 %67 = OpLoad %v4int %intRed %68 = OpCompositeExtract %int %67 0 %60 = OpSelect %int %false %68 %66 %69 = OpLoad %v4int %intGreen %70 = OpCompositeExtract %int %69 0 %71 = OpIEqual %bool %60 %70 OpSelectionMerge %73 None OpBranchConditional %71 %72 %73 %72 = OpLabel %75 = OpLoad %v4int %intGreen %76 = OpVectorShuffle %v2int %75 %75 0 1 %78 = OpLoad %v4int %intRed %79 = OpVectorShuffle %v2int %78 %78 0 1 %82 = OpLoad %v4int %intGreen %83 = OpVectorShuffle %v2int %82 %82 0 1 %84 = OpLoad %v4int %intRed %85 = OpVectorShuffle %v2int %84 %84 0 1 %74 = OpSelect %v2int %81 %85 %83 %86 = OpLoad %v4int %intGreen %87 = OpVectorShuffle %v2int %86 %86 0 1 %88 = OpIEqual %v2bool %74 %87 %89 = OpAll %bool %88 OpBranch %73 %73 = OpLabel %90 = OpPhi %bool %false %25 %89 %72 OpSelectionMerge %92 None OpBranchConditional %90 %91 %92 %91 = OpLabel %94 = OpLoad %v4int %intGreen %95 = OpVectorShuffle %v3int %94 %94 0 1 2 %97 = OpLoad %v4int %intRed %98 = OpVectorShuffle %v3int %97 %97 0 1 2 %101 = OpLoad %v4int %intGreen %102 = OpVectorShuffle %v3int %101 %101 0 1 2 %103 = OpLoad %v4int %intRed %104 = OpVectorShuffle %v3int %103 %103 0 1 2 %93 = OpSelect %v3int %100 %104 %102 %105 = OpLoad %v4int %intGreen %106 = OpVectorShuffle %v3int %105 %105 0 1 2 %107 = OpIEqual %v3bool %93 %106 %108 = OpAll %bool %107 OpBranch %92 %92 = OpLabel %109 = OpPhi %bool %false %73 %108 %91 OpSelectionMerge %111 None OpBranchConditional %109 %110 %111 %110 = OpLabel %113 = OpLoad %v4int %intGreen %114 = OpLoad %v4int %intRed %117 = OpLoad %v4int %intGreen %118 = OpLoad %v4int %intRed %112 = OpSelect %v4int %116 %118 %117 %119 = OpLoad %v4int %intGreen %120 = OpIEqual %v4bool %112 %119 %121 = OpAll %bool %120 OpBranch %111 %111 = OpLabel %122 = OpPhi %bool %false %92 %121 %110 OpSelectionMerge %124 None OpBranchConditional %122 %123 %124 %123 = OpLabel %126 = OpLoad %v4int %intGreen %127 = OpCompositeExtract %int %126 0 %128 = OpLoad %v4int %intRed %129 = OpCompositeExtract %int %128 0 %131 = OpLoad %v4int %intGreen %132 = OpCompositeExtract %int %131 0 %133 = OpLoad %v4int %intRed %134 = OpCompositeExtract %int %133 0 %125 = OpSelect %int %true %134 %132 %135 = OpLoad %v4int %intRed %136 = OpCompositeExtract %int %135 0 %137 = OpIEqual %bool %125 %136 OpBranch %124 %124 = OpLabel %138 = OpPhi %bool %false %111 %137 %123 OpSelectionMerge %140 None OpBranchConditional %138 %139 %140 %139 = OpLabel %142 = OpLoad %v4int %intGreen %143 = OpVectorShuffle %v2int %142 %142 0 1 %144 = OpLoad %v4int %intRed %145 = OpVectorShuffle %v2int %144 %144 0 1 %147 = OpLoad %v4int %intGreen %148 = OpVectorShuffle %v2int %147 %147 0 1 %149 = OpLoad %v4int %intRed %150 = OpVectorShuffle %v2int %149 %149 0 1 %141 = OpSelect %v2int %146 %150 %148 %151 = OpLoad %v4int %intRed %152 = OpVectorShuffle %v2int %151 %151 0 1 %153 = OpIEqual %v2bool %141 %152 %154 = OpAll %bool %153 OpBranch %140 %140 = OpLabel %155 = OpPhi %bool %false %124 %154 %139 OpSelectionMerge %157 None OpBranchConditional %155 %156 %157 %156 = OpLabel %159 = OpLoad %v4int %intGreen %160 = OpVectorShuffle %v3int %159 %159 0 1 2 %161 = OpLoad %v4int %intRed %162 = OpVectorShuffle %v3int %161 %161 0 1 2 %164 = OpLoad %v4int %intGreen %165 = OpVectorShuffle %v3int %164 %164 0 1 2 %166 = OpLoad %v4int %intRed %167 = OpVectorShuffle %v3int %166 %166 0 1 2 %158 = OpSelect %v3int %163 %167 %165 %168 = OpLoad %v4int %intRed %169 = OpVectorShuffle %v3int %168 %168 0 1 2 %170 = OpIEqual %v3bool %158 %169 %171 = OpAll %bool %170 OpBranch %157 %157 = OpLabel %172 = OpPhi %bool %false %140 %171 %156 OpSelectionMerge %174 None OpBranchConditional %172 %173 %174 %173 = OpLabel %176 = OpLoad %v4int %intGreen %177 = OpLoad %v4int %intRed %179 = OpLoad %v4int %intGreen %180 = OpLoad %v4int %intRed %175 = OpSelect %v4int %178 %180 %179 %181 = OpLoad %v4int %intRed %182 = OpIEqual %v4bool %175 %181 %183 = OpAll %bool %182 OpBranch %174 %174 = OpLabel %184 = OpPhi %bool %false %157 %183 %173 OpSelectionMerge %186 None OpBranchConditional %184 %185 %186 %185 = OpLabel %187 = OpLoad %v4int %intGreen %188 = OpCompositeExtract %int %187 0 %189 = OpIEqual %bool %int_0 %188 OpBranch %186 %186 = OpLabel %190 = OpPhi %bool %false %174 %189 %185 OpSelectionMerge %192 None OpBranchConditional %190 %191 %192 %191 = OpLabel %195 = OpLoad %v4int %intGreen %196 = OpVectorShuffle %v2int %195 %195 0 1 %197 = OpIEqual %v2bool %194 %196 %198 = OpAll %bool %197 OpBranch %192 %192 = OpLabel %199 = OpPhi %bool %false %186 %198 %191 OpSelectionMerge %201 None OpBranchConditional %199 %200 %201 %200 = OpLabel %203 = OpLoad %v4int %intGreen %204 = OpVectorShuffle %v3int %203 %203 0 1 2 %205 = OpIEqual %v3bool %202 %204 %206 = OpAll %bool %205 OpBranch %201 %201 = OpLabel %207 = OpPhi %bool %false %192 %206 %200 OpSelectionMerge %209 None OpBranchConditional %207 %208 %209 %208 = OpLabel %211 = OpLoad %v4int %intGreen %212 = OpIEqual %v4bool %210 %211 %213 = OpAll %bool %212 OpBranch %209 %209 = OpLabel %214 = OpPhi %bool %false %201 %213 %208 OpSelectionMerge %216 None OpBranchConditional %214 %215 %216 %215 = OpLabel %217 = OpLoad %v4int %intRed %218 = OpCompositeExtract %int %217 0 %219 = OpIEqual %bool %int_100 %218 OpBranch %216 %216 = OpLabel %220 = OpPhi %bool %false %209 %219 %215 OpSelectionMerge %222 None OpBranchConditional %220 %221 %222 %221 = OpLabel %224 = OpLoad %v4int %intRed %225 = OpVectorShuffle %v2int %224 %224 0 1 %226 = OpIEqual %v2bool %223 %225 %227 = OpAll %bool %226 OpBranch %222 %222 = OpLabel %228 = OpPhi %bool %false %216 %227 %221 OpSelectionMerge %230 None OpBranchConditional %228 %229 %230 %229 = OpLabel %232 = OpLoad %v4int %intRed %233 = OpVectorShuffle %v3int %232 %232 0 1 2 %234 = OpIEqual %v3bool %231 %233 %235 = OpAll %bool %234 OpBranch %230 %230 = OpLabel %236 = OpPhi %bool %false %222 %235 %229 OpSelectionMerge %238 None OpBranchConditional %236 %237 %238 %237 = OpLabel %240 = OpLoad %v4int %intRed %241 = OpIEqual %v4bool %239 %240 %242 = OpAll %bool %241 OpBranch %238 %238 = OpLabel %243 = OpPhi %bool %false %230 %242 %237 OpSelectionMerge %245 None OpBranchConditional %243 %244 %245 %244 = OpLabel %247 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %248 = OpLoad %v4float %247 %249 = OpCompositeExtract %float %248 0 %250 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %251 = OpLoad %v4float %250 %252 = OpCompositeExtract %float %251 0 %253 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %254 = OpLoad %v4float %253 %255 = OpCompositeExtract %float %254 0 %256 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %257 = OpLoad %v4float %256 %258 = OpCompositeExtract %float %257 0 %246 = OpSelect %float %false %258 %255 %259 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %260 = OpLoad %v4float %259 %261 = OpCompositeExtract %float %260 0 %262 = OpFOrdEqual %bool %246 %261 OpBranch %245 %245 = OpLabel %263 = OpPhi %bool %false %238 %262 %244 OpSelectionMerge %265 None OpBranchConditional %263 %264 %265 %264 = OpLabel %267 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %268 = OpLoad %v4float %267 %269 = OpVectorShuffle %v2float %268 %268 0 1 %270 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %271 = OpLoad %v4float %270 %272 = OpVectorShuffle %v2float %271 %271 0 1 %273 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %274 = OpLoad %v4float %273 %275 = OpVectorShuffle %v2float %274 %274 0 1 %276 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %277 = OpLoad %v4float %276 %278 = OpVectorShuffle %v2float %277 %277 0 1 %266 = OpSelect %v2float %81 %278 %275 %279 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %280 = OpLoad %v4float %279 %281 = OpVectorShuffle %v2float %280 %280 0 1 %282 = OpFOrdEqual %v2bool %266 %281 %283 = OpAll %bool %282 OpBranch %265 %265 = OpLabel %284 = OpPhi %bool %false %245 %283 %264 OpSelectionMerge %286 None OpBranchConditional %284 %285 %286 %285 = OpLabel %288 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %289 = OpLoad %v4float %288 %290 = OpVectorShuffle %v3float %289 %289 0 1 2 %292 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %293 = OpLoad %v4float %292 %294 = OpVectorShuffle %v3float %293 %293 0 1 2 %295 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %296 = OpLoad %v4float %295 %297 = OpVectorShuffle %v3float %296 %296 0 1 2 %298 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %299 = OpLoad %v4float %298 %300 = OpVectorShuffle %v3float %299 %299 0 1 2 %287 = OpSelect %v3float %100 %300 %297 %301 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %302 = OpLoad %v4float %301 %303 = OpVectorShuffle %v3float %302 %302 0 1 2 %304 = OpFOrdEqual %v3bool %287 %303 %305 = OpAll %bool %304 OpBranch %286 %286 = OpLabel %306 = OpPhi %bool %false %265 %305 %285 OpSelectionMerge %308 None OpBranchConditional %306 %307 %308 %307 = OpLabel %310 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %311 = OpLoad %v4float %310 %312 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %313 = OpLoad %v4float %312 %314 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %315 = OpLoad %v4float %314 %316 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %317 = OpLoad %v4float %316 %309 = OpSelect %v4float %116 %317 %315 %318 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %319 = OpLoad %v4float %318 %320 = OpFOrdEqual %v4bool %309 %319 %321 = OpAll %bool %320 OpBranch %308 %308 = OpLabel %322 = OpPhi %bool %false %286 %321 %307 OpSelectionMerge %324 None OpBranchConditional %322 %323 %324 %323 = OpLabel %326 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %327 = OpLoad %v4float %326 %328 = OpCompositeExtract %float %327 0 %329 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %330 = OpLoad %v4float %329 %331 = OpCompositeExtract %float %330 0 %332 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %333 = OpLoad %v4float %332 %334 = OpCompositeExtract %float %333 0 %335 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %336 = OpLoad %v4float %335 %337 = OpCompositeExtract %float %336 0 %325 = OpSelect %float %true %337 %334 %338 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %339 = OpLoad %v4float %338 %340 = OpCompositeExtract %float %339 0 %341 = OpFOrdEqual %bool %325 %340 OpBranch %324 %324 = OpLabel %342 = OpPhi %bool %false %308 %341 %323 OpSelectionMerge %344 None OpBranchConditional %342 %343 %344 %343 = OpLabel %346 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %347 = OpLoad %v4float %346 %348 = OpVectorShuffle %v2float %347 %347 0 1 %349 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %350 = OpLoad %v4float %349 %351 = OpVectorShuffle %v2float %350 %350 0 1 %352 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %353 = OpLoad %v4float %352 %354 = OpVectorShuffle %v2float %353 %353 0 1 %355 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %356 = OpLoad %v4float %355 %357 = OpVectorShuffle %v2float %356 %356 0 1 %345 = OpSelect %v2float %146 %357 %354 %358 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %359 = OpLoad %v4float %358 %360 = OpVectorShuffle %v2float %359 %359 0 1 %361 = OpFOrdEqual %v2bool %345 %360 %362 = OpAll %bool %361 OpBranch %344 %344 = OpLabel %363 = OpPhi %bool %false %324 %362 %343 OpSelectionMerge %365 None OpBranchConditional %363 %364 %365 %364 = OpLabel %367 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %368 = OpLoad %v4float %367 %369 = OpVectorShuffle %v3float %368 %368 0 1 2 %370 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %371 = OpLoad %v4float %370 %372 = OpVectorShuffle %v3float %371 %371 0 1 2 %373 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %374 = OpLoad %v4float %373 %375 = OpVectorShuffle %v3float %374 %374 0 1 2 %376 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %377 = OpLoad %v4float %376 %378 = OpVectorShuffle %v3float %377 %377 0 1 2 %366 = OpSelect %v3float %163 %378 %375 %379 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %380 = OpLoad %v4float %379 %381 = OpVectorShuffle %v3float %380 %380 0 1 2 %382 = OpFOrdEqual %v3bool %366 %381 %383 = OpAll %bool %382 OpBranch %365 %365 = OpLabel %384 = OpPhi %bool %false %344 %383 %364 OpSelectionMerge %386 None OpBranchConditional %384 %385 %386 %385 = OpLabel %388 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %389 = OpLoad %v4float %388 %390 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %391 = OpLoad %v4float %390 %392 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %393 = OpLoad %v4float %392 %394 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %395 = OpLoad %v4float %394 %387 = OpSelect %v4float %178 %395 %393 %396 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %397 = OpLoad %v4float %396 %398 = OpFOrdEqual %v4bool %387 %397 %399 = OpAll %bool %398 OpBranch %386 %386 = OpLabel %400 = OpPhi %bool %false %365 %399 %385 OpSelectionMerge %402 None OpBranchConditional %400 %401 %402 %401 = OpLabel %403 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %404 = OpLoad %v4float %403 %405 = OpCompositeExtract %float %404 0 %406 = OpFOrdEqual %bool %float_0 %405 OpBranch %402 %402 = OpLabel %407 = OpPhi %bool %false %386 %406 %401 OpSelectionMerge %409 None OpBranchConditional %407 %408 %409 %408 = OpLabel %412 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %413 = OpLoad %v4float %412 %414 = OpVectorShuffle %v2float %413 %413 0 1 %415 = OpFOrdEqual %v2bool %411 %414 %416 = OpAll %bool %415 OpBranch %409 %409 = OpLabel %417 = OpPhi %bool %false %402 %416 %408 OpSelectionMerge %419 None OpBranchConditional %417 %418 %419 %418 = OpLabel %421 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %422 = OpLoad %v4float %421 %423 = OpVectorShuffle %v3float %422 %422 0 1 2 %424 = OpFOrdEqual %v3bool %420 %423 %425 = OpAll %bool %424 OpBranch %419 %419 = OpLabel %426 = OpPhi %bool %false %409 %425 %418 OpSelectionMerge %428 None OpBranchConditional %426 %427 %428 %427 = OpLabel %430 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %431 = OpLoad %v4float %430 %432 = OpFOrdEqual %v4bool %429 %431 %433 = OpAll %bool %432 OpBranch %428 %428 = OpLabel %434 = OpPhi %bool %false %419 %433 %427 OpSelectionMerge %436 None OpBranchConditional %434 %435 %436 %435 = OpLabel %437 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %438 = OpLoad %v4float %437 %439 = OpCompositeExtract %float %438 0 %440 = OpFOrdEqual %bool %float_1 %439 OpBranch %436 %436 = OpLabel %441 = OpPhi %bool %false %428 %440 %435 OpSelectionMerge %443 None OpBranchConditional %441 %442 %443 %442 = OpLabel %445 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %446 = OpLoad %v4float %445 %447 = OpVectorShuffle %v2float %446 %446 0 1 %448 = OpFOrdEqual %v2bool %444 %447 %449 = OpAll %bool %448 OpBranch %443 %443 = OpLabel %450 = OpPhi %bool %false %436 %449 %442 OpSelectionMerge %452 None OpBranchConditional %450 %451 %452 %451 = OpLabel %454 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %455 = OpLoad %v4float %454 %456 = OpVectorShuffle %v3float %455 %455 0 1 2 %457 = OpFOrdEqual %v3bool %453 %456 %458 = OpAll %bool %457 OpBranch %452 %452 = OpLabel %459 = OpPhi %bool %false %443 %458 %451 OpSelectionMerge %461 None OpBranchConditional %459 %460 %461 %460 = OpLabel %463 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %464 = OpLoad %v4float %463 %465 = OpFOrdEqual %v4bool %462 %464 %466 = OpAll %bool %465 OpBranch %461 %461 = OpLabel %467 = OpPhi %bool %false %452 %466 %460 OpSelectionMerge %472 None OpBranchConditional %467 %470 %471 %470 = OpLabel %473 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 %474 = OpLoad %v4float %473 OpStore %468 %474 OpBranch %472 %471 = OpLabel %475 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 %476 = OpLoad %v4float %475 OpStore %468 %476 OpBranch %472 %472 = OpLabel %477 = OpLoad %v4float %468 OpReturnValue %477 OpFunctionEnd