1cb93a386Sopenharmony_ciOpCapability Shader 2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450" 3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450 4cb93a386Sopenharmony_ciOpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise 5cb93a386Sopenharmony_ciOpExecutionMode %_entrypoint_v OriginUpperLeft 6cb93a386Sopenharmony_ciOpName %sk_FragColor "sk_FragColor" 7cb93a386Sopenharmony_ciOpName %sk_Clockwise "sk_Clockwise" 8cb93a386Sopenharmony_ciOpName %_UniformBuffer "_UniformBuffer" 9cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 0 "colorRed" 10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorGreen" 11cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 2 "unknownInput" 12cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v" 13cb93a386Sopenharmony_ciOpName %test_int_b "test_int_b" 14cb93a386Sopenharmony_ciOpName %ok "ok" 15cb93a386Sopenharmony_ciOpName %inputRed "inputRed" 16cb93a386Sopenharmony_ciOpName %inputGreen "inputGreen" 17cb93a386Sopenharmony_ciOpName %x "x" 18cb93a386Sopenharmony_ciOpName %main "main" 19cb93a386Sopenharmony_ciOpName %_0_ok "_0_ok" 20cb93a386Sopenharmony_ciOpName %_1_inputRed "_1_inputRed" 21cb93a386Sopenharmony_ciOpName %_2_inputGreen "_2_inputGreen" 22cb93a386Sopenharmony_ciOpName %_3_x "_3_x" 23cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision 24cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0 25cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0 26cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing 27cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0 28cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 29cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16 30cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 31cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 Offset 32 32cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 33cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block 34cb93a386Sopenharmony_ciOpDecorate %11 Binding 0 35cb93a386Sopenharmony_ciOpDecorate %11 DescriptorSet 0 36cb93a386Sopenharmony_ciOpDecorate %36 RelaxedPrecision 37cb93a386Sopenharmony_ciOpDecorate %37 RelaxedPrecision 38cb93a386Sopenharmony_ciOpDecorate %39 RelaxedPrecision 39cb93a386Sopenharmony_ciOpDecorate %41 RelaxedPrecision 40cb93a386Sopenharmony_ciOpDecorate %43 RelaxedPrecision 41cb93a386Sopenharmony_ciOpDecorate %49 RelaxedPrecision 42cb93a386Sopenharmony_ciOpDecorate %50 RelaxedPrecision 43cb93a386Sopenharmony_ciOpDecorate %52 RelaxedPrecision 44cb93a386Sopenharmony_ciOpDecorate %54 RelaxedPrecision 45cb93a386Sopenharmony_ciOpDecorate %56 RelaxedPrecision 46cb93a386Sopenharmony_ciOpDecorate %65 RelaxedPrecision 47cb93a386Sopenharmony_ciOpDecorate %79 RelaxedPrecision 48cb93a386Sopenharmony_ciOpDecorate %94 RelaxedPrecision 49cb93a386Sopenharmony_ciOpDecorate %110 RelaxedPrecision 50cb93a386Sopenharmony_ciOpDecorate %125 RelaxedPrecision 51cb93a386Sopenharmony_ciOpDecorate %138 RelaxedPrecision 52cb93a386Sopenharmony_ciOpDecorate %149 RelaxedPrecision 53cb93a386Sopenharmony_ciOpDecorate %161 RelaxedPrecision 54cb93a386Sopenharmony_ciOpDecorate %174 RelaxedPrecision 55cb93a386Sopenharmony_ciOpDecorate %188 RelaxedPrecision 56cb93a386Sopenharmony_ciOpDecorate %202 RelaxedPrecision 57cb93a386Sopenharmony_ciOpDecorate %216 RelaxedPrecision 58cb93a386Sopenharmony_ciOpDecorate %236 RelaxedPrecision 59cb93a386Sopenharmony_ciOpDecorate %255 RelaxedPrecision 60cb93a386Sopenharmony_ciOpDecorate %262 RelaxedPrecision 61cb93a386Sopenharmony_ciOpDecorate %_1_inputRed RelaxedPrecision 62cb93a386Sopenharmony_ciOpDecorate %270 RelaxedPrecision 63cb93a386Sopenharmony_ciOpDecorate %_2_inputGreen RelaxedPrecision 64cb93a386Sopenharmony_ciOpDecorate %273 RelaxedPrecision 65cb93a386Sopenharmony_ciOpDecorate %_3_x RelaxedPrecision 66cb93a386Sopenharmony_ciOpDecorate %275 RelaxedPrecision 67cb93a386Sopenharmony_ciOpDecorate %277 RelaxedPrecision 68cb93a386Sopenharmony_ciOpDecorate %278 RelaxedPrecision 69cb93a386Sopenharmony_ciOpDecorate %279 RelaxedPrecision 70cb93a386Sopenharmony_ciOpDecorate %282 RelaxedPrecision 71cb93a386Sopenharmony_ciOpDecorate %284 RelaxedPrecision 72cb93a386Sopenharmony_ciOpDecorate %288 RelaxedPrecision 73cb93a386Sopenharmony_ciOpDecorate %289 RelaxedPrecision 74cb93a386Sopenharmony_ciOpDecorate %290 RelaxedPrecision 75cb93a386Sopenharmony_ciOpDecorate %291 RelaxedPrecision 76cb93a386Sopenharmony_ciOpDecorate %292 RelaxedPrecision 77cb93a386Sopenharmony_ciOpDecorate %295 RelaxedPrecision 78cb93a386Sopenharmony_ciOpDecorate %298 RelaxedPrecision 79cb93a386Sopenharmony_ciOpDecorate %302 RelaxedPrecision 80cb93a386Sopenharmony_ciOpDecorate %303 RelaxedPrecision 81cb93a386Sopenharmony_ciOpDecorate %304 RelaxedPrecision 82cb93a386Sopenharmony_ciOpDecorate %305 RelaxedPrecision 83cb93a386Sopenharmony_ciOpDecorate %306 RelaxedPrecision 84cb93a386Sopenharmony_ciOpDecorate %307 RelaxedPrecision 85cb93a386Sopenharmony_ciOpDecorate %310 RelaxedPrecision 86cb93a386Sopenharmony_ciOpDecorate %312 RelaxedPrecision 87cb93a386Sopenharmony_ciOpDecorate %316 RelaxedPrecision 88cb93a386Sopenharmony_ciOpDecorate %317 RelaxedPrecision 89cb93a386Sopenharmony_ciOpDecorate %320 RelaxedPrecision 90cb93a386Sopenharmony_ciOpDecorate %321 RelaxedPrecision 91cb93a386Sopenharmony_ciOpDecorate %322 RelaxedPrecision 92cb93a386Sopenharmony_ciOpDecorate %323 RelaxedPrecision 93cb93a386Sopenharmony_ciOpDecorate %326 RelaxedPrecision 94cb93a386Sopenharmony_ciOpDecorate %327 RelaxedPrecision 95cb93a386Sopenharmony_ciOpDecorate %331 RelaxedPrecision 96cb93a386Sopenharmony_ciOpDecorate %332 RelaxedPrecision 97cb93a386Sopenharmony_ciOpDecorate %333 RelaxedPrecision 98cb93a386Sopenharmony_ciOpDecorate %334 RelaxedPrecision 99cb93a386Sopenharmony_ciOpDecorate %335 RelaxedPrecision 100cb93a386Sopenharmony_ciOpDecorate %336 RelaxedPrecision 101cb93a386Sopenharmony_ciOpDecorate %339 RelaxedPrecision 102cb93a386Sopenharmony_ciOpDecorate %342 RelaxedPrecision 103cb93a386Sopenharmony_ciOpDecorate %346 RelaxedPrecision 104cb93a386Sopenharmony_ciOpDecorate %348 RelaxedPrecision 105cb93a386Sopenharmony_ciOpDecorate %349 RelaxedPrecision 106cb93a386Sopenharmony_ciOpDecorate %350 RelaxedPrecision 107cb93a386Sopenharmony_ciOpDecorate %353 RelaxedPrecision 108cb93a386Sopenharmony_ciOpDecorate %354 RelaxedPrecision 109cb93a386Sopenharmony_ciOpDecorate %358 RelaxedPrecision 110cb93a386Sopenharmony_ciOpDecorate %359 RelaxedPrecision 111cb93a386Sopenharmony_ciOpDecorate %360 RelaxedPrecision 112cb93a386Sopenharmony_ciOpDecorate %361 RelaxedPrecision 113cb93a386Sopenharmony_ciOpDecorate %364 RelaxedPrecision 114cb93a386Sopenharmony_ciOpDecorate %369 RelaxedPrecision 115cb93a386Sopenharmony_ciOpDecorate %370 RelaxedPrecision 116cb93a386Sopenharmony_ciOpDecorate %371 RelaxedPrecision 117cb93a386Sopenharmony_ciOpDecorate %372 RelaxedPrecision 118cb93a386Sopenharmony_ciOpDecorate %373 RelaxedPrecision 119cb93a386Sopenharmony_ciOpDecorate %376 RelaxedPrecision 120cb93a386Sopenharmony_ciOpDecorate %377 RelaxedPrecision 121cb93a386Sopenharmony_ciOpDecorate %381 RelaxedPrecision 122cb93a386Sopenharmony_ciOpDecorate %382 RelaxedPrecision 123cb93a386Sopenharmony_ciOpDecorate %383 RelaxedPrecision 124cb93a386Sopenharmony_ciOpDecorate %384 RelaxedPrecision 125cb93a386Sopenharmony_ciOpDecorate %385 RelaxedPrecision 126cb93a386Sopenharmony_ciOpDecorate %386 RelaxedPrecision 127cb93a386Sopenharmony_ciOpDecorate %389 RelaxedPrecision 128cb93a386Sopenharmony_ciOpDecorate %390 RelaxedPrecision 129cb93a386Sopenharmony_ciOpDecorate %394 RelaxedPrecision 130cb93a386Sopenharmony_ciOpDecorate %395 RelaxedPrecision 131cb93a386Sopenharmony_ciOpDecorate %396 RelaxedPrecision 132cb93a386Sopenharmony_ciOpDecorate %397 RelaxedPrecision 133cb93a386Sopenharmony_ciOpDecorate %398 RelaxedPrecision 134cb93a386Sopenharmony_ciOpDecorate %399 RelaxedPrecision 135cb93a386Sopenharmony_ciOpDecorate %402 RelaxedPrecision 136cb93a386Sopenharmony_ciOpDecorate %407 RelaxedPrecision 137cb93a386Sopenharmony_ciOpDecorate %408 RelaxedPrecision 138cb93a386Sopenharmony_ciOpDecorate %409 RelaxedPrecision 139cb93a386Sopenharmony_ciOpDecorate %410 RelaxedPrecision 140cb93a386Sopenharmony_ciOpDecorate %411 RelaxedPrecision 141cb93a386Sopenharmony_ciOpDecorate %412 RelaxedPrecision 142cb93a386Sopenharmony_ciOpDecorate %413 RelaxedPrecision 143cb93a386Sopenharmony_ciOpDecorate %416 RelaxedPrecision 144cb93a386Sopenharmony_ciOpDecorate %417 RelaxedPrecision 145cb93a386Sopenharmony_ciOpDecorate %421 RelaxedPrecision 146cb93a386Sopenharmony_ciOpDecorate %422 RelaxedPrecision 147cb93a386Sopenharmony_ciOpDecorate %423 RelaxedPrecision 148cb93a386Sopenharmony_ciOpDecorate %424 RelaxedPrecision 149cb93a386Sopenharmony_ciOpDecorate %425 RelaxedPrecision 150cb93a386Sopenharmony_ciOpDecorate %428 RelaxedPrecision 151cb93a386Sopenharmony_ciOpDecorate %429 RelaxedPrecision 152cb93a386Sopenharmony_ciOpDecorate %433 RelaxedPrecision 153cb93a386Sopenharmony_ciOpDecorate %434 RelaxedPrecision 154cb93a386Sopenharmony_ciOpDecorate %435 RelaxedPrecision 155cb93a386Sopenharmony_ciOpDecorate %436 RelaxedPrecision 156cb93a386Sopenharmony_ciOpDecorate %437 RelaxedPrecision 157cb93a386Sopenharmony_ciOpDecorate %438 RelaxedPrecision 158cb93a386Sopenharmony_ciOpDecorate %439 RelaxedPrecision 159cb93a386Sopenharmony_ciOpDecorate %440 RelaxedPrecision 160cb93a386Sopenharmony_ciOpDecorate %441 RelaxedPrecision 161cb93a386Sopenharmony_ciOpDecorate %442 RelaxedPrecision 162cb93a386Sopenharmony_ciOpDecorate %443 RelaxedPrecision 163cb93a386Sopenharmony_ciOpDecorate %444 RelaxedPrecision 164cb93a386Sopenharmony_ciOpDecorate %447 RelaxedPrecision 165cb93a386Sopenharmony_ciOpDecorate %451 RelaxedPrecision 166cb93a386Sopenharmony_ciOpDecorate %452 RelaxedPrecision 167cb93a386Sopenharmony_ciOpDecorate %453 RelaxedPrecision 168cb93a386Sopenharmony_ciOpDecorate %454 RelaxedPrecision 169cb93a386Sopenharmony_ciOpDecorate %455 RelaxedPrecision 170cb93a386Sopenharmony_ciOpDecorate %456 RelaxedPrecision 171cb93a386Sopenharmony_ciOpDecorate %457 RelaxedPrecision 172cb93a386Sopenharmony_ciOpDecorate %458 RelaxedPrecision 173cb93a386Sopenharmony_ciOpDecorate %459 RelaxedPrecision 174cb93a386Sopenharmony_ciOpDecorate %461 RelaxedPrecision 175cb93a386Sopenharmony_ciOpDecorate %462 RelaxedPrecision 176cb93a386Sopenharmony_ciOpDecorate %465 RelaxedPrecision 177cb93a386Sopenharmony_ciOpDecorate %469 RelaxedPrecision 178cb93a386Sopenharmony_ciOpDecorate %479 RelaxedPrecision 179cb93a386Sopenharmony_ciOpDecorate %481 RelaxedPrecision 180cb93a386Sopenharmony_ciOpDecorate %482 RelaxedPrecision 181cb93a386Sopenharmony_ci%float = OpTypeFloat 32 182cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4 183cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float 184cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output 185cb93a386Sopenharmony_ci%bool = OpTypeBool 186cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool 187cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input 188cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float %float 189cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 190cb93a386Sopenharmony_ci%11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 191cb93a386Sopenharmony_ci%void = OpTypeVoid 192cb93a386Sopenharmony_ci%16 = OpTypeFunction %void 193cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2 194cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0 195cb93a386Sopenharmony_ci%20 = OpConstantComposite %v2float %float_0 %float_0 196cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float 197cb93a386Sopenharmony_ci%24 = OpTypeFunction %bool 198cb93a386Sopenharmony_ci%_ptr_Function_bool = OpTypePointer Function %bool 199cb93a386Sopenharmony_ci%true = OpConstantTrue %bool 200cb93a386Sopenharmony_ci%int = OpTypeInt 32 1 201cb93a386Sopenharmony_ci%v4int = OpTypeVector %int 4 202cb93a386Sopenharmony_ci%_ptr_Function_v4int = OpTypePointer Function %v4int 203cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 204cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0 205cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1 206cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2 207cb93a386Sopenharmony_ci%false = OpConstantFalse %bool 208cb93a386Sopenharmony_ci%int_3 = OpConstant %int 3 209cb93a386Sopenharmony_ci%70 = OpConstantComposite %v4int %int_3 %int_2 %int_2 %int_3 210cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4 211cb93a386Sopenharmony_ci%int_n1 = OpConstant %int -1 212cb93a386Sopenharmony_ci%int_n2 = OpConstant %int -2 213cb93a386Sopenharmony_ci%85 = OpConstantComposite %v4int %int_n1 %int_n1 %int_n2 %int_n2 214cb93a386Sopenharmony_ci%98 = OpConstantComposite %v4int %int_2 %int_1 %int_1 %int_2 215cb93a386Sopenharmony_ci%v3int = OpTypeVector %int 3 216cb93a386Sopenharmony_ci%int_9 = OpConstant %int 9 217cb93a386Sopenharmony_ci%114 = OpConstantComposite %v4int %int_9 %int_9 %int_9 %int_2 218cb93a386Sopenharmony_ci%v2int = OpTypeVector %int 2 219cb93a386Sopenharmony_ci%129 = OpConstantComposite %v4int %int_3 %int_0 %int_9 %int_2 220cb93a386Sopenharmony_ci%int_5 = OpConstant %int 5 221cb93a386Sopenharmony_ci%142 = OpConstantComposite %v4int %int_0 %int_5 %int_5 %int_0 222cb93a386Sopenharmony_ci%int_10 = OpConstant %int 10 223cb93a386Sopenharmony_ci%165 = OpConstantComposite %v4int %int_9 %int_9 %int_10 %int_10 224cb93a386Sopenharmony_ci%178 = OpConstantComposite %v4int %int_1 %int_2 %int_1 %int_2 225cb93a386Sopenharmony_ci%int_36 = OpConstant %int 36 226cb93a386Sopenharmony_ci%int_4 = OpConstant %int 4 227cb93a386Sopenharmony_ci%int_18 = OpConstant %int 18 228cb93a386Sopenharmony_ci%208 = OpConstantComposite %v4int %int_4 %int_18 %int_9 %int_2 229cb93a386Sopenharmony_ci%220 = OpConstantComposite %v4int %int_2 %int_9 %int_18 %int_4 230cb93a386Sopenharmony_ci%263 = OpTypeFunction %v4float %_ptr_Function_v2float 231cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float 232cb93a386Sopenharmony_ci%float_2 = OpConstant %float 2 233cb93a386Sopenharmony_ci%float_3 = OpConstant %float 3 234cb93a386Sopenharmony_ci%284 = OpConstantComposite %v4float %float_3 %float_2 %float_2 %float_3 235cb93a386Sopenharmony_ci%float_n1 = OpConstant %float -1 236cb93a386Sopenharmony_ci%float_n2 = OpConstant %float -2 237cb93a386Sopenharmony_ci%298 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n2 %float_n2 238cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1 239cb93a386Sopenharmony_ci%312 = OpConstantComposite %v4float %float_2 %float_1 %float_1 %float_2 240cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3 241cb93a386Sopenharmony_ci%float_9 = OpConstant %float 9 242cb93a386Sopenharmony_ci%327 = OpConstantComposite %v4float %float_9 %float_9 %float_9 %float_2 243cb93a386Sopenharmony_ci%float_18 = OpConstant %float 18 244cb93a386Sopenharmony_ci%float_4 = OpConstant %float 4 245cb93a386Sopenharmony_ci%342 = OpConstantComposite %v4float %float_18 %float_4 %float_9 %float_2 246cb93a386Sopenharmony_ci%float_5 = OpConstant %float 5 247cb93a386Sopenharmony_ci%354 = OpConstantComposite %v4float %float_0 %float_5 %float_5 %float_0 248cb93a386Sopenharmony_ci%float_10 = OpConstant %float 10 249cb93a386Sopenharmony_ci%377 = OpConstantComposite %v4float %float_9 %float_9 %float_10 %float_10 250cb93a386Sopenharmony_ci%390 = OpConstantComposite %v4float %float_1 %float_2 %float_1 %float_2 251cb93a386Sopenharmony_ci%float_36 = OpConstant %float 36 252cb93a386Sopenharmony_ci%417 = OpConstantComposite %v4float %float_4 %float_18 %float_9 %float_2 253cb93a386Sopenharmony_ci%429 = OpConstantComposite %v4float %float_2 %float_9 %float_18 %float_4 254cb93a386Sopenharmony_ci%float_0_5 = OpConstant %float 0.5 255cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %16 256cb93a386Sopenharmony_ci%17 = OpLabel 257cb93a386Sopenharmony_ci%21 = OpVariable %_ptr_Function_v2float Function 258cb93a386Sopenharmony_ciOpStore %21 %20 259cb93a386Sopenharmony_ci%23 = OpFunctionCall %v4float %main %21 260cb93a386Sopenharmony_ciOpStore %sk_FragColor %23 261cb93a386Sopenharmony_ciOpReturn 262cb93a386Sopenharmony_ciOpFunctionEnd 263cb93a386Sopenharmony_ci%test_int_b = OpFunction %bool None %24 264cb93a386Sopenharmony_ci%25 = OpLabel 265cb93a386Sopenharmony_ci%ok = OpVariable %_ptr_Function_bool Function 266cb93a386Sopenharmony_ci%inputRed = OpVariable %_ptr_Function_v4int Function 267cb93a386Sopenharmony_ci%inputGreen = OpVariable %_ptr_Function_v4int Function 268cb93a386Sopenharmony_ci%x = OpVariable %_ptr_Function_v4int Function 269cb93a386Sopenharmony_ciOpStore %ok %true 270cb93a386Sopenharmony_ci%33 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 271cb93a386Sopenharmony_ci%36 = OpLoad %v4float %33 272cb93a386Sopenharmony_ci%37 = OpCompositeExtract %float %36 0 273cb93a386Sopenharmony_ci%38 = OpConvertFToS %int %37 274cb93a386Sopenharmony_ci%39 = OpCompositeExtract %float %36 1 275cb93a386Sopenharmony_ci%40 = OpConvertFToS %int %39 276cb93a386Sopenharmony_ci%41 = OpCompositeExtract %float %36 2 277cb93a386Sopenharmony_ci%42 = OpConvertFToS %int %41 278cb93a386Sopenharmony_ci%43 = OpCompositeExtract %float %36 3 279cb93a386Sopenharmony_ci%44 = OpConvertFToS %int %43 280cb93a386Sopenharmony_ci%45 = OpCompositeConstruct %v4int %38 %40 %42 %44 281cb93a386Sopenharmony_ciOpStore %inputRed %45 282cb93a386Sopenharmony_ci%47 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 283cb93a386Sopenharmony_ci%49 = OpLoad %v4float %47 284cb93a386Sopenharmony_ci%50 = OpCompositeExtract %float %49 0 285cb93a386Sopenharmony_ci%51 = OpConvertFToS %int %50 286cb93a386Sopenharmony_ci%52 = OpCompositeExtract %float %49 1 287cb93a386Sopenharmony_ci%53 = OpConvertFToS %int %52 288cb93a386Sopenharmony_ci%54 = OpCompositeExtract %float %49 2 289cb93a386Sopenharmony_ci%55 = OpConvertFToS %int %54 290cb93a386Sopenharmony_ci%56 = OpCompositeExtract %float %49 3 291cb93a386Sopenharmony_ci%57 = OpConvertFToS %int %56 292cb93a386Sopenharmony_ci%58 = OpCompositeConstruct %v4int %51 %53 %55 %57 293cb93a386Sopenharmony_ciOpStore %inputGreen %58 294cb93a386Sopenharmony_ci%60 = OpLoad %v4int %inputRed 295cb93a386Sopenharmony_ci%62 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 296cb93a386Sopenharmony_ci%63 = OpIAdd %v4int %60 %62 297cb93a386Sopenharmony_ciOpStore %x %63 298cb93a386Sopenharmony_ci%65 = OpLoad %bool %ok 299cb93a386Sopenharmony_ciOpSelectionMerge %67 None 300cb93a386Sopenharmony_ciOpBranchConditional %65 %66 %67 301cb93a386Sopenharmony_ci%66 = OpLabel 302cb93a386Sopenharmony_ci%68 = OpLoad %v4int %x 303cb93a386Sopenharmony_ci%71 = OpIEqual %v4bool %68 %70 304cb93a386Sopenharmony_ci%73 = OpAll %bool %71 305cb93a386Sopenharmony_ciOpBranch %67 306cb93a386Sopenharmony_ci%67 = OpLabel 307cb93a386Sopenharmony_ci%74 = OpPhi %bool %false %25 %73 %66 308cb93a386Sopenharmony_ciOpStore %ok %74 309cb93a386Sopenharmony_ci%75 = OpLoad %v4int %inputGreen 310cb93a386Sopenharmony_ci%76 = OpVectorShuffle %v4int %75 %75 1 3 0 2 311cb93a386Sopenharmony_ci%77 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 312cb93a386Sopenharmony_ci%78 = OpISub %v4int %76 %77 313cb93a386Sopenharmony_ciOpStore %x %78 314cb93a386Sopenharmony_ci%79 = OpLoad %bool %ok 315cb93a386Sopenharmony_ciOpSelectionMerge %81 None 316cb93a386Sopenharmony_ciOpBranchConditional %79 %80 %81 317cb93a386Sopenharmony_ci%80 = OpLabel 318cb93a386Sopenharmony_ci%82 = OpLoad %v4int %x 319cb93a386Sopenharmony_ci%86 = OpIEqual %v4bool %82 %85 320cb93a386Sopenharmony_ci%87 = OpAll %bool %86 321cb93a386Sopenharmony_ciOpBranch %81 322cb93a386Sopenharmony_ci%81 = OpLabel 323cb93a386Sopenharmony_ci%88 = OpPhi %bool %false %67 %87 %80 324cb93a386Sopenharmony_ciOpStore %ok %88 325cb93a386Sopenharmony_ci%89 = OpLoad %v4int %inputRed 326cb93a386Sopenharmony_ci%90 = OpLoad %v4int %inputGreen 327cb93a386Sopenharmony_ci%91 = OpCompositeExtract %int %90 1 328cb93a386Sopenharmony_ci%92 = OpCompositeConstruct %v4int %91 %91 %91 %91 329cb93a386Sopenharmony_ci%93 = OpIAdd %v4int %89 %92 330cb93a386Sopenharmony_ciOpStore %x %93 331cb93a386Sopenharmony_ci%94 = OpLoad %bool %ok 332cb93a386Sopenharmony_ciOpSelectionMerge %96 None 333cb93a386Sopenharmony_ciOpBranchConditional %94 %95 %96 334cb93a386Sopenharmony_ci%95 = OpLabel 335cb93a386Sopenharmony_ci%97 = OpLoad %v4int %x 336cb93a386Sopenharmony_ci%99 = OpIEqual %v4bool %97 %98 337cb93a386Sopenharmony_ci%100 = OpAll %bool %99 338cb93a386Sopenharmony_ciOpBranch %96 339cb93a386Sopenharmony_ci%96 = OpLabel 340cb93a386Sopenharmony_ci%101 = OpPhi %bool %false %81 %100 %95 341cb93a386Sopenharmony_ciOpStore %ok %101 342cb93a386Sopenharmony_ci%102 = OpLoad %v4int %inputGreen 343cb93a386Sopenharmony_ci%103 = OpVectorShuffle %v3int %102 %102 3 1 3 344cb93a386Sopenharmony_ci%106 = OpCompositeConstruct %v3int %int_9 %int_9 %int_9 345cb93a386Sopenharmony_ci%107 = OpIMul %v3int %103 %106 346cb93a386Sopenharmony_ci%108 = OpLoad %v4int %x 347cb93a386Sopenharmony_ci%109 = OpVectorShuffle %v4int %108 %107 4 5 6 3 348cb93a386Sopenharmony_ciOpStore %x %109 349cb93a386Sopenharmony_ci%110 = OpLoad %bool %ok 350cb93a386Sopenharmony_ciOpSelectionMerge %112 None 351cb93a386Sopenharmony_ciOpBranchConditional %110 %111 %112 352cb93a386Sopenharmony_ci%111 = OpLabel 353cb93a386Sopenharmony_ci%113 = OpLoad %v4int %x 354cb93a386Sopenharmony_ci%115 = OpIEqual %v4bool %113 %114 355cb93a386Sopenharmony_ci%116 = OpAll %bool %115 356cb93a386Sopenharmony_ciOpBranch %112 357cb93a386Sopenharmony_ci%112 = OpLabel 358cb93a386Sopenharmony_ci%117 = OpPhi %bool %false %96 %116 %111 359cb93a386Sopenharmony_ciOpStore %ok %117 360cb93a386Sopenharmony_ci%118 = OpLoad %v4int %x 361cb93a386Sopenharmony_ci%119 = OpVectorShuffle %v2int %118 %118 2 3 362cb93a386Sopenharmony_ci%121 = OpCompositeConstruct %v2int %int_3 %int_3 363cb93a386Sopenharmony_ci%122 = OpSDiv %v2int %119 %121 364cb93a386Sopenharmony_ci%123 = OpLoad %v4int %x 365cb93a386Sopenharmony_ci%124 = OpVectorShuffle %v4int %123 %122 4 5 2 3 366cb93a386Sopenharmony_ciOpStore %x %124 367cb93a386Sopenharmony_ci%125 = OpLoad %bool %ok 368cb93a386Sopenharmony_ciOpSelectionMerge %127 None 369cb93a386Sopenharmony_ciOpBranchConditional %125 %126 %127 370cb93a386Sopenharmony_ci%126 = OpLabel 371cb93a386Sopenharmony_ci%128 = OpLoad %v4int %x 372cb93a386Sopenharmony_ci%130 = OpIEqual %v4bool %128 %129 373cb93a386Sopenharmony_ci%131 = OpAll %bool %130 374cb93a386Sopenharmony_ciOpBranch %127 375cb93a386Sopenharmony_ci%127 = OpLabel 376cb93a386Sopenharmony_ci%132 = OpPhi %bool %false %112 %131 %126 377cb93a386Sopenharmony_ciOpStore %ok %132 378cb93a386Sopenharmony_ci%133 = OpLoad %v4int %inputRed 379cb93a386Sopenharmony_ci%135 = OpCompositeConstruct %v4int %int_5 %int_5 %int_5 %int_5 380cb93a386Sopenharmony_ci%136 = OpIMul %v4int %133 %135 381cb93a386Sopenharmony_ci%137 = OpVectorShuffle %v4int %136 %136 1 0 3 2 382cb93a386Sopenharmony_ciOpStore %x %137 383cb93a386Sopenharmony_ci%138 = OpLoad %bool %ok 384cb93a386Sopenharmony_ciOpSelectionMerge %140 None 385cb93a386Sopenharmony_ciOpBranchConditional %138 %139 %140 386cb93a386Sopenharmony_ci%139 = OpLabel 387cb93a386Sopenharmony_ci%141 = OpLoad %v4int %x 388cb93a386Sopenharmony_ci%143 = OpIEqual %v4bool %141 %142 389cb93a386Sopenharmony_ci%144 = OpAll %bool %143 390cb93a386Sopenharmony_ciOpBranch %140 391cb93a386Sopenharmony_ci%140 = OpLabel 392cb93a386Sopenharmony_ci%145 = OpPhi %bool %false %127 %144 %139 393cb93a386Sopenharmony_ciOpStore %ok %145 394cb93a386Sopenharmony_ci%146 = OpLoad %v4int %inputRed 395cb93a386Sopenharmony_ci%147 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 396cb93a386Sopenharmony_ci%148 = OpIAdd %v4int %147 %146 397cb93a386Sopenharmony_ciOpStore %x %148 398cb93a386Sopenharmony_ci%149 = OpLoad %bool %ok 399cb93a386Sopenharmony_ciOpSelectionMerge %151 None 400cb93a386Sopenharmony_ciOpBranchConditional %149 %150 %151 401cb93a386Sopenharmony_ci%150 = OpLabel 402cb93a386Sopenharmony_ci%152 = OpLoad %v4int %x 403cb93a386Sopenharmony_ci%153 = OpIEqual %v4bool %152 %70 404cb93a386Sopenharmony_ci%154 = OpAll %bool %153 405cb93a386Sopenharmony_ciOpBranch %151 406cb93a386Sopenharmony_ci%151 = OpLabel 407cb93a386Sopenharmony_ci%155 = OpPhi %bool %false %140 %154 %150 408cb93a386Sopenharmony_ciOpStore %ok %155 409cb93a386Sopenharmony_ci%157 = OpLoad %v4int %inputGreen 410cb93a386Sopenharmony_ci%158 = OpVectorShuffle %v4int %157 %157 1 3 0 2 411cb93a386Sopenharmony_ci%159 = OpCompositeConstruct %v4int %int_10 %int_10 %int_10 %int_10 412cb93a386Sopenharmony_ci%160 = OpISub %v4int %159 %158 413cb93a386Sopenharmony_ciOpStore %x %160 414cb93a386Sopenharmony_ci%161 = OpLoad %bool %ok 415cb93a386Sopenharmony_ciOpSelectionMerge %163 None 416cb93a386Sopenharmony_ciOpBranchConditional %161 %162 %163 417cb93a386Sopenharmony_ci%162 = OpLabel 418cb93a386Sopenharmony_ci%164 = OpLoad %v4int %x 419cb93a386Sopenharmony_ci%166 = OpIEqual %v4bool %164 %165 420cb93a386Sopenharmony_ci%167 = OpAll %bool %166 421cb93a386Sopenharmony_ciOpBranch %163 422cb93a386Sopenharmony_ci%163 = OpLabel 423cb93a386Sopenharmony_ci%168 = OpPhi %bool %false %151 %167 %162 424cb93a386Sopenharmony_ciOpStore %ok %168 425cb93a386Sopenharmony_ci%169 = OpLoad %v4int %inputRed 426cb93a386Sopenharmony_ci%170 = OpCompositeExtract %int %169 0 427cb93a386Sopenharmony_ci%171 = OpLoad %v4int %inputGreen 428cb93a386Sopenharmony_ci%172 = OpCompositeConstruct %v4int %170 %170 %170 %170 429cb93a386Sopenharmony_ci%173 = OpIAdd %v4int %172 %171 430cb93a386Sopenharmony_ciOpStore %x %173 431cb93a386Sopenharmony_ci%174 = OpLoad %bool %ok 432cb93a386Sopenharmony_ciOpSelectionMerge %176 None 433cb93a386Sopenharmony_ciOpBranchConditional %174 %175 %176 434cb93a386Sopenharmony_ci%175 = OpLabel 435cb93a386Sopenharmony_ci%177 = OpLoad %v4int %x 436cb93a386Sopenharmony_ci%179 = OpIEqual %v4bool %177 %178 437cb93a386Sopenharmony_ci%180 = OpAll %bool %179 438cb93a386Sopenharmony_ciOpBranch %176 439cb93a386Sopenharmony_ci%176 = OpLabel 440cb93a386Sopenharmony_ci%181 = OpPhi %bool %false %163 %180 %175 441cb93a386Sopenharmony_ciOpStore %ok %181 442cb93a386Sopenharmony_ci%182 = OpLoad %v4int %inputGreen 443cb93a386Sopenharmony_ci%183 = OpVectorShuffle %v3int %182 %182 3 1 3 444cb93a386Sopenharmony_ci%184 = OpCompositeConstruct %v3int %int_9 %int_9 %int_9 445cb93a386Sopenharmony_ci%185 = OpIMul %v3int %184 %183 446cb93a386Sopenharmony_ci%186 = OpLoad %v4int %x 447cb93a386Sopenharmony_ci%187 = OpVectorShuffle %v4int %186 %185 4 5 6 3 448cb93a386Sopenharmony_ciOpStore %x %187 449cb93a386Sopenharmony_ci%188 = OpLoad %bool %ok 450cb93a386Sopenharmony_ciOpSelectionMerge %190 None 451cb93a386Sopenharmony_ciOpBranchConditional %188 %189 %190 452cb93a386Sopenharmony_ci%189 = OpLabel 453cb93a386Sopenharmony_ci%191 = OpLoad %v4int %x 454cb93a386Sopenharmony_ci%192 = OpIEqual %v4bool %191 %114 455cb93a386Sopenharmony_ci%193 = OpAll %bool %192 456cb93a386Sopenharmony_ciOpBranch %190 457cb93a386Sopenharmony_ci%190 = OpLabel 458cb93a386Sopenharmony_ci%194 = OpPhi %bool %false %176 %193 %189 459cb93a386Sopenharmony_ciOpStore %ok %194 460cb93a386Sopenharmony_ci%196 = OpLoad %v4int %x 461cb93a386Sopenharmony_ci%197 = OpVectorShuffle %v2int %196 %196 2 3 462cb93a386Sopenharmony_ci%198 = OpCompositeConstruct %v2int %int_36 %int_36 463cb93a386Sopenharmony_ci%199 = OpSDiv %v2int %198 %197 464cb93a386Sopenharmony_ci%200 = OpLoad %v4int %x 465cb93a386Sopenharmony_ci%201 = OpVectorShuffle %v4int %200 %199 4 5 2 3 466cb93a386Sopenharmony_ciOpStore %x %201 467cb93a386Sopenharmony_ci%202 = OpLoad %bool %ok 468cb93a386Sopenharmony_ciOpSelectionMerge %204 None 469cb93a386Sopenharmony_ciOpBranchConditional %202 %203 %204 470cb93a386Sopenharmony_ci%203 = OpLabel 471cb93a386Sopenharmony_ci%205 = OpLoad %v4int %x 472cb93a386Sopenharmony_ci%209 = OpIEqual %v4bool %205 %208 473cb93a386Sopenharmony_ci%210 = OpAll %bool %209 474cb93a386Sopenharmony_ciOpBranch %204 475cb93a386Sopenharmony_ci%204 = OpLabel 476cb93a386Sopenharmony_ci%211 = OpPhi %bool %false %190 %210 %203 477cb93a386Sopenharmony_ciOpStore %ok %211 478cb93a386Sopenharmony_ci%212 = OpLoad %v4int %x 479cb93a386Sopenharmony_ci%213 = OpCompositeConstruct %v4int %int_36 %int_36 %int_36 %int_36 480cb93a386Sopenharmony_ci%214 = OpSDiv %v4int %213 %212 481cb93a386Sopenharmony_ci%215 = OpVectorShuffle %v4int %214 %214 1 0 3 2 482cb93a386Sopenharmony_ciOpStore %x %215 483cb93a386Sopenharmony_ci%216 = OpLoad %bool %ok 484cb93a386Sopenharmony_ciOpSelectionMerge %218 None 485cb93a386Sopenharmony_ciOpBranchConditional %216 %217 %218 486cb93a386Sopenharmony_ci%217 = OpLabel 487cb93a386Sopenharmony_ci%219 = OpLoad %v4int %x 488cb93a386Sopenharmony_ci%221 = OpIEqual %v4bool %219 %220 489cb93a386Sopenharmony_ci%222 = OpAll %bool %221 490cb93a386Sopenharmony_ciOpBranch %218 491cb93a386Sopenharmony_ci%218 = OpLabel 492cb93a386Sopenharmony_ci%223 = OpPhi %bool %false %204 %222 %217 493cb93a386Sopenharmony_ciOpStore %ok %223 494cb93a386Sopenharmony_ci%224 = OpLoad %v4int %x 495cb93a386Sopenharmony_ci%225 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 496cb93a386Sopenharmony_ci%226 = OpIAdd %v4int %224 %225 497cb93a386Sopenharmony_ciOpStore %x %226 498cb93a386Sopenharmony_ci%227 = OpLoad %v4int %x 499cb93a386Sopenharmony_ci%228 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 500cb93a386Sopenharmony_ci%229 = OpIMul %v4int %227 %228 501cb93a386Sopenharmony_ciOpStore %x %229 502cb93a386Sopenharmony_ci%230 = OpLoad %v4int %x 503cb93a386Sopenharmony_ci%231 = OpCompositeConstruct %v4int %int_4 %int_4 %int_4 %int_4 504cb93a386Sopenharmony_ci%232 = OpISub %v4int %230 %231 505cb93a386Sopenharmony_ciOpStore %x %232 506cb93a386Sopenharmony_ci%233 = OpLoad %v4int %x 507cb93a386Sopenharmony_ci%234 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 508cb93a386Sopenharmony_ci%235 = OpSDiv %v4int %233 %234 509cb93a386Sopenharmony_ciOpStore %x %235 510cb93a386Sopenharmony_ci%236 = OpLoad %bool %ok 511cb93a386Sopenharmony_ciOpSelectionMerge %238 None 512cb93a386Sopenharmony_ciOpBranchConditional %236 %237 %238 513cb93a386Sopenharmony_ci%237 = OpLabel 514cb93a386Sopenharmony_ci%239 = OpLoad %v4int %x 515cb93a386Sopenharmony_ci%240 = OpIEqual %v4bool %239 %220 516cb93a386Sopenharmony_ci%241 = OpAll %bool %240 517cb93a386Sopenharmony_ciOpBranch %238 518cb93a386Sopenharmony_ci%238 = OpLabel 519cb93a386Sopenharmony_ci%242 = OpPhi %bool %false %218 %241 %237 520cb93a386Sopenharmony_ciOpStore %ok %242 521cb93a386Sopenharmony_ci%243 = OpLoad %v4int %x 522cb93a386Sopenharmony_ci%244 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 523cb93a386Sopenharmony_ci%245 = OpIAdd %v4int %243 %244 524cb93a386Sopenharmony_ciOpStore %x %245 525cb93a386Sopenharmony_ci%246 = OpLoad %v4int %x 526cb93a386Sopenharmony_ci%247 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 527cb93a386Sopenharmony_ci%248 = OpIMul %v4int %246 %247 528cb93a386Sopenharmony_ciOpStore %x %248 529cb93a386Sopenharmony_ci%249 = OpLoad %v4int %x 530cb93a386Sopenharmony_ci%250 = OpCompositeConstruct %v4int %int_4 %int_4 %int_4 %int_4 531cb93a386Sopenharmony_ci%251 = OpISub %v4int %249 %250 532cb93a386Sopenharmony_ciOpStore %x %251 533cb93a386Sopenharmony_ci%252 = OpLoad %v4int %x 534cb93a386Sopenharmony_ci%253 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 535cb93a386Sopenharmony_ci%254 = OpSDiv %v4int %252 %253 536cb93a386Sopenharmony_ciOpStore %x %254 537cb93a386Sopenharmony_ci%255 = OpLoad %bool %ok 538cb93a386Sopenharmony_ciOpSelectionMerge %257 None 539cb93a386Sopenharmony_ciOpBranchConditional %255 %256 %257 540cb93a386Sopenharmony_ci%256 = OpLabel 541cb93a386Sopenharmony_ci%258 = OpLoad %v4int %x 542cb93a386Sopenharmony_ci%259 = OpIEqual %v4bool %258 %220 543cb93a386Sopenharmony_ci%260 = OpAll %bool %259 544cb93a386Sopenharmony_ciOpBranch %257 545cb93a386Sopenharmony_ci%257 = OpLabel 546cb93a386Sopenharmony_ci%261 = OpPhi %bool %false %238 %260 %256 547cb93a386Sopenharmony_ciOpStore %ok %261 548cb93a386Sopenharmony_ci%262 = OpLoad %bool %ok 549cb93a386Sopenharmony_ciOpReturnValue %262 550cb93a386Sopenharmony_ciOpFunctionEnd 551cb93a386Sopenharmony_ci%main = OpFunction %v4float None %263 552cb93a386Sopenharmony_ci%264 = OpFunctionParameter %_ptr_Function_v2float 553cb93a386Sopenharmony_ci%265 = OpLabel 554cb93a386Sopenharmony_ci%_0_ok = OpVariable %_ptr_Function_bool Function 555cb93a386Sopenharmony_ci%_1_inputRed = OpVariable %_ptr_Function_v4float Function 556cb93a386Sopenharmony_ci%_2_inputGreen = OpVariable %_ptr_Function_v4float Function 557cb93a386Sopenharmony_ci%_3_x = OpVariable %_ptr_Function_v4float Function 558cb93a386Sopenharmony_ci%474 = OpVariable %_ptr_Function_v4float Function 559cb93a386Sopenharmony_ciOpStore %_0_ok %true 560cb93a386Sopenharmony_ci%269 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 561cb93a386Sopenharmony_ci%270 = OpLoad %v4float %269 562cb93a386Sopenharmony_ciOpStore %_1_inputRed %270 563cb93a386Sopenharmony_ci%272 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 564cb93a386Sopenharmony_ci%273 = OpLoad %v4float %272 565cb93a386Sopenharmony_ciOpStore %_2_inputGreen %273 566cb93a386Sopenharmony_ci%275 = OpLoad %v4float %_1_inputRed 567cb93a386Sopenharmony_ci%277 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 568cb93a386Sopenharmony_ci%278 = OpFAdd %v4float %275 %277 569cb93a386Sopenharmony_ciOpStore %_3_x %278 570cb93a386Sopenharmony_ci%279 = OpLoad %bool %_0_ok 571cb93a386Sopenharmony_ciOpSelectionMerge %281 None 572cb93a386Sopenharmony_ciOpBranchConditional %279 %280 %281 573cb93a386Sopenharmony_ci%280 = OpLabel 574cb93a386Sopenharmony_ci%282 = OpLoad %v4float %_3_x 575cb93a386Sopenharmony_ci%285 = OpFOrdEqual %v4bool %282 %284 576cb93a386Sopenharmony_ci%286 = OpAll %bool %285 577cb93a386Sopenharmony_ciOpBranch %281 578cb93a386Sopenharmony_ci%281 = OpLabel 579cb93a386Sopenharmony_ci%287 = OpPhi %bool %false %265 %286 %280 580cb93a386Sopenharmony_ciOpStore %_0_ok %287 581cb93a386Sopenharmony_ci%288 = OpLoad %v4float %_2_inputGreen 582cb93a386Sopenharmony_ci%289 = OpVectorShuffle %v4float %288 %288 1 3 0 2 583cb93a386Sopenharmony_ci%290 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 584cb93a386Sopenharmony_ci%291 = OpFSub %v4float %289 %290 585cb93a386Sopenharmony_ciOpStore %_3_x %291 586cb93a386Sopenharmony_ci%292 = OpLoad %bool %_0_ok 587cb93a386Sopenharmony_ciOpSelectionMerge %294 None 588cb93a386Sopenharmony_ciOpBranchConditional %292 %293 %294 589cb93a386Sopenharmony_ci%293 = OpLabel 590cb93a386Sopenharmony_ci%295 = OpLoad %v4float %_3_x 591cb93a386Sopenharmony_ci%299 = OpFOrdEqual %v4bool %295 %298 592cb93a386Sopenharmony_ci%300 = OpAll %bool %299 593cb93a386Sopenharmony_ciOpBranch %294 594cb93a386Sopenharmony_ci%294 = OpLabel 595cb93a386Sopenharmony_ci%301 = OpPhi %bool %false %281 %300 %293 596cb93a386Sopenharmony_ciOpStore %_0_ok %301 597cb93a386Sopenharmony_ci%302 = OpLoad %v4float %_1_inputRed 598cb93a386Sopenharmony_ci%303 = OpLoad %v4float %_2_inputGreen 599cb93a386Sopenharmony_ci%304 = OpCompositeExtract %float %303 1 600cb93a386Sopenharmony_ci%305 = OpCompositeConstruct %v4float %304 %304 %304 %304 601cb93a386Sopenharmony_ci%306 = OpFAdd %v4float %302 %305 602cb93a386Sopenharmony_ciOpStore %_3_x %306 603cb93a386Sopenharmony_ci%307 = OpLoad %bool %_0_ok 604cb93a386Sopenharmony_ciOpSelectionMerge %309 None 605cb93a386Sopenharmony_ciOpBranchConditional %307 %308 %309 606cb93a386Sopenharmony_ci%308 = OpLabel 607cb93a386Sopenharmony_ci%310 = OpLoad %v4float %_3_x 608cb93a386Sopenharmony_ci%313 = OpFOrdEqual %v4bool %310 %312 609cb93a386Sopenharmony_ci%314 = OpAll %bool %313 610cb93a386Sopenharmony_ciOpBranch %309 611cb93a386Sopenharmony_ci%309 = OpLabel 612cb93a386Sopenharmony_ci%315 = OpPhi %bool %false %294 %314 %308 613cb93a386Sopenharmony_ciOpStore %_0_ok %315 614cb93a386Sopenharmony_ci%316 = OpLoad %v4float %_2_inputGreen 615cb93a386Sopenharmony_ci%317 = OpVectorShuffle %v3float %316 %316 3 1 3 616cb93a386Sopenharmony_ci%320 = OpVectorTimesScalar %v3float %317 %float_9 617cb93a386Sopenharmony_ci%321 = OpLoad %v4float %_3_x 618cb93a386Sopenharmony_ci%322 = OpVectorShuffle %v4float %321 %320 4 5 6 3 619cb93a386Sopenharmony_ciOpStore %_3_x %322 620cb93a386Sopenharmony_ci%323 = OpLoad %bool %_0_ok 621cb93a386Sopenharmony_ciOpSelectionMerge %325 None 622cb93a386Sopenharmony_ciOpBranchConditional %323 %324 %325 623cb93a386Sopenharmony_ci%324 = OpLabel 624cb93a386Sopenharmony_ci%326 = OpLoad %v4float %_3_x 625cb93a386Sopenharmony_ci%328 = OpFOrdEqual %v4bool %326 %327 626cb93a386Sopenharmony_ci%329 = OpAll %bool %328 627cb93a386Sopenharmony_ciOpBranch %325 628cb93a386Sopenharmony_ci%325 = OpLabel 629cb93a386Sopenharmony_ci%330 = OpPhi %bool %false %309 %329 %324 630cb93a386Sopenharmony_ciOpStore %_0_ok %330 631cb93a386Sopenharmony_ci%331 = OpLoad %v4float %_3_x 632cb93a386Sopenharmony_ci%332 = OpVectorShuffle %v2float %331 %331 2 3 633cb93a386Sopenharmony_ci%333 = OpVectorTimesScalar %v2float %332 %float_2 634cb93a386Sopenharmony_ci%334 = OpLoad %v4float %_3_x 635cb93a386Sopenharmony_ci%335 = OpVectorShuffle %v4float %334 %333 4 5 2 3 636cb93a386Sopenharmony_ciOpStore %_3_x %335 637cb93a386Sopenharmony_ci%336 = OpLoad %bool %_0_ok 638cb93a386Sopenharmony_ciOpSelectionMerge %338 None 639cb93a386Sopenharmony_ciOpBranchConditional %336 %337 %338 640cb93a386Sopenharmony_ci%337 = OpLabel 641cb93a386Sopenharmony_ci%339 = OpLoad %v4float %_3_x 642cb93a386Sopenharmony_ci%343 = OpFOrdEqual %v4bool %339 %342 643cb93a386Sopenharmony_ci%344 = OpAll %bool %343 644cb93a386Sopenharmony_ciOpBranch %338 645cb93a386Sopenharmony_ci%338 = OpLabel 646cb93a386Sopenharmony_ci%345 = OpPhi %bool %false %325 %344 %337 647cb93a386Sopenharmony_ciOpStore %_0_ok %345 648cb93a386Sopenharmony_ci%346 = OpLoad %v4float %_1_inputRed 649cb93a386Sopenharmony_ci%348 = OpVectorTimesScalar %v4float %346 %float_5 650cb93a386Sopenharmony_ci%349 = OpVectorShuffle %v4float %348 %348 1 0 3 2 651cb93a386Sopenharmony_ciOpStore %_3_x %349 652cb93a386Sopenharmony_ci%350 = OpLoad %bool %_0_ok 653cb93a386Sopenharmony_ciOpSelectionMerge %352 None 654cb93a386Sopenharmony_ciOpBranchConditional %350 %351 %352 655cb93a386Sopenharmony_ci%351 = OpLabel 656cb93a386Sopenharmony_ci%353 = OpLoad %v4float %_3_x 657cb93a386Sopenharmony_ci%355 = OpFOrdEqual %v4bool %353 %354 658cb93a386Sopenharmony_ci%356 = OpAll %bool %355 659cb93a386Sopenharmony_ciOpBranch %352 660cb93a386Sopenharmony_ci%352 = OpLabel 661cb93a386Sopenharmony_ci%357 = OpPhi %bool %false %338 %356 %351 662cb93a386Sopenharmony_ciOpStore %_0_ok %357 663cb93a386Sopenharmony_ci%358 = OpLoad %v4float %_1_inputRed 664cb93a386Sopenharmony_ci%359 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 665cb93a386Sopenharmony_ci%360 = OpFAdd %v4float %359 %358 666cb93a386Sopenharmony_ciOpStore %_3_x %360 667cb93a386Sopenharmony_ci%361 = OpLoad %bool %_0_ok 668cb93a386Sopenharmony_ciOpSelectionMerge %363 None 669cb93a386Sopenharmony_ciOpBranchConditional %361 %362 %363 670cb93a386Sopenharmony_ci%362 = OpLabel 671cb93a386Sopenharmony_ci%364 = OpLoad %v4float %_3_x 672cb93a386Sopenharmony_ci%365 = OpFOrdEqual %v4bool %364 %284 673cb93a386Sopenharmony_ci%366 = OpAll %bool %365 674cb93a386Sopenharmony_ciOpBranch %363 675cb93a386Sopenharmony_ci%363 = OpLabel 676cb93a386Sopenharmony_ci%367 = OpPhi %bool %false %352 %366 %362 677cb93a386Sopenharmony_ciOpStore %_0_ok %367 678cb93a386Sopenharmony_ci%369 = OpLoad %v4float %_2_inputGreen 679cb93a386Sopenharmony_ci%370 = OpVectorShuffle %v4float %369 %369 1 3 0 2 680cb93a386Sopenharmony_ci%371 = OpCompositeConstruct %v4float %float_10 %float_10 %float_10 %float_10 681cb93a386Sopenharmony_ci%372 = OpFSub %v4float %371 %370 682cb93a386Sopenharmony_ciOpStore %_3_x %372 683cb93a386Sopenharmony_ci%373 = OpLoad %bool %_0_ok 684cb93a386Sopenharmony_ciOpSelectionMerge %375 None 685cb93a386Sopenharmony_ciOpBranchConditional %373 %374 %375 686cb93a386Sopenharmony_ci%374 = OpLabel 687cb93a386Sopenharmony_ci%376 = OpLoad %v4float %_3_x 688cb93a386Sopenharmony_ci%378 = OpFOrdEqual %v4bool %376 %377 689cb93a386Sopenharmony_ci%379 = OpAll %bool %378 690cb93a386Sopenharmony_ciOpBranch %375 691cb93a386Sopenharmony_ci%375 = OpLabel 692cb93a386Sopenharmony_ci%380 = OpPhi %bool %false %363 %379 %374 693cb93a386Sopenharmony_ciOpStore %_0_ok %380 694cb93a386Sopenharmony_ci%381 = OpLoad %v4float %_1_inputRed 695cb93a386Sopenharmony_ci%382 = OpCompositeExtract %float %381 0 696cb93a386Sopenharmony_ci%383 = OpLoad %v4float %_2_inputGreen 697cb93a386Sopenharmony_ci%384 = OpCompositeConstruct %v4float %382 %382 %382 %382 698cb93a386Sopenharmony_ci%385 = OpFAdd %v4float %384 %383 699cb93a386Sopenharmony_ciOpStore %_3_x %385 700cb93a386Sopenharmony_ci%386 = OpLoad %bool %_0_ok 701cb93a386Sopenharmony_ciOpSelectionMerge %388 None 702cb93a386Sopenharmony_ciOpBranchConditional %386 %387 %388 703cb93a386Sopenharmony_ci%387 = OpLabel 704cb93a386Sopenharmony_ci%389 = OpLoad %v4float %_3_x 705cb93a386Sopenharmony_ci%391 = OpFOrdEqual %v4bool %389 %390 706cb93a386Sopenharmony_ci%392 = OpAll %bool %391 707cb93a386Sopenharmony_ciOpBranch %388 708cb93a386Sopenharmony_ci%388 = OpLabel 709cb93a386Sopenharmony_ci%393 = OpPhi %bool %false %375 %392 %387 710cb93a386Sopenharmony_ciOpStore %_0_ok %393 711cb93a386Sopenharmony_ci%394 = OpLoad %v4float %_2_inputGreen 712cb93a386Sopenharmony_ci%395 = OpVectorShuffle %v3float %394 %394 3 1 3 713cb93a386Sopenharmony_ci%396 = OpVectorTimesScalar %v3float %395 %float_9 714cb93a386Sopenharmony_ci%397 = OpLoad %v4float %_3_x 715cb93a386Sopenharmony_ci%398 = OpVectorShuffle %v4float %397 %396 4 5 6 3 716cb93a386Sopenharmony_ciOpStore %_3_x %398 717cb93a386Sopenharmony_ci%399 = OpLoad %bool %_0_ok 718cb93a386Sopenharmony_ciOpSelectionMerge %401 None 719cb93a386Sopenharmony_ciOpBranchConditional %399 %400 %401 720cb93a386Sopenharmony_ci%400 = OpLabel 721cb93a386Sopenharmony_ci%402 = OpLoad %v4float %_3_x 722cb93a386Sopenharmony_ci%403 = OpFOrdEqual %v4bool %402 %327 723cb93a386Sopenharmony_ci%404 = OpAll %bool %403 724cb93a386Sopenharmony_ciOpBranch %401 725cb93a386Sopenharmony_ci%401 = OpLabel 726cb93a386Sopenharmony_ci%405 = OpPhi %bool %false %388 %404 %400 727cb93a386Sopenharmony_ciOpStore %_0_ok %405 728cb93a386Sopenharmony_ci%407 = OpLoad %v4float %_3_x 729cb93a386Sopenharmony_ci%408 = OpVectorShuffle %v2float %407 %407 2 3 730cb93a386Sopenharmony_ci%409 = OpCompositeConstruct %v2float %float_36 %float_36 731cb93a386Sopenharmony_ci%410 = OpFDiv %v2float %409 %408 732cb93a386Sopenharmony_ci%411 = OpLoad %v4float %_3_x 733cb93a386Sopenharmony_ci%412 = OpVectorShuffle %v4float %411 %410 4 5 2 3 734cb93a386Sopenharmony_ciOpStore %_3_x %412 735cb93a386Sopenharmony_ci%413 = OpLoad %bool %_0_ok 736cb93a386Sopenharmony_ciOpSelectionMerge %415 None 737cb93a386Sopenharmony_ciOpBranchConditional %413 %414 %415 738cb93a386Sopenharmony_ci%414 = OpLabel 739cb93a386Sopenharmony_ci%416 = OpLoad %v4float %_3_x 740cb93a386Sopenharmony_ci%418 = OpFOrdEqual %v4bool %416 %417 741cb93a386Sopenharmony_ci%419 = OpAll %bool %418 742cb93a386Sopenharmony_ciOpBranch %415 743cb93a386Sopenharmony_ci%415 = OpLabel 744cb93a386Sopenharmony_ci%420 = OpPhi %bool %false %401 %419 %414 745cb93a386Sopenharmony_ciOpStore %_0_ok %420 746cb93a386Sopenharmony_ci%421 = OpLoad %v4float %_3_x 747cb93a386Sopenharmony_ci%422 = OpCompositeConstruct %v4float %float_36 %float_36 %float_36 %float_36 748cb93a386Sopenharmony_ci%423 = OpFDiv %v4float %422 %421 749cb93a386Sopenharmony_ci%424 = OpVectorShuffle %v4float %423 %423 1 0 3 2 750cb93a386Sopenharmony_ciOpStore %_3_x %424 751cb93a386Sopenharmony_ci%425 = OpLoad %bool %_0_ok 752cb93a386Sopenharmony_ciOpSelectionMerge %427 None 753cb93a386Sopenharmony_ciOpBranchConditional %425 %426 %427 754cb93a386Sopenharmony_ci%426 = OpLabel 755cb93a386Sopenharmony_ci%428 = OpLoad %v4float %_3_x 756cb93a386Sopenharmony_ci%430 = OpFOrdEqual %v4bool %428 %429 757cb93a386Sopenharmony_ci%431 = OpAll %bool %430 758cb93a386Sopenharmony_ciOpBranch %427 759cb93a386Sopenharmony_ci%427 = OpLabel 760cb93a386Sopenharmony_ci%432 = OpPhi %bool %false %415 %431 %426 761cb93a386Sopenharmony_ciOpStore %_0_ok %432 762cb93a386Sopenharmony_ci%433 = OpLoad %v4float %_3_x 763cb93a386Sopenharmony_ci%434 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 764cb93a386Sopenharmony_ci%435 = OpFAdd %v4float %433 %434 765cb93a386Sopenharmony_ciOpStore %_3_x %435 766cb93a386Sopenharmony_ci%436 = OpLoad %v4float %_3_x 767cb93a386Sopenharmony_ci%437 = OpVectorTimesScalar %v4float %436 %float_2 768cb93a386Sopenharmony_ciOpStore %_3_x %437 769cb93a386Sopenharmony_ci%438 = OpLoad %v4float %_3_x 770cb93a386Sopenharmony_ci%439 = OpCompositeConstruct %v4float %float_4 %float_4 %float_4 %float_4 771cb93a386Sopenharmony_ci%440 = OpFSub %v4float %438 %439 772cb93a386Sopenharmony_ciOpStore %_3_x %440 773cb93a386Sopenharmony_ci%441 = OpLoad %v4float %_3_x 774cb93a386Sopenharmony_ci%442 = OpFDiv %float %float_1 %float_2 775cb93a386Sopenharmony_ci%443 = OpVectorTimesScalar %v4float %441 %442 776cb93a386Sopenharmony_ciOpStore %_3_x %443 777cb93a386Sopenharmony_ci%444 = OpLoad %bool %_0_ok 778cb93a386Sopenharmony_ciOpSelectionMerge %446 None 779cb93a386Sopenharmony_ciOpBranchConditional %444 %445 %446 780cb93a386Sopenharmony_ci%445 = OpLabel 781cb93a386Sopenharmony_ci%447 = OpLoad %v4float %_3_x 782cb93a386Sopenharmony_ci%448 = OpFOrdEqual %v4bool %447 %429 783cb93a386Sopenharmony_ci%449 = OpAll %bool %448 784cb93a386Sopenharmony_ciOpBranch %446 785cb93a386Sopenharmony_ci%446 = OpLabel 786cb93a386Sopenharmony_ci%450 = OpPhi %bool %false %427 %449 %445 787cb93a386Sopenharmony_ciOpStore %_0_ok %450 788cb93a386Sopenharmony_ci%451 = OpLoad %v4float %_3_x 789cb93a386Sopenharmony_ci%452 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 790cb93a386Sopenharmony_ci%453 = OpFAdd %v4float %451 %452 791cb93a386Sopenharmony_ciOpStore %_3_x %453 792cb93a386Sopenharmony_ci%454 = OpLoad %v4float %_3_x 793cb93a386Sopenharmony_ci%455 = OpVectorTimesScalar %v4float %454 %float_2 794cb93a386Sopenharmony_ciOpStore %_3_x %455 795cb93a386Sopenharmony_ci%456 = OpLoad %v4float %_3_x 796cb93a386Sopenharmony_ci%457 = OpCompositeConstruct %v4float %float_4 %float_4 %float_4 %float_4 797cb93a386Sopenharmony_ci%458 = OpFSub %v4float %456 %457 798cb93a386Sopenharmony_ciOpStore %_3_x %458 799cb93a386Sopenharmony_ci%459 = OpLoad %v4float %_3_x 800cb93a386Sopenharmony_ci%461 = OpVectorTimesScalar %v4float %459 %float_0_5 801cb93a386Sopenharmony_ciOpStore %_3_x %461 802cb93a386Sopenharmony_ci%462 = OpLoad %bool %_0_ok 803cb93a386Sopenharmony_ciOpSelectionMerge %464 None 804cb93a386Sopenharmony_ciOpBranchConditional %462 %463 %464 805cb93a386Sopenharmony_ci%463 = OpLabel 806cb93a386Sopenharmony_ci%465 = OpLoad %v4float %_3_x 807cb93a386Sopenharmony_ci%466 = OpFOrdEqual %v4bool %465 %429 808cb93a386Sopenharmony_ci%467 = OpAll %bool %466 809cb93a386Sopenharmony_ciOpBranch %464 810cb93a386Sopenharmony_ci%464 = OpLabel 811cb93a386Sopenharmony_ci%468 = OpPhi %bool %false %446 %467 %463 812cb93a386Sopenharmony_ciOpStore %_0_ok %468 813cb93a386Sopenharmony_ci%469 = OpLoad %bool %_0_ok 814cb93a386Sopenharmony_ciOpSelectionMerge %471 None 815cb93a386Sopenharmony_ciOpBranchConditional %469 %470 %471 816cb93a386Sopenharmony_ci%470 = OpLabel 817cb93a386Sopenharmony_ci%472 = OpFunctionCall %bool %test_int_b 818cb93a386Sopenharmony_ciOpBranch %471 819cb93a386Sopenharmony_ci%471 = OpLabel 820cb93a386Sopenharmony_ci%473 = OpPhi %bool %false %464 %472 %470 821cb93a386Sopenharmony_ciOpSelectionMerge %477 None 822cb93a386Sopenharmony_ciOpBranchConditional %473 %475 %476 823cb93a386Sopenharmony_ci%475 = OpLabel 824cb93a386Sopenharmony_ci%478 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 825cb93a386Sopenharmony_ci%479 = OpLoad %v4float %478 826cb93a386Sopenharmony_ciOpStore %474 %479 827cb93a386Sopenharmony_ciOpBranch %477 828cb93a386Sopenharmony_ci%476 = OpLabel 829cb93a386Sopenharmony_ci%480 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 830cb93a386Sopenharmony_ci%481 = OpLoad %v4float %480 831cb93a386Sopenharmony_ciOpStore %474 %481 832cb93a386Sopenharmony_ciOpBranch %477 833cb93a386Sopenharmony_ci%477 = OpLabel 834cb93a386Sopenharmony_ci%482 = OpLoad %v4float %474 835cb93a386Sopenharmony_ciOpReturnValue %482 836cb93a386Sopenharmony_ciOpFunctionEnd 837