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 "colorRed" OpMemberName %_UniformBuffer 1 "colorGreen" OpMemberName %_UniformBuffer 2 "unknownInput" OpName %_entrypoint_v "_entrypoint_v" OpName %test_int_b "test_int_b" OpName %ok "ok" OpName %inputRed "inputRed" OpName %inputGreen "inputGreen" OpName %x "x" OpName %main "main" OpName %_0_ok "_0_ok" OpName %_1_inputRed "_1_inputRed" OpName %_2_inputGreen "_2_inputGreen" OpName %_3_x "_3_x" 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 OpDecorate %_UniformBuffer Block OpDecorate %11 Binding 0 OpDecorate %11 DescriptorSet 0 OpDecorate %36 RelaxedPrecision OpDecorate %37 RelaxedPrecision OpDecorate %39 RelaxedPrecision OpDecorate %41 RelaxedPrecision OpDecorate %43 RelaxedPrecision OpDecorate %49 RelaxedPrecision OpDecorate %50 RelaxedPrecision OpDecorate %52 RelaxedPrecision OpDecorate %54 RelaxedPrecision OpDecorate %56 RelaxedPrecision OpDecorate %65 RelaxedPrecision OpDecorate %79 RelaxedPrecision OpDecorate %94 RelaxedPrecision OpDecorate %110 RelaxedPrecision OpDecorate %125 RelaxedPrecision OpDecorate %138 RelaxedPrecision OpDecorate %149 RelaxedPrecision OpDecorate %161 RelaxedPrecision OpDecorate %174 RelaxedPrecision OpDecorate %188 RelaxedPrecision OpDecorate %202 RelaxedPrecision OpDecorate %216 RelaxedPrecision OpDecorate %236 RelaxedPrecision OpDecorate %255 RelaxedPrecision OpDecorate %262 RelaxedPrecision OpDecorate %_1_inputRed RelaxedPrecision OpDecorate %270 RelaxedPrecision OpDecorate %_2_inputGreen RelaxedPrecision OpDecorate %273 RelaxedPrecision OpDecorate %_3_x RelaxedPrecision OpDecorate %275 RelaxedPrecision OpDecorate %277 RelaxedPrecision OpDecorate %278 RelaxedPrecision OpDecorate %279 RelaxedPrecision OpDecorate %282 RelaxedPrecision OpDecorate %284 RelaxedPrecision OpDecorate %288 RelaxedPrecision OpDecorate %289 RelaxedPrecision OpDecorate %290 RelaxedPrecision OpDecorate %291 RelaxedPrecision OpDecorate %292 RelaxedPrecision OpDecorate %295 RelaxedPrecision OpDecorate %298 RelaxedPrecision OpDecorate %302 RelaxedPrecision OpDecorate %303 RelaxedPrecision OpDecorate %304 RelaxedPrecision OpDecorate %305 RelaxedPrecision OpDecorate %306 RelaxedPrecision OpDecorate %307 RelaxedPrecision OpDecorate %310 RelaxedPrecision OpDecorate %312 RelaxedPrecision OpDecorate %316 RelaxedPrecision OpDecorate %317 RelaxedPrecision OpDecorate %320 RelaxedPrecision OpDecorate %321 RelaxedPrecision OpDecorate %322 RelaxedPrecision OpDecorate %323 RelaxedPrecision OpDecorate %326 RelaxedPrecision OpDecorate %327 RelaxedPrecision OpDecorate %331 RelaxedPrecision OpDecorate %332 RelaxedPrecision OpDecorate %333 RelaxedPrecision OpDecorate %334 RelaxedPrecision OpDecorate %335 RelaxedPrecision OpDecorate %336 RelaxedPrecision OpDecorate %339 RelaxedPrecision OpDecorate %342 RelaxedPrecision OpDecorate %346 RelaxedPrecision OpDecorate %348 RelaxedPrecision OpDecorate %349 RelaxedPrecision OpDecorate %350 RelaxedPrecision OpDecorate %353 RelaxedPrecision OpDecorate %354 RelaxedPrecision OpDecorate %358 RelaxedPrecision OpDecorate %359 RelaxedPrecision OpDecorate %360 RelaxedPrecision OpDecorate %361 RelaxedPrecision OpDecorate %364 RelaxedPrecision OpDecorate %369 RelaxedPrecision OpDecorate %370 RelaxedPrecision OpDecorate %371 RelaxedPrecision OpDecorate %372 RelaxedPrecision OpDecorate %373 RelaxedPrecision OpDecorate %376 RelaxedPrecision OpDecorate %377 RelaxedPrecision OpDecorate %381 RelaxedPrecision OpDecorate %382 RelaxedPrecision OpDecorate %383 RelaxedPrecision OpDecorate %384 RelaxedPrecision OpDecorate %385 RelaxedPrecision OpDecorate %386 RelaxedPrecision OpDecorate %389 RelaxedPrecision OpDecorate %390 RelaxedPrecision OpDecorate %394 RelaxedPrecision OpDecorate %395 RelaxedPrecision OpDecorate %396 RelaxedPrecision OpDecorate %397 RelaxedPrecision OpDecorate %398 RelaxedPrecision OpDecorate %399 RelaxedPrecision OpDecorate %402 RelaxedPrecision OpDecorate %407 RelaxedPrecision OpDecorate %408 RelaxedPrecision OpDecorate %409 RelaxedPrecision OpDecorate %410 RelaxedPrecision OpDecorate %411 RelaxedPrecision OpDecorate %412 RelaxedPrecision OpDecorate %413 RelaxedPrecision OpDecorate %416 RelaxedPrecision OpDecorate %417 RelaxedPrecision OpDecorate %421 RelaxedPrecision OpDecorate %422 RelaxedPrecision OpDecorate %423 RelaxedPrecision OpDecorate %424 RelaxedPrecision OpDecorate %425 RelaxedPrecision OpDecorate %428 RelaxedPrecision OpDecorate %429 RelaxedPrecision OpDecorate %433 RelaxedPrecision OpDecorate %434 RelaxedPrecision OpDecorate %435 RelaxedPrecision OpDecorate %436 RelaxedPrecision OpDecorate %437 RelaxedPrecision OpDecorate %438 RelaxedPrecision OpDecorate %439 RelaxedPrecision OpDecorate %440 RelaxedPrecision OpDecorate %441 RelaxedPrecision OpDecorate %442 RelaxedPrecision OpDecorate %443 RelaxedPrecision OpDecorate %444 RelaxedPrecision OpDecorate %447 RelaxedPrecision OpDecorate %451 RelaxedPrecision OpDecorate %452 RelaxedPrecision OpDecorate %453 RelaxedPrecision OpDecorate %454 RelaxedPrecision OpDecorate %455 RelaxedPrecision OpDecorate %456 RelaxedPrecision OpDecorate %457 RelaxedPrecision OpDecorate %458 RelaxedPrecision OpDecorate %459 RelaxedPrecision OpDecorate %461 RelaxedPrecision OpDecorate %462 RelaxedPrecision OpDecorate %465 RelaxedPrecision OpDecorate %469 RelaxedPrecision OpDecorate %479 RelaxedPrecision OpDecorate %481 RelaxedPrecision OpDecorate %482 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 %float %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer %11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform %void = OpTypeVoid %16 = OpTypeFunction %void %v2float = OpTypeVector %float 2 %float_0 = OpConstant %float 0 %20 = OpConstantComposite %v2float %float_0 %float_0 %_ptr_Function_v2float = OpTypePointer Function %v2float %24 = OpTypeFunction %bool %_ptr_Function_bool = OpTypePointer Function %bool %true = OpConstantTrue %bool %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 %int_1 = OpConstant %int 1 %int_2 = OpConstant %int 2 %false = OpConstantFalse %bool %int_3 = OpConstant %int 3 %70 = OpConstantComposite %v4int %int_3 %int_2 %int_2 %int_3 %v4bool = OpTypeVector %bool 4 %int_n1 = OpConstant %int -1 %int_n2 = OpConstant %int -2 %85 = OpConstantComposite %v4int %int_n1 %int_n1 %int_n2 %int_n2 %98 = OpConstantComposite %v4int %int_2 %int_1 %int_1 %int_2 %v3int = OpTypeVector %int 3 %int_9 = OpConstant %int 9 %114 = OpConstantComposite %v4int %int_9 %int_9 %int_9 %int_2 %v2int = OpTypeVector %int 2 %129 = OpConstantComposite %v4int %int_3 %int_0 %int_9 %int_2 %int_5 = OpConstant %int 5 %142 = OpConstantComposite %v4int %int_0 %int_5 %int_5 %int_0 %int_10 = OpConstant %int 10 %165 = OpConstantComposite %v4int %int_9 %int_9 %int_10 %int_10 %178 = OpConstantComposite %v4int %int_1 %int_2 %int_1 %int_2 %int_36 = OpConstant %int 36 %int_4 = OpConstant %int 4 %int_18 = OpConstant %int 18 %208 = OpConstantComposite %v4int %int_4 %int_18 %int_9 %int_2 %220 = OpConstantComposite %v4int %int_2 %int_9 %int_18 %int_4 %263 = OpTypeFunction %v4float %_ptr_Function_v2float %_ptr_Function_v4float = OpTypePointer Function %v4float %float_2 = OpConstant %float 2 %float_3 = OpConstant %float 3 %284 = OpConstantComposite %v4float %float_3 %float_2 %float_2 %float_3 %float_n1 = OpConstant %float -1 %float_n2 = OpConstant %float -2 %298 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n2 %float_n2 %float_1 = OpConstant %float 1 %312 = OpConstantComposite %v4float %float_2 %float_1 %float_1 %float_2 %v3float = OpTypeVector %float 3 %float_9 = OpConstant %float 9 %327 = OpConstantComposite %v4float %float_9 %float_9 %float_9 %float_2 %float_18 = OpConstant %float 18 %float_4 = OpConstant %float 4 %342 = OpConstantComposite %v4float %float_18 %float_4 %float_9 %float_2 %float_5 = OpConstant %float 5 %354 = OpConstantComposite %v4float %float_0 %float_5 %float_5 %float_0 %float_10 = OpConstant %float 10 %377 = OpConstantComposite %v4float %float_9 %float_9 %float_10 %float_10 %390 = OpConstantComposite %v4float %float_1 %float_2 %float_1 %float_2 %float_36 = OpConstant %float 36 %417 = OpConstantComposite %v4float %float_4 %float_18 %float_9 %float_2 %429 = OpConstantComposite %v4float %float_2 %float_9 %float_18 %float_4 %float_0_5 = OpConstant %float 0.5 %_entrypoint_v = OpFunction %void None %16 %17 = OpLabel %21 = OpVariable %_ptr_Function_v2float Function OpStore %21 %20 %23 = OpFunctionCall %v4float %main %21 OpStore %sk_FragColor %23 OpReturn OpFunctionEnd %test_int_b = OpFunction %bool None %24 %25 = OpLabel %ok = OpVariable %_ptr_Function_bool Function %inputRed = OpVariable %_ptr_Function_v4int Function %inputGreen = OpVariable %_ptr_Function_v4int Function %x = OpVariable %_ptr_Function_v4int Function OpStore %ok %true %33 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 %36 = OpLoad %v4float %33 %37 = OpCompositeExtract %float %36 0 %38 = OpConvertFToS %int %37 %39 = OpCompositeExtract %float %36 1 %40 = OpConvertFToS %int %39 %41 = OpCompositeExtract %float %36 2 %42 = OpConvertFToS %int %41 %43 = OpCompositeExtract %float %36 3 %44 = OpConvertFToS %int %43 %45 = OpCompositeConstruct %v4int %38 %40 %42 %44 OpStore %inputRed %45 %47 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 %49 = OpLoad %v4float %47 %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 %inputGreen %58 %60 = OpLoad %v4int %inputRed %62 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 %63 = OpIAdd %v4int %60 %62 OpStore %x %63 %65 = OpLoad %bool %ok OpSelectionMerge %67 None OpBranchConditional %65 %66 %67 %66 = OpLabel %68 = OpLoad %v4int %x %71 = OpIEqual %v4bool %68 %70 %73 = OpAll %bool %71 OpBranch %67 %67 = OpLabel %74 = OpPhi %bool %false %25 %73 %66 OpStore %ok %74 %75 = OpLoad %v4int %inputGreen %76 = OpVectorShuffle %v4int %75 %75 1 3 0 2 %77 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 %78 = OpISub %v4int %76 %77 OpStore %x %78 %79 = OpLoad %bool %ok OpSelectionMerge %81 None OpBranchConditional %79 %80 %81 %80 = OpLabel %82 = OpLoad %v4int %x %86 = OpIEqual %v4bool %82 %85 %87 = OpAll %bool %86 OpBranch %81 %81 = OpLabel %88 = OpPhi %bool %false %67 %87 %80 OpStore %ok %88 %89 = OpLoad %v4int %inputRed %90 = OpLoad %v4int %inputGreen %91 = OpCompositeExtract %int %90 1 %92 = OpCompositeConstruct %v4int %91 %91 %91 %91 %93 = OpIAdd %v4int %89 %92 OpStore %x %93 %94 = OpLoad %bool %ok OpSelectionMerge %96 None OpBranchConditional %94 %95 %96 %95 = OpLabel %97 = OpLoad %v4int %x %99 = OpIEqual %v4bool %97 %98 %100 = OpAll %bool %99 OpBranch %96 %96 = OpLabel %101 = OpPhi %bool %false %81 %100 %95 OpStore %ok %101 %102 = OpLoad %v4int %inputGreen %103 = OpVectorShuffle %v3int %102 %102 3 1 3 %106 = OpCompositeConstruct %v3int %int_9 %int_9 %int_9 %107 = OpIMul %v3int %103 %106 %108 = OpLoad %v4int %x %109 = OpVectorShuffle %v4int %108 %107 4 5 6 3 OpStore %x %109 %110 = OpLoad %bool %ok OpSelectionMerge %112 None OpBranchConditional %110 %111 %112 %111 = OpLabel %113 = OpLoad %v4int %x %115 = OpIEqual %v4bool %113 %114 %116 = OpAll %bool %115 OpBranch %112 %112 = OpLabel %117 = OpPhi %bool %false %96 %116 %111 OpStore %ok %117 %118 = OpLoad %v4int %x %119 = OpVectorShuffle %v2int %118 %118 2 3 %121 = OpCompositeConstruct %v2int %int_3 %int_3 %122 = OpSDiv %v2int %119 %121 %123 = OpLoad %v4int %x %124 = OpVectorShuffle %v4int %123 %122 4 5 2 3 OpStore %x %124 %125 = OpLoad %bool %ok OpSelectionMerge %127 None OpBranchConditional %125 %126 %127 %126 = OpLabel %128 = OpLoad %v4int %x %130 = OpIEqual %v4bool %128 %129 %131 = OpAll %bool %130 OpBranch %127 %127 = OpLabel %132 = OpPhi %bool %false %112 %131 %126 OpStore %ok %132 %133 = OpLoad %v4int %inputRed %135 = OpCompositeConstruct %v4int %int_5 %int_5 %int_5 %int_5 %136 = OpIMul %v4int %133 %135 %137 = OpVectorShuffle %v4int %136 %136 1 0 3 2 OpStore %x %137 %138 = OpLoad %bool %ok OpSelectionMerge %140 None OpBranchConditional %138 %139 %140 %139 = OpLabel %141 = OpLoad %v4int %x %143 = OpIEqual %v4bool %141 %142 %144 = OpAll %bool %143 OpBranch %140 %140 = OpLabel %145 = OpPhi %bool %false %127 %144 %139 OpStore %ok %145 %146 = OpLoad %v4int %inputRed %147 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 %148 = OpIAdd %v4int %147 %146 OpStore %x %148 %149 = OpLoad %bool %ok OpSelectionMerge %151 None OpBranchConditional %149 %150 %151 %150 = OpLabel %152 = OpLoad %v4int %x %153 = OpIEqual %v4bool %152 %70 %154 = OpAll %bool %153 OpBranch %151 %151 = OpLabel %155 = OpPhi %bool %false %140 %154 %150 OpStore %ok %155 %157 = OpLoad %v4int %inputGreen %158 = OpVectorShuffle %v4int %157 %157 1 3 0 2 %159 = OpCompositeConstruct %v4int %int_10 %int_10 %int_10 %int_10 %160 = OpISub %v4int %159 %158 OpStore %x %160 %161 = OpLoad %bool %ok OpSelectionMerge %163 None OpBranchConditional %161 %162 %163 %162 = OpLabel %164 = OpLoad %v4int %x %166 = OpIEqual %v4bool %164 %165 %167 = OpAll %bool %166 OpBranch %163 %163 = OpLabel %168 = OpPhi %bool %false %151 %167 %162 OpStore %ok %168 %169 = OpLoad %v4int %inputRed %170 = OpCompositeExtract %int %169 0 %171 = OpLoad %v4int %inputGreen %172 = OpCompositeConstruct %v4int %170 %170 %170 %170 %173 = OpIAdd %v4int %172 %171 OpStore %x %173 %174 = OpLoad %bool %ok OpSelectionMerge %176 None OpBranchConditional %174 %175 %176 %175 = OpLabel %177 = OpLoad %v4int %x %179 = OpIEqual %v4bool %177 %178 %180 = OpAll %bool %179 OpBranch %176 %176 = OpLabel %181 = OpPhi %bool %false %163 %180 %175 OpStore %ok %181 %182 = OpLoad %v4int %inputGreen %183 = OpVectorShuffle %v3int %182 %182 3 1 3 %184 = OpCompositeConstruct %v3int %int_9 %int_9 %int_9 %185 = OpIMul %v3int %184 %183 %186 = OpLoad %v4int %x %187 = OpVectorShuffle %v4int %186 %185 4 5 6 3 OpStore %x %187 %188 = OpLoad %bool %ok OpSelectionMerge %190 None OpBranchConditional %188 %189 %190 %189 = OpLabel %191 = OpLoad %v4int %x %192 = OpIEqual %v4bool %191 %114 %193 = OpAll %bool %192 OpBranch %190 %190 = OpLabel %194 = OpPhi %bool %false %176 %193 %189 OpStore %ok %194 %196 = OpLoad %v4int %x %197 = OpVectorShuffle %v2int %196 %196 2 3 %198 = OpCompositeConstruct %v2int %int_36 %int_36 %199 = OpSDiv %v2int %198 %197 %200 = OpLoad %v4int %x %201 = OpVectorShuffle %v4int %200 %199 4 5 2 3 OpStore %x %201 %202 = OpLoad %bool %ok OpSelectionMerge %204 None OpBranchConditional %202 %203 %204 %203 = OpLabel %205 = OpLoad %v4int %x %209 = OpIEqual %v4bool %205 %208 %210 = OpAll %bool %209 OpBranch %204 %204 = OpLabel %211 = OpPhi %bool %false %190 %210 %203 OpStore %ok %211 %212 = OpLoad %v4int %x %213 = OpCompositeConstruct %v4int %int_36 %int_36 %int_36 %int_36 %214 = OpSDiv %v4int %213 %212 %215 = OpVectorShuffle %v4int %214 %214 1 0 3 2 OpStore %x %215 %216 = OpLoad %bool %ok OpSelectionMerge %218 None OpBranchConditional %216 %217 %218 %217 = OpLabel %219 = OpLoad %v4int %x %221 = OpIEqual %v4bool %219 %220 %222 = OpAll %bool %221 OpBranch %218 %218 = OpLabel %223 = OpPhi %bool %false %204 %222 %217 OpStore %ok %223 %224 = OpLoad %v4int %x %225 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 %226 = OpIAdd %v4int %224 %225 OpStore %x %226 %227 = OpLoad %v4int %x %228 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 %229 = OpIMul %v4int %227 %228 OpStore %x %229 %230 = OpLoad %v4int %x %231 = OpCompositeConstruct %v4int %int_4 %int_4 %int_4 %int_4 %232 = OpISub %v4int %230 %231 OpStore %x %232 %233 = OpLoad %v4int %x %234 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 %235 = OpSDiv %v4int %233 %234 OpStore %x %235 %236 = OpLoad %bool %ok OpSelectionMerge %238 None OpBranchConditional %236 %237 %238 %237 = OpLabel %239 = OpLoad %v4int %x %240 = OpIEqual %v4bool %239 %220 %241 = OpAll %bool %240 OpBranch %238 %238 = OpLabel %242 = OpPhi %bool %false %218 %241 %237 OpStore %ok %242 %243 = OpLoad %v4int %x %244 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 %245 = OpIAdd %v4int %243 %244 OpStore %x %245 %246 = OpLoad %v4int %x %247 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 %248 = OpIMul %v4int %246 %247 OpStore %x %248 %249 = OpLoad %v4int %x %250 = OpCompositeConstruct %v4int %int_4 %int_4 %int_4 %int_4 %251 = OpISub %v4int %249 %250 OpStore %x %251 %252 = OpLoad %v4int %x %253 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 %254 = OpSDiv %v4int %252 %253 OpStore %x %254 %255 = OpLoad %bool %ok OpSelectionMerge %257 None OpBranchConditional %255 %256 %257 %256 = OpLabel %258 = OpLoad %v4int %x %259 = OpIEqual %v4bool %258 %220 %260 = OpAll %bool %259 OpBranch %257 %257 = OpLabel %261 = OpPhi %bool %false %238 %260 %256 OpStore %ok %261 %262 = OpLoad %bool %ok OpReturnValue %262 OpFunctionEnd %main = OpFunction %v4float None %263 %264 = OpFunctionParameter %_ptr_Function_v2float %265 = OpLabel %_0_ok = OpVariable %_ptr_Function_bool Function %_1_inputRed = OpVariable %_ptr_Function_v4float Function %_2_inputGreen = OpVariable %_ptr_Function_v4float Function %_3_x = OpVariable %_ptr_Function_v4float Function %474 = OpVariable %_ptr_Function_v4float Function OpStore %_0_ok %true %269 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 %270 = OpLoad %v4float %269 OpStore %_1_inputRed %270 %272 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 %273 = OpLoad %v4float %272 OpStore %_2_inputGreen %273 %275 = OpLoad %v4float %_1_inputRed %277 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 %278 = OpFAdd %v4float %275 %277 OpStore %_3_x %278 %279 = OpLoad %bool %_0_ok OpSelectionMerge %281 None OpBranchConditional %279 %280 %281 %280 = OpLabel %282 = OpLoad %v4float %_3_x %285 = OpFOrdEqual %v4bool %282 %284 %286 = OpAll %bool %285 OpBranch %281 %281 = OpLabel %287 = OpPhi %bool %false %265 %286 %280 OpStore %_0_ok %287 %288 = OpLoad %v4float %_2_inputGreen %289 = OpVectorShuffle %v4float %288 %288 1 3 0 2 %290 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 %291 = OpFSub %v4float %289 %290 OpStore %_3_x %291 %292 = OpLoad %bool %_0_ok OpSelectionMerge %294 None OpBranchConditional %292 %293 %294 %293 = OpLabel %295 = OpLoad %v4float %_3_x %299 = OpFOrdEqual %v4bool %295 %298 %300 = OpAll %bool %299 OpBranch %294 %294 = OpLabel %301 = OpPhi %bool %false %281 %300 %293 OpStore %_0_ok %301 %302 = OpLoad %v4float %_1_inputRed %303 = OpLoad %v4float %_2_inputGreen %304 = OpCompositeExtract %float %303 1 %305 = OpCompositeConstruct %v4float %304 %304 %304 %304 %306 = OpFAdd %v4float %302 %305 OpStore %_3_x %306 %307 = OpLoad %bool %_0_ok OpSelectionMerge %309 None OpBranchConditional %307 %308 %309 %308 = OpLabel %310 = OpLoad %v4float %_3_x %313 = OpFOrdEqual %v4bool %310 %312 %314 = OpAll %bool %313 OpBranch %309 %309 = OpLabel %315 = OpPhi %bool %false %294 %314 %308 OpStore %_0_ok %315 %316 = OpLoad %v4float %_2_inputGreen %317 = OpVectorShuffle %v3float %316 %316 3 1 3 %320 = OpVectorTimesScalar %v3float %317 %float_9 %321 = OpLoad %v4float %_3_x %322 = OpVectorShuffle %v4float %321 %320 4 5 6 3 OpStore %_3_x %322 %323 = OpLoad %bool %_0_ok OpSelectionMerge %325 None OpBranchConditional %323 %324 %325 %324 = OpLabel %326 = OpLoad %v4float %_3_x %328 = OpFOrdEqual %v4bool %326 %327 %329 = OpAll %bool %328 OpBranch %325 %325 = OpLabel %330 = OpPhi %bool %false %309 %329 %324 OpStore %_0_ok %330 %331 = OpLoad %v4float %_3_x %332 = OpVectorShuffle %v2float %331 %331 2 3 %333 = OpVectorTimesScalar %v2float %332 %float_2 %334 = OpLoad %v4float %_3_x %335 = OpVectorShuffle %v4float %334 %333 4 5 2 3 OpStore %_3_x %335 %336 = OpLoad %bool %_0_ok OpSelectionMerge %338 None OpBranchConditional %336 %337 %338 %337 = OpLabel %339 = OpLoad %v4float %_3_x %343 = OpFOrdEqual %v4bool %339 %342 %344 = OpAll %bool %343 OpBranch %338 %338 = OpLabel %345 = OpPhi %bool %false %325 %344 %337 OpStore %_0_ok %345 %346 = OpLoad %v4float %_1_inputRed %348 = OpVectorTimesScalar %v4float %346 %float_5 %349 = OpVectorShuffle %v4float %348 %348 1 0 3 2 OpStore %_3_x %349 %350 = OpLoad %bool %_0_ok OpSelectionMerge %352 None OpBranchConditional %350 %351 %352 %351 = OpLabel %353 = OpLoad %v4float %_3_x %355 = OpFOrdEqual %v4bool %353 %354 %356 = OpAll %bool %355 OpBranch %352 %352 = OpLabel %357 = OpPhi %bool %false %338 %356 %351 OpStore %_0_ok %357 %358 = OpLoad %v4float %_1_inputRed %359 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 %360 = OpFAdd %v4float %359 %358 OpStore %_3_x %360 %361 = OpLoad %bool %_0_ok OpSelectionMerge %363 None OpBranchConditional %361 %362 %363 %362 = OpLabel %364 = OpLoad %v4float %_3_x %365 = OpFOrdEqual %v4bool %364 %284 %366 = OpAll %bool %365 OpBranch %363 %363 = OpLabel %367 = OpPhi %bool %false %352 %366 %362 OpStore %_0_ok %367 %369 = OpLoad %v4float %_2_inputGreen %370 = OpVectorShuffle %v4float %369 %369 1 3 0 2 %371 = OpCompositeConstruct %v4float %float_10 %float_10 %float_10 %float_10 %372 = OpFSub %v4float %371 %370 OpStore %_3_x %372 %373 = OpLoad %bool %_0_ok OpSelectionMerge %375 None OpBranchConditional %373 %374 %375 %374 = OpLabel %376 = OpLoad %v4float %_3_x %378 = OpFOrdEqual %v4bool %376 %377 %379 = OpAll %bool %378 OpBranch %375 %375 = OpLabel %380 = OpPhi %bool %false %363 %379 %374 OpStore %_0_ok %380 %381 = OpLoad %v4float %_1_inputRed %382 = OpCompositeExtract %float %381 0 %383 = OpLoad %v4float %_2_inputGreen %384 = OpCompositeConstruct %v4float %382 %382 %382 %382 %385 = OpFAdd %v4float %384 %383 OpStore %_3_x %385 %386 = OpLoad %bool %_0_ok OpSelectionMerge %388 None OpBranchConditional %386 %387 %388 %387 = OpLabel %389 = OpLoad %v4float %_3_x %391 = OpFOrdEqual %v4bool %389 %390 %392 = OpAll %bool %391 OpBranch %388 %388 = OpLabel %393 = OpPhi %bool %false %375 %392 %387 OpStore %_0_ok %393 %394 = OpLoad %v4float %_2_inputGreen %395 = OpVectorShuffle %v3float %394 %394 3 1 3 %396 = OpVectorTimesScalar %v3float %395 %float_9 %397 = OpLoad %v4float %_3_x %398 = OpVectorShuffle %v4float %397 %396 4 5 6 3 OpStore %_3_x %398 %399 = OpLoad %bool %_0_ok OpSelectionMerge %401 None OpBranchConditional %399 %400 %401 %400 = OpLabel %402 = OpLoad %v4float %_3_x %403 = OpFOrdEqual %v4bool %402 %327 %404 = OpAll %bool %403 OpBranch %401 %401 = OpLabel %405 = OpPhi %bool %false %388 %404 %400 OpStore %_0_ok %405 %407 = OpLoad %v4float %_3_x %408 = OpVectorShuffle %v2float %407 %407 2 3 %409 = OpCompositeConstruct %v2float %float_36 %float_36 %410 = OpFDiv %v2float %409 %408 %411 = OpLoad %v4float %_3_x %412 = OpVectorShuffle %v4float %411 %410 4 5 2 3 OpStore %_3_x %412 %413 = OpLoad %bool %_0_ok OpSelectionMerge %415 None OpBranchConditional %413 %414 %415 %414 = OpLabel %416 = OpLoad %v4float %_3_x %418 = OpFOrdEqual %v4bool %416 %417 %419 = OpAll %bool %418 OpBranch %415 %415 = OpLabel %420 = OpPhi %bool %false %401 %419 %414 OpStore %_0_ok %420 %421 = OpLoad %v4float %_3_x %422 = OpCompositeConstruct %v4float %float_36 %float_36 %float_36 %float_36 %423 = OpFDiv %v4float %422 %421 %424 = OpVectorShuffle %v4float %423 %423 1 0 3 2 OpStore %_3_x %424 %425 = OpLoad %bool %_0_ok OpSelectionMerge %427 None OpBranchConditional %425 %426 %427 %426 = OpLabel %428 = OpLoad %v4float %_3_x %430 = OpFOrdEqual %v4bool %428 %429 %431 = OpAll %bool %430 OpBranch %427 %427 = OpLabel %432 = OpPhi %bool %false %415 %431 %426 OpStore %_0_ok %432 %433 = OpLoad %v4float %_3_x %434 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 %435 = OpFAdd %v4float %433 %434 OpStore %_3_x %435 %436 = OpLoad %v4float %_3_x %437 = OpVectorTimesScalar %v4float %436 %float_2 OpStore %_3_x %437 %438 = OpLoad %v4float %_3_x %439 = OpCompositeConstruct %v4float %float_4 %float_4 %float_4 %float_4 %440 = OpFSub %v4float %438 %439 OpStore %_3_x %440 %441 = OpLoad %v4float %_3_x %442 = OpFDiv %float %float_1 %float_2 %443 = OpVectorTimesScalar %v4float %441 %442 OpStore %_3_x %443 %444 = OpLoad %bool %_0_ok OpSelectionMerge %446 None OpBranchConditional %444 %445 %446 %445 = OpLabel %447 = OpLoad %v4float %_3_x %448 = OpFOrdEqual %v4bool %447 %429 %449 = OpAll %bool %448 OpBranch %446 %446 = OpLabel %450 = OpPhi %bool %false %427 %449 %445 OpStore %_0_ok %450 %451 = OpLoad %v4float %_3_x %452 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 %453 = OpFAdd %v4float %451 %452 OpStore %_3_x %453 %454 = OpLoad %v4float %_3_x %455 = OpVectorTimesScalar %v4float %454 %float_2 OpStore %_3_x %455 %456 = OpLoad %v4float %_3_x %457 = OpCompositeConstruct %v4float %float_4 %float_4 %float_4 %float_4 %458 = OpFSub %v4float %456 %457 OpStore %_3_x %458 %459 = OpLoad %v4float %_3_x %461 = OpVectorTimesScalar %v4float %459 %float_0_5 OpStore %_3_x %461 %462 = OpLoad %bool %_0_ok OpSelectionMerge %464 None OpBranchConditional %462 %463 %464 %463 = OpLabel %465 = OpLoad %v4float %_3_x %466 = OpFOrdEqual %v4bool %465 %429 %467 = OpAll %bool %466 OpBranch %464 %464 = OpLabel %468 = OpPhi %bool %false %446 %467 %463 OpStore %_0_ok %468 %469 = OpLoad %bool %_0_ok OpSelectionMerge %471 None OpBranchConditional %469 %470 %471 %470 = OpLabel %472 = OpFunctionCall %bool %test_int_b OpBranch %471 %471 = OpLabel %473 = OpPhi %bool %false %464 %472 %470 OpSelectionMerge %477 None OpBranchConditional %473 %475 %476 %475 = OpLabel %478 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 %479 = OpLoad %v4float %478 OpStore %474 %479 OpBranch %477 %476 = OpLabel %480 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 %481 = OpLoad %v4float %480 OpStore %474 %481 OpBranch %477 %477 = OpLabel %482 = OpLoad %v4float %474 OpReturnValue %482 OpFunctionEnd