OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor OpExecutionMode %_entrypoint_v OriginUpperLeft OpName %sk_FragColor "sk_FragColor" 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 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 %7 Binding 0 OpDecorate %7 DescriptorSet 0 OpDecorate %30 RelaxedPrecision OpDecorate %32 RelaxedPrecision OpDecorate %33 RelaxedPrecision OpDecorate %35 RelaxedPrecision OpDecorate %37 RelaxedPrecision OpDecorate %39 RelaxedPrecision OpDecorate %45 RelaxedPrecision OpDecorate %46 RelaxedPrecision OpDecorate %47 RelaxedPrecision OpDecorate %49 RelaxedPrecision OpDecorate %51 RelaxedPrecision OpDecorate %53 RelaxedPrecision OpDecorate %188 RelaxedPrecision OpDecorate %189 RelaxedPrecision OpDecorate %191 RelaxedPrecision OpDecorate %192 RelaxedPrecision OpDecorate %194 RelaxedPrecision OpDecorate %195 RelaxedPrecision OpDecorate %197 RelaxedPrecision OpDecorate %198 RelaxedPrecision OpDecorate %200 RelaxedPrecision OpDecorate %201 RelaxedPrecision OpDecorate %208 RelaxedPrecision OpDecorate %209 RelaxedPrecision OpDecorate %211 RelaxedPrecision OpDecorate %212 RelaxedPrecision OpDecorate %214 RelaxedPrecision OpDecorate %215 RelaxedPrecision OpDecorate %217 RelaxedPrecision OpDecorate %218 RelaxedPrecision OpDecorate %220 RelaxedPrecision OpDecorate %221 RelaxedPrecision OpDecorate %229 RelaxedPrecision OpDecorate %230 RelaxedPrecision OpDecorate %233 RelaxedPrecision OpDecorate %234 RelaxedPrecision OpDecorate %236 RelaxedPrecision OpDecorate %237 RelaxedPrecision OpDecorate %239 RelaxedPrecision OpDecorate %240 RelaxedPrecision OpDecorate %242 RelaxedPrecision OpDecorate %243 RelaxedPrecision OpDecorate %251 RelaxedPrecision OpDecorate %253 RelaxedPrecision OpDecorate %255 RelaxedPrecision OpDecorate %257 RelaxedPrecision OpDecorate %259 RelaxedPrecision OpDecorate %267 RelaxedPrecision OpDecorate %268 RelaxedPrecision OpDecorate %270 RelaxedPrecision OpDecorate %271 RelaxedPrecision OpDecorate %273 RelaxedPrecision OpDecorate %274 RelaxedPrecision OpDecorate %276 RelaxedPrecision OpDecorate %277 RelaxedPrecision OpDecorate %279 RelaxedPrecision OpDecorate %280 RelaxedPrecision OpDecorate %287 RelaxedPrecision OpDecorate %288 RelaxedPrecision OpDecorate %290 RelaxedPrecision OpDecorate %291 RelaxedPrecision OpDecorate %293 RelaxedPrecision OpDecorate %294 RelaxedPrecision OpDecorate %296 RelaxedPrecision OpDecorate %297 RelaxedPrecision OpDecorate %299 RelaxedPrecision OpDecorate %300 RelaxedPrecision OpDecorate %308 RelaxedPrecision OpDecorate %309 RelaxedPrecision OpDecorate %311 RelaxedPrecision OpDecorate %312 RelaxedPrecision OpDecorate %314 RelaxedPrecision OpDecorate %315 RelaxedPrecision OpDecorate %317 RelaxedPrecision OpDecorate %318 RelaxedPrecision OpDecorate %320 RelaxedPrecision OpDecorate %321 RelaxedPrecision OpDecorate %329 RelaxedPrecision OpDecorate %331 RelaxedPrecision OpDecorate %333 RelaxedPrecision OpDecorate %335 RelaxedPrecision OpDecorate %337 RelaxedPrecision OpDecorate %344 RelaxedPrecision OpDecorate %345 RelaxedPrecision OpDecorate %353 RelaxedPrecision OpDecorate %354 RelaxedPrecision OpDecorate %362 RelaxedPrecision OpDecorate %363 RelaxedPrecision OpDecorate %371 RelaxedPrecision OpDecorate %378 RelaxedPrecision OpDecorate %379 RelaxedPrecision OpDecorate %386 RelaxedPrecision OpDecorate %387 RelaxedPrecision OpDecorate %395 RelaxedPrecision OpDecorate %396 RelaxedPrecision OpDecorate %404 RelaxedPrecision OpDecorate %414 RelaxedPrecision OpDecorate %416 RelaxedPrecision OpDecorate %417 RelaxedPrecision %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Output_v4float = OpTypePointer Output %v4float %sk_FragColor = OpVariable %_ptr_Output_v4float Output %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float %v4float %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer %7 = OpVariable %_ptr_Uniform__UniformBuffer Uniform %void = OpTypeVoid %12 = OpTypeFunction %void %float_0 = OpConstant %float 0 %v2float = OpTypeVector %float 2 %16 = OpConstantComposite %v2float %float_0 %float_0 %_ptr_Function_v2float = OpTypePointer Function %v2float %20 = 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 %bool = OpTypeBool %false = OpConstantFalse %bool %v2int = OpTypeVector %int 2 %v2bool = OpTypeVector %bool 2 %69 = OpConstantComposite %v2bool %false %false %v3int = OpTypeVector %int 3 %v3bool = OpTypeVector %bool 3 %83 = OpConstantComposite %v3bool %false %false %false %v4bool = OpTypeVector %bool 4 %94 = OpConstantComposite %v4bool %false %false %false %false %true = OpConstantTrue %bool %109 = OpConstantComposite %v2bool %true %true %121 = OpConstantComposite %v3bool %true %true %true %131 = OpConstantComposite %v4bool %true %true %true %true %int_100 = OpConstant %int 100 %142 = OpConstantComposite %v2int %int_0 %int_100 %149 = OpConstantComposite %v3int %int_0 %int_100 %int_0 %156 = OpConstantComposite %v4int %int_0 %int_100 %int_0 %int_100 %166 = OpConstantComposite %v2int %int_100 %int_0 %173 = OpConstantComposite %v3int %int_100 %int_0 %int_0 %180 = OpConstantComposite %v4int %int_100 %int_0 %int_0 %int_100 %v3float = OpTypeVector %float 3 %float_1 = OpConstant %float 1 %351 = OpConstantComposite %v2float %float_0 %float_1 %360 = OpConstantComposite %v3float %float_0 %float_1 %float_0 %369 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1 %384 = OpConstantComposite %v2float %float_1 %float_0 %393 = OpConstantComposite %v3float %float_1 %float_0 %float_0 %402 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %_ptr_Function_v4float = OpTypePointer Function %v4float %_entrypoint_v = OpFunction %void None %12 %13 = OpLabel %17 = OpVariable %_ptr_Function_v2float Function OpStore %17 %16 %19 = OpFunctionCall %v4float %main %17 OpStore %sk_FragColor %19 OpReturn OpFunctionEnd %main = OpFunction %v4float None %20 %21 = OpFunctionParameter %_ptr_Function_v2float %22 = OpLabel %intGreen = OpVariable %_ptr_Function_v4int Function %intRed = OpVariable %_ptr_Function_v4int Function %408 = OpVariable %_ptr_Function_v4float Function %27 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %30 = OpLoad %v4float %27 %32 = OpVectorTimesScalar %v4float %30 %float_100 %33 = OpCompositeExtract %float %32 0 %34 = OpConvertFToS %int %33 %35 = OpCompositeExtract %float %32 1 %36 = OpConvertFToS %int %35 %37 = OpCompositeExtract %float %32 2 %38 = OpConvertFToS %int %37 %39 = OpCompositeExtract %float %32 3 %40 = OpConvertFToS %int %39 %41 = OpCompositeConstruct %v4int %34 %36 %38 %40 OpStore %intGreen %41 %43 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %45 = OpLoad %v4float %43 %46 = OpVectorTimesScalar %v4float %45 %float_100 %47 = OpCompositeExtract %float %46 0 %48 = OpConvertFToS %int %47 %49 = OpCompositeExtract %float %46 1 %50 = OpConvertFToS %int %49 %51 = OpCompositeExtract %float %46 2 %52 = OpConvertFToS %int %51 %53 = OpCompositeExtract %float %46 3 %54 = OpConvertFToS %int %53 %55 = OpCompositeConstruct %v4int %48 %50 %52 %54 OpStore %intRed %55 %59 = OpCompositeExtract %int %41 0 %60 = OpCompositeExtract %int %55 0 %58 = OpSelect %int %false %60 %59 %61 = OpIEqual %bool %58 %59 OpSelectionMerge %63 None OpBranchConditional %61 %62 %63 %62 = OpLabel %65 = OpVectorShuffle %v2int %41 %41 0 1 %67 = OpVectorShuffle %v2int %55 %55 0 1 %70 = OpVectorShuffle %v2int %41 %41 0 1 %71 = OpVectorShuffle %v2int %55 %55 0 1 %64 = OpSelect %v2int %69 %71 %70 %72 = OpVectorShuffle %v2int %41 %41 0 1 %73 = OpIEqual %v2bool %64 %72 %74 = OpAll %bool %73 OpBranch %63 %63 = OpLabel %75 = OpPhi %bool %false %22 %74 %62 OpSelectionMerge %77 None OpBranchConditional %75 %76 %77 %76 = OpLabel %79 = OpVectorShuffle %v3int %41 %41 0 1 2 %81 = OpVectorShuffle %v3int %55 %55 0 1 2 %84 = OpVectorShuffle %v3int %41 %41 0 1 2 %85 = OpVectorShuffle %v3int %55 %55 0 1 2 %78 = OpSelect %v3int %83 %85 %84 %86 = OpVectorShuffle %v3int %41 %41 0 1 2 %87 = OpIEqual %v3bool %78 %86 %88 = OpAll %bool %87 OpBranch %77 %77 = OpLabel %89 = OpPhi %bool %false %63 %88 %76 OpSelectionMerge %91 None OpBranchConditional %89 %90 %91 %90 = OpLabel %92 = OpSelect %v4int %94 %55 %41 %95 = OpIEqual %v4bool %92 %41 %96 = OpAll %bool %95 OpBranch %91 %91 = OpLabel %97 = OpPhi %bool %false %77 %96 %90 OpSelectionMerge %99 None OpBranchConditional %97 %98 %99 %98 = OpLabel %100 = OpSelect %int %true %60 %59 %102 = OpIEqual %bool %100 %60 OpBranch %99 %99 = OpLabel %103 = OpPhi %bool %false %91 %102 %98 OpSelectionMerge %105 None OpBranchConditional %103 %104 %105 %104 = OpLabel %107 = OpVectorShuffle %v2int %41 %41 0 1 %108 = OpVectorShuffle %v2int %55 %55 0 1 %110 = OpVectorShuffle %v2int %41 %41 0 1 %111 = OpVectorShuffle %v2int %55 %55 0 1 %106 = OpSelect %v2int %109 %111 %110 %112 = OpVectorShuffle %v2int %55 %55 0 1 %113 = OpIEqual %v2bool %106 %112 %114 = OpAll %bool %113 OpBranch %105 %105 = OpLabel %115 = OpPhi %bool %false %99 %114 %104 OpSelectionMerge %117 None OpBranchConditional %115 %116 %117 %116 = OpLabel %119 = OpVectorShuffle %v3int %41 %41 0 1 2 %120 = OpVectorShuffle %v3int %55 %55 0 1 2 %122 = OpVectorShuffle %v3int %41 %41 0 1 2 %123 = OpVectorShuffle %v3int %55 %55 0 1 2 %118 = OpSelect %v3int %121 %123 %122 %124 = OpVectorShuffle %v3int %55 %55 0 1 2 %125 = OpIEqual %v3bool %118 %124 %126 = OpAll %bool %125 OpBranch %117 %117 = OpLabel %127 = OpPhi %bool %false %105 %126 %116 OpSelectionMerge %129 None OpBranchConditional %127 %128 %129 %128 = OpLabel %130 = OpSelect %v4int %131 %55 %41 %132 = OpIEqual %v4bool %130 %55 %133 = OpAll %bool %132 OpBranch %129 %129 = OpLabel %134 = OpPhi %bool %false %117 %133 %128 OpSelectionMerge %136 None OpBranchConditional %134 %135 %136 %135 = OpLabel %137 = OpIEqual %bool %int_0 %59 OpBranch %136 %136 = OpLabel %138 = OpPhi %bool %false %129 %137 %135 OpSelectionMerge %140 None OpBranchConditional %138 %139 %140 %139 = OpLabel %143 = OpVectorShuffle %v2int %41 %41 0 1 %144 = OpIEqual %v2bool %142 %143 %145 = OpAll %bool %144 OpBranch %140 %140 = OpLabel %146 = OpPhi %bool %false %136 %145 %139 OpSelectionMerge %148 None OpBranchConditional %146 %147 %148 %147 = OpLabel %150 = OpVectorShuffle %v3int %41 %41 0 1 2 %151 = OpIEqual %v3bool %149 %150 %152 = OpAll %bool %151 OpBranch %148 %148 = OpLabel %153 = OpPhi %bool %false %140 %152 %147 OpSelectionMerge %155 None OpBranchConditional %153 %154 %155 %154 = OpLabel %157 = OpIEqual %v4bool %156 %41 %158 = OpAll %bool %157 OpBranch %155 %155 = OpLabel %159 = OpPhi %bool %false %148 %158 %154 OpSelectionMerge %161 None OpBranchConditional %159 %160 %161 %160 = OpLabel %162 = OpIEqual %bool %int_100 %60 OpBranch %161 %161 = OpLabel %163 = OpPhi %bool %false %155 %162 %160 OpSelectionMerge %165 None OpBranchConditional %163 %164 %165 %164 = OpLabel %167 = OpVectorShuffle %v2int %55 %55 0 1 %168 = OpIEqual %v2bool %166 %167 %169 = OpAll %bool %168 OpBranch %165 %165 = OpLabel %170 = OpPhi %bool %false %161 %169 %164 OpSelectionMerge %172 None OpBranchConditional %170 %171 %172 %171 = OpLabel %174 = OpVectorShuffle %v3int %55 %55 0 1 2 %175 = OpIEqual %v3bool %173 %174 %176 = OpAll %bool %175 OpBranch %172 %172 = OpLabel %177 = OpPhi %bool %false %165 %176 %171 OpSelectionMerge %179 None OpBranchConditional %177 %178 %179 %178 = OpLabel %181 = OpIEqual %v4bool %180 %55 %182 = OpAll %bool %181 OpBranch %179 %179 = OpLabel %183 = OpPhi %bool %false %172 %182 %178 OpSelectionMerge %185 None OpBranchConditional %183 %184 %185 %184 = OpLabel %187 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %188 = OpLoad %v4float %187 %189 = OpCompositeExtract %float %188 0 %190 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %191 = OpLoad %v4float %190 %192 = OpCompositeExtract %float %191 0 %193 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %194 = OpLoad %v4float %193 %195 = OpCompositeExtract %float %194 0 %196 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %197 = OpLoad %v4float %196 %198 = OpCompositeExtract %float %197 0 %186 = OpSelect %float %false %198 %195 %199 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %200 = OpLoad %v4float %199 %201 = OpCompositeExtract %float %200 0 %202 = OpFOrdEqual %bool %186 %201 OpBranch %185 %185 = OpLabel %203 = OpPhi %bool %false %179 %202 %184 OpSelectionMerge %205 None OpBranchConditional %203 %204 %205 %204 = OpLabel %207 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %208 = OpLoad %v4float %207 %209 = OpVectorShuffle %v2float %208 %208 0 1 %210 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %211 = OpLoad %v4float %210 %212 = OpVectorShuffle %v2float %211 %211 0 1 %213 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %214 = OpLoad %v4float %213 %215 = OpVectorShuffle %v2float %214 %214 0 1 %216 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %217 = OpLoad %v4float %216 %218 = OpVectorShuffle %v2float %217 %217 0 1 %206 = OpSelect %v2float %69 %218 %215 %219 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %220 = OpLoad %v4float %219 %221 = OpVectorShuffle %v2float %220 %220 0 1 %222 = OpFOrdEqual %v2bool %206 %221 %223 = OpAll %bool %222 OpBranch %205 %205 = OpLabel %224 = OpPhi %bool %false %185 %223 %204 OpSelectionMerge %226 None OpBranchConditional %224 %225 %226 %225 = OpLabel %228 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %229 = OpLoad %v4float %228 %230 = OpVectorShuffle %v3float %229 %229 0 1 2 %232 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %233 = OpLoad %v4float %232 %234 = OpVectorShuffle %v3float %233 %233 0 1 2 %235 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %236 = OpLoad %v4float %235 %237 = OpVectorShuffle %v3float %236 %236 0 1 2 %238 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %239 = OpLoad %v4float %238 %240 = OpVectorShuffle %v3float %239 %239 0 1 2 %227 = OpSelect %v3float %83 %240 %237 %241 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %242 = OpLoad %v4float %241 %243 = OpVectorShuffle %v3float %242 %242 0 1 2 %244 = OpFOrdEqual %v3bool %227 %243 %245 = OpAll %bool %244 OpBranch %226 %226 = OpLabel %246 = OpPhi %bool %false %205 %245 %225 OpSelectionMerge %248 None OpBranchConditional %246 %247 %248 %247 = OpLabel %250 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %251 = OpLoad %v4float %250 %252 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %253 = OpLoad %v4float %252 %254 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %255 = OpLoad %v4float %254 %256 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %257 = OpLoad %v4float %256 %249 = OpSelect %v4float %94 %257 %255 %258 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %259 = OpLoad %v4float %258 %260 = OpFOrdEqual %v4bool %249 %259 %261 = OpAll %bool %260 OpBranch %248 %248 = OpLabel %262 = OpPhi %bool %false %226 %261 %247 OpSelectionMerge %264 None OpBranchConditional %262 %263 %264 %263 = OpLabel %266 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %267 = OpLoad %v4float %266 %268 = OpCompositeExtract %float %267 0 %269 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %270 = OpLoad %v4float %269 %271 = OpCompositeExtract %float %270 0 %272 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %273 = OpLoad %v4float %272 %274 = OpCompositeExtract %float %273 0 %275 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %276 = OpLoad %v4float %275 %277 = OpCompositeExtract %float %276 0 %265 = OpSelect %float %true %277 %274 %278 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %279 = OpLoad %v4float %278 %280 = OpCompositeExtract %float %279 0 %281 = OpFOrdEqual %bool %265 %280 OpBranch %264 %264 = OpLabel %282 = OpPhi %bool %false %248 %281 %263 OpSelectionMerge %284 None OpBranchConditional %282 %283 %284 %283 = OpLabel %286 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %287 = OpLoad %v4float %286 %288 = OpVectorShuffle %v2float %287 %287 0 1 %289 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %290 = OpLoad %v4float %289 %291 = OpVectorShuffle %v2float %290 %290 0 1 %292 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %293 = OpLoad %v4float %292 %294 = OpVectorShuffle %v2float %293 %293 0 1 %295 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %296 = OpLoad %v4float %295 %297 = OpVectorShuffle %v2float %296 %296 0 1 %285 = OpSelect %v2float %109 %297 %294 %298 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %299 = OpLoad %v4float %298 %300 = OpVectorShuffle %v2float %299 %299 0 1 %301 = OpFOrdEqual %v2bool %285 %300 %302 = OpAll %bool %301 OpBranch %284 %284 = OpLabel %303 = OpPhi %bool %false %264 %302 %283 OpSelectionMerge %305 None OpBranchConditional %303 %304 %305 %304 = OpLabel %307 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %308 = OpLoad %v4float %307 %309 = OpVectorShuffle %v3float %308 %308 0 1 2 %310 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %311 = OpLoad %v4float %310 %312 = OpVectorShuffle %v3float %311 %311 0 1 2 %313 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %314 = OpLoad %v4float %313 %315 = OpVectorShuffle %v3float %314 %314 0 1 2 %316 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %317 = OpLoad %v4float %316 %318 = OpVectorShuffle %v3float %317 %317 0 1 2 %306 = OpSelect %v3float %121 %318 %315 %319 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %320 = OpLoad %v4float %319 %321 = OpVectorShuffle %v3float %320 %320 0 1 2 %322 = OpFOrdEqual %v3bool %306 %321 %323 = OpAll %bool %322 OpBranch %305 %305 = OpLabel %324 = OpPhi %bool %false %284 %323 %304 OpSelectionMerge %326 None OpBranchConditional %324 %325 %326 %325 = OpLabel %328 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %329 = OpLoad %v4float %328 %330 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %331 = OpLoad %v4float %330 %332 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %333 = OpLoad %v4float %332 %334 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %335 = OpLoad %v4float %334 %327 = OpSelect %v4float %131 %335 %333 %336 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %337 = OpLoad %v4float %336 %338 = OpFOrdEqual %v4bool %327 %337 %339 = OpAll %bool %338 OpBranch %326 %326 = OpLabel %340 = OpPhi %bool %false %305 %339 %325 OpSelectionMerge %342 None OpBranchConditional %340 %341 %342 %341 = OpLabel %343 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %344 = OpLoad %v4float %343 %345 = OpCompositeExtract %float %344 0 %346 = OpFOrdEqual %bool %float_0 %345 OpBranch %342 %342 = OpLabel %347 = OpPhi %bool %false %326 %346 %341 OpSelectionMerge %349 None OpBranchConditional %347 %348 %349 %348 = OpLabel %352 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %353 = OpLoad %v4float %352 %354 = OpVectorShuffle %v2float %353 %353 0 1 %355 = OpFOrdEqual %v2bool %351 %354 %356 = OpAll %bool %355 OpBranch %349 %349 = OpLabel %357 = OpPhi %bool %false %342 %356 %348 OpSelectionMerge %359 None OpBranchConditional %357 %358 %359 %358 = OpLabel %361 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %362 = OpLoad %v4float %361 %363 = OpVectorShuffle %v3float %362 %362 0 1 2 %364 = OpFOrdEqual %v3bool %360 %363 %365 = OpAll %bool %364 OpBranch %359 %359 = OpLabel %366 = OpPhi %bool %false %349 %365 %358 OpSelectionMerge %368 None OpBranchConditional %366 %367 %368 %367 = OpLabel %370 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %371 = OpLoad %v4float %370 %372 = OpFOrdEqual %v4bool %369 %371 %373 = OpAll %bool %372 OpBranch %368 %368 = OpLabel %374 = OpPhi %bool %false %359 %373 %367 OpSelectionMerge %376 None OpBranchConditional %374 %375 %376 %375 = OpLabel %377 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %378 = OpLoad %v4float %377 %379 = OpCompositeExtract %float %378 0 %380 = OpFOrdEqual %bool %float_1 %379 OpBranch %376 %376 = OpLabel %381 = OpPhi %bool %false %368 %380 %375 OpSelectionMerge %383 None OpBranchConditional %381 %382 %383 %382 = OpLabel %385 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %386 = OpLoad %v4float %385 %387 = OpVectorShuffle %v2float %386 %386 0 1 %388 = OpFOrdEqual %v2bool %384 %387 %389 = OpAll %bool %388 OpBranch %383 %383 = OpLabel %390 = OpPhi %bool %false %376 %389 %382 OpSelectionMerge %392 None OpBranchConditional %390 %391 %392 %391 = OpLabel %394 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %395 = OpLoad %v4float %394 %396 = OpVectorShuffle %v3float %395 %395 0 1 2 %397 = OpFOrdEqual %v3bool %393 %396 %398 = OpAll %bool %397 OpBranch %392 %392 = OpLabel %399 = OpPhi %bool %false %383 %398 %391 OpSelectionMerge %401 None OpBranchConditional %399 %400 %401 %400 = OpLabel %403 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %404 = OpLoad %v4float %403 %405 = OpFOrdEqual %v4bool %402 %404 %406 = OpAll %bool %405 OpBranch %401 %401 = OpLabel %407 = OpPhi %bool %false %392 %406 %400 OpSelectionMerge %412 None OpBranchConditional %407 %410 %411 %410 = OpLabel %413 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 %414 = OpLoad %v4float %413 OpStore %408 %414 OpBranch %412 %411 = OpLabel %415 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 %416 = OpLoad %v4float %415 OpStore %408 %416 OpBranch %412 %412 = OpLabel %417 = OpLoad %v4float %408 OpReturnValue %417 OpFunctionEnd