1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor 5 OpExecutionMode %_entrypoint_v OriginUpperLeft 6 OpName %sk_FragColor "sk_FragColor" 7 OpName %_UniformBuffer "_UniformBuffer" 8 OpMemberName %_UniformBuffer 0 "colorGreen" 9 OpMemberName %_UniformBuffer 1 "colorRed" 10 OpName %_entrypoint_v "_entrypoint_v" 11 OpName %test_half_b "test_half_b" 12 OpName %ok "ok" 13 OpName %m1 "m1" 14 OpName %m3 "m3" 15 OpName %m4 "m4" 16 OpName %m5 "m5" 17 OpName %m7 "m7" 18 OpName %m9 "m9" 19 OpName %m10 "m10" 20 OpName %m11 "m11" 21 OpName %test_comma_b "test_comma_b" 22 OpName %x "x" 23 OpName %y "y" 24 OpName %main "main" 25 OpName %_0_ok "_0_ok" 26 OpName %_1_m1 "_1_m1" 27 OpName %_2_m3 "_2_m3" 28 OpName %_3_m4 "_3_m4" 29 OpName %_4_m5 "_4_m5" 30 OpName %_7_m10 "_7_m10" 31 OpName %_8_m11 "_8_m11" 32 OpDecorate %sk_FragColor RelaxedPrecision 33 OpDecorate %sk_FragColor Location 0 34 OpDecorate %sk_FragColor Index 0 35 OpMemberDecorate %_UniformBuffer 0 Offset 0 36 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 37 OpMemberDecorate %_UniformBuffer 1 Offset 16 38 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 39 OpDecorate %_UniformBuffer Block 40 OpDecorate %9 Binding 0 41 OpDecorate %9 DescriptorSet 0 42 OpDecorate %m1 RelaxedPrecision 43 OpDecorate %42 RelaxedPrecision 44 OpDecorate %44 RelaxedPrecision 45 OpDecorate %m3 RelaxedPrecision 46 OpDecorate %51 RelaxedPrecision 47 OpDecorate %53 RelaxedPrecision 48 OpDecorate %m4 RelaxedPrecision 49 OpDecorate %64 RelaxedPrecision 50 OpDecorate %66 RelaxedPrecision 51 OpDecorate %70 RelaxedPrecision 52 OpDecorate %79 RelaxedPrecision 53 OpDecorate %80 RelaxedPrecision 54 OpDecorate %82 RelaxedPrecision 55 OpDecorate %83 RelaxedPrecision 56 OpDecorate %m5 RelaxedPrecision 57 OpDecorate %91 RelaxedPrecision 58 OpDecorate %92 RelaxedPrecision 59 OpDecorate %93 RelaxedPrecision 60 OpDecorate %94 RelaxedPrecision 61 OpDecorate %95 RelaxedPrecision 62 OpDecorate %101 RelaxedPrecision 63 OpDecorate %103 RelaxedPrecision 64 OpDecorate %107 RelaxedPrecision 65 OpDecorate %108 RelaxedPrecision 66 OpDecorate %109 RelaxedPrecision 67 OpDecorate %117 RelaxedPrecision 68 OpDecorate %119 RelaxedPrecision 69 OpDecorate %m7 RelaxedPrecision 70 OpDecorate %130 RelaxedPrecision 71 OpDecorate %132 RelaxedPrecision 72 OpDecorate %m9 RelaxedPrecision 73 OpDecorate %148 RelaxedPrecision 74 OpDecorate %150 RelaxedPrecision 75 OpDecorate %153 RelaxedPrecision 76 OpDecorate %m10 RelaxedPrecision 77 OpDecorate %169 RelaxedPrecision 78 OpDecorate %171 RelaxedPrecision 79 OpDecorate %174 RelaxedPrecision 80 OpDecorate %177 RelaxedPrecision 81 OpDecorate %m11 RelaxedPrecision 82 OpDecorate %185 RelaxedPrecision 83 OpDecorate %186 RelaxedPrecision 84 OpDecorate %187 RelaxedPrecision 85 OpDecorate %188 RelaxedPrecision 86 OpDecorate %189 RelaxedPrecision 87 OpDecorate %197 RelaxedPrecision 88 OpDecorate %199 RelaxedPrecision 89 OpDecorate %202 RelaxedPrecision 90 OpDecorate %205 RelaxedPrecision 91 OpDecorate %314 RelaxedPrecision 92 OpDecorate %316 RelaxedPrecision 93 OpDecorate %317 RelaxedPrecision 94 %float = OpTypeFloat 32 95 %v4float = OpTypeVector %float 4 96%_ptr_Output_v4float = OpTypePointer Output %v4float 97%sk_FragColor = OpVariable %_ptr_Output_v4float Output 98%_UniformBuffer = OpTypeStruct %v4float %v4float 99%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 100 %9 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 101 %void = OpTypeVoid 102 %14 = OpTypeFunction %void 103 %float_0 = OpConstant %float 0 104 %v2float = OpTypeVector %float 2 105 %18 = OpConstantComposite %v2float %float_0 %float_0 106%_ptr_Function_v2float = OpTypePointer Function %v2float 107 %bool = OpTypeBool 108 %23 = OpTypeFunction %bool 109%_ptr_Function_bool = OpTypePointer Function %bool 110 %true = OpConstantTrue %bool 111%mat2v2float = OpTypeMatrix %v2float 2 112%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float 113 %float_1 = OpConstant %float 1 114 %float_2 = OpConstant %float 2 115 %float_3 = OpConstant %float 3 116 %float_4 = OpConstant %float 4 117 %35 = OpConstantComposite %v2float %float_1 %float_2 118 %36 = OpConstantComposite %v2float %float_3 %float_4 119 %37 = OpConstantComposite %mat2v2float %35 %36 120 %false = OpConstantFalse %bool 121 %v2bool = OpTypeVector %bool 2 122 %float_6 = OpConstant %float 6 123 %59 = OpConstantComposite %v2float %float_6 %float_0 124 %60 = OpConstantComposite %v2float %float_0 %float_6 125 %61 = OpConstantComposite %mat2v2float %59 %60 126 %float_12 = OpConstant %float 12 127 %float_18 = OpConstant %float 18 128 %float_24 = OpConstant %float 24 129 %76 = OpConstantComposite %v2float %float_6 %float_12 130 %77 = OpConstantComposite %v2float %float_18 %float_24 131 %78 = OpConstantComposite %mat2v2float %76 %77 132 %int = OpTypeInt 32 1 133 %int_1 = OpConstant %int 1 134 %98 = OpConstantComposite %v2float %float_4 %float_0 135 %99 = OpConstantComposite %v2float %float_0 %float_4 136 %100 = OpConstantComposite %mat2v2float %98 %99 137 %float_5 = OpConstant %float 5 138 %float_8 = OpConstant %float 8 139 %114 = OpConstantComposite %v2float %float_5 %float_2 140 %115 = OpConstantComposite %v2float %float_3 %float_8 141 %116 = OpConstantComposite %mat2v2float %114 %115 142 %float_7 = OpConstant %float 7 143 %125 = OpConstantComposite %v2float %float_5 %float_6 144 %126 = OpConstantComposite %v2float %float_7 %float_8 145 %127 = OpConstantComposite %mat2v2float %125 %126 146 %v3float = OpTypeVector %float 3 147%mat3v3float = OpTypeMatrix %v3float 3 148%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float 149 %float_9 = OpConstant %float 9 150 %141 = OpConstantComposite %v3float %float_9 %float_0 %float_0 151 %142 = OpConstantComposite %v3float %float_0 %float_9 %float_0 152 %143 = OpConstantComposite %v3float %float_0 %float_0 %float_9 153 %144 = OpConstantComposite %mat3v3float %141 %142 %143 154 %v3bool = OpTypeVector %bool 3 155%mat4v4float = OpTypeMatrix %v4float 4 156%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float 157 %float_11 = OpConstant %float 11 158 %161 = OpConstantComposite %v4float %float_11 %float_0 %float_0 %float_0 159 %162 = OpConstantComposite %v4float %float_0 %float_11 %float_0 %float_0 160 %163 = OpConstantComposite %v4float %float_0 %float_0 %float_11 %float_0 161 %164 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_11 162 %165 = OpConstantComposite %mat4v4float %161 %162 %163 %164 163 %v4bool = OpTypeVector %bool 4 164 %float_20 = OpConstant %float 20 165 %183 = OpConstantComposite %v4float %float_20 %float_20 %float_20 %float_20 166 %184 = OpConstantComposite %mat4v4float %183 %183 %183 %183 167 %192 = OpConstantComposite %v4float %float_9 %float_20 %float_20 %float_20 168 %193 = OpConstantComposite %v4float %float_20 %float_9 %float_20 %float_20 169 %194 = OpConstantComposite %v4float %float_20 %float_20 %float_9 %float_20 170 %195 = OpConstantComposite %v4float %float_20 %float_20 %float_20 %float_9 171 %196 = OpConstantComposite %mat4v4float %192 %193 %194 %195 172 %217 = OpTypeFunction %v4float %_ptr_Function_v2float 173%_ptr_Function_v4float = OpTypePointer Function %v4float 174%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 175 %int_0 = OpConstant %int 0 176%_entrypoint_v = OpFunction %void None %14 177 %15 = OpLabel 178 %19 = OpVariable %_ptr_Function_v2float Function 179 OpStore %19 %18 180 %21 = OpFunctionCall %v4float %main %19 181 OpStore %sk_FragColor %21 182 OpReturn 183 OpFunctionEnd 184%test_half_b = OpFunction %bool None %23 185 %24 = OpLabel 186 %ok = OpVariable %_ptr_Function_bool Function 187 %m1 = OpVariable %_ptr_Function_mat2v2float Function 188 %m3 = OpVariable %_ptr_Function_mat2v2float Function 189 %m4 = OpVariable %_ptr_Function_mat2v2float Function 190 %m5 = OpVariable %_ptr_Function_mat2v2float Function 191 %m7 = OpVariable %_ptr_Function_mat2v2float Function 192 %m9 = OpVariable %_ptr_Function_mat3v3float Function 193 %m10 = OpVariable %_ptr_Function_mat4v4float Function 194 %m11 = OpVariable %_ptr_Function_mat4v4float Function 195 OpStore %ok %true 196 OpStore %m1 %37 197 OpSelectionMerge %40 None 198 OpBranchConditional %true %39 %40 199 %39 = OpLabel 200 %42 = OpFOrdEqual %v2bool %35 %35 201 %43 = OpAll %bool %42 202 %44 = OpFOrdEqual %v2bool %36 %36 203 %45 = OpAll %bool %44 204 %46 = OpLogicalAnd %bool %43 %45 205 OpBranch %40 206 %40 = OpLabel 207 %47 = OpPhi %bool %false %24 %46 %39 208 OpStore %ok %47 209 OpStore %m3 %37 210 OpSelectionMerge %50 None 211 OpBranchConditional %47 %49 %50 212 %49 = OpLabel 213 %51 = OpFOrdEqual %v2bool %35 %35 214 %52 = OpAll %bool %51 215 %53 = OpFOrdEqual %v2bool %36 %36 216 %54 = OpAll %bool %53 217 %55 = OpLogicalAnd %bool %52 %54 218 OpBranch %50 219 %50 = OpLabel 220 %56 = OpPhi %bool %false %40 %55 %49 221 OpStore %ok %56 222 OpStore %m4 %61 223 OpSelectionMerge %63 None 224 OpBranchConditional %56 %62 %63 225 %62 = OpLabel 226 %64 = OpFOrdEqual %v2bool %59 %59 227 %65 = OpAll %bool %64 228 %66 = OpFOrdEqual %v2bool %60 %60 229 %67 = OpAll %bool %66 230 %68 = OpLogicalAnd %bool %65 %67 231 OpBranch %63 232 %63 = OpLabel 233 %69 = OpPhi %bool %false %50 %68 %62 234 OpStore %ok %69 235 %70 = OpMatrixTimesMatrix %mat2v2float %37 %61 236 OpStore %m3 %70 237 OpSelectionMerge %72 None 238 OpBranchConditional %69 %71 %72 239 %71 = OpLabel 240 %79 = OpCompositeExtract %v2float %70 0 241 %80 = OpFOrdEqual %v2bool %79 %76 242 %81 = OpAll %bool %80 243 %82 = OpCompositeExtract %v2float %70 1 244 %83 = OpFOrdEqual %v2bool %82 %77 245 %84 = OpAll %bool %83 246 %85 = OpLogicalAnd %bool %81 %84 247 OpBranch %72 248 %72 = OpLabel 249 %86 = OpPhi %bool %false %63 %85 %71 250 OpStore %ok %86 251 %90 = OpAccessChain %_ptr_Function_v2float %m1 %int_1 252 %91 = OpLoad %v2float %90 253 %92 = OpCompositeExtract %float %91 1 254 %93 = OpCompositeConstruct %v2float %92 %float_0 255 %94 = OpCompositeConstruct %v2float %float_0 %92 256 %95 = OpCompositeConstruct %mat2v2float %93 %94 257 OpStore %m5 %95 258 OpSelectionMerge %97 None 259 OpBranchConditional %86 %96 %97 260 %96 = OpLabel 261 %101 = OpFOrdEqual %v2bool %93 %98 262 %102 = OpAll %bool %101 263 %103 = OpFOrdEqual %v2bool %94 %99 264 %104 = OpAll %bool %103 265 %105 = OpLogicalAnd %bool %102 %104 266 OpBranch %97 267 %97 = OpLabel 268 %106 = OpPhi %bool %false %72 %105 %96 269 OpStore %ok %106 270 %107 = OpFAdd %v2float %35 %93 271 %108 = OpFAdd %v2float %36 %94 272 %109 = OpCompositeConstruct %mat2v2float %107 %108 273 OpStore %m1 %109 274 OpSelectionMerge %111 None 275 OpBranchConditional %106 %110 %111 276 %110 = OpLabel 277 %117 = OpFOrdEqual %v2bool %107 %114 278 %118 = OpAll %bool %117 279 %119 = OpFOrdEqual %v2bool %108 %115 280 %120 = OpAll %bool %119 281 %121 = OpLogicalAnd %bool %118 %120 282 OpBranch %111 283 %111 = OpLabel 284 %122 = OpPhi %bool %false %97 %121 %110 285 OpStore %ok %122 286 OpStore %m7 %127 287 OpSelectionMerge %129 None 288 OpBranchConditional %122 %128 %129 289 %128 = OpLabel 290 %130 = OpFOrdEqual %v2bool %125 %125 291 %131 = OpAll %bool %130 292 %132 = OpFOrdEqual %v2bool %126 %126 293 %133 = OpAll %bool %132 294 %134 = OpLogicalAnd %bool %131 %133 295 OpBranch %129 296 %129 = OpLabel 297 %135 = OpPhi %bool %false %111 %134 %128 298 OpStore %ok %135 299 OpStore %m9 %144 300 OpSelectionMerge %146 None 301 OpBranchConditional %135 %145 %146 302 %145 = OpLabel 303 %148 = OpFOrdEqual %v3bool %141 %141 304 %149 = OpAll %bool %148 305 %150 = OpFOrdEqual %v3bool %142 %142 306 %151 = OpAll %bool %150 307 %152 = OpLogicalAnd %bool %149 %151 308 %153 = OpFOrdEqual %v3bool %143 %143 309 %154 = OpAll %bool %153 310 %155 = OpLogicalAnd %bool %152 %154 311 OpBranch %146 312 %146 = OpLabel 313 %156 = OpPhi %bool %false %129 %155 %145 314 OpStore %ok %156 315 OpStore %m10 %165 316 OpSelectionMerge %167 None 317 OpBranchConditional %156 %166 %167 318 %166 = OpLabel 319 %169 = OpFOrdEqual %v4bool %161 %161 320 %170 = OpAll %bool %169 321 %171 = OpFOrdEqual %v4bool %162 %162 322 %172 = OpAll %bool %171 323 %173 = OpLogicalAnd %bool %170 %172 324 %174 = OpFOrdEqual %v4bool %163 %163 325 %175 = OpAll %bool %174 326 %176 = OpLogicalAnd %bool %173 %175 327 %177 = OpFOrdEqual %v4bool %164 %164 328 %178 = OpAll %bool %177 329 %179 = OpLogicalAnd %bool %176 %178 330 OpBranch %167 331 %167 = OpLabel 332 %180 = OpPhi %bool %false %146 %179 %166 333 OpStore %ok %180 334 OpStore %m11 %184 335 %185 = OpFSub %v4float %183 %161 336 %186 = OpFSub %v4float %183 %162 337 %187 = OpFSub %v4float %183 %163 338 %188 = OpFSub %v4float %183 %164 339 %189 = OpCompositeConstruct %mat4v4float %185 %186 %187 %188 340 OpStore %m11 %189 341 OpSelectionMerge %191 None 342 OpBranchConditional %180 %190 %191 343 %190 = OpLabel 344 %197 = OpFOrdEqual %v4bool %185 %192 345 %198 = OpAll %bool %197 346 %199 = OpFOrdEqual %v4bool %186 %193 347 %200 = OpAll %bool %199 348 %201 = OpLogicalAnd %bool %198 %200 349 %202 = OpFOrdEqual %v4bool %187 %194 350 %203 = OpAll %bool %202 351 %204 = OpLogicalAnd %bool %201 %203 352 %205 = OpFOrdEqual %v4bool %188 %195 353 %206 = OpAll %bool %205 354 %207 = OpLogicalAnd %bool %204 %206 355 OpBranch %191 356 %191 = OpLabel 357 %208 = OpPhi %bool %false %167 %207 %190 358 OpStore %ok %208 359 OpReturnValue %208 360 OpFunctionEnd 361%test_comma_b = OpFunction %bool None %23 362 %209 = OpLabel 363 %x = OpVariable %_ptr_Function_mat2v2float Function 364 %y = OpVariable %_ptr_Function_mat2v2float Function 365 OpStore %x %37 366 OpStore %y %37 367 %212 = OpFOrdEqual %v2bool %35 %35 368 %213 = OpAll %bool %212 369 %214 = OpFOrdEqual %v2bool %36 %36 370 %215 = OpAll %bool %214 371 %216 = OpLogicalAnd %bool %213 %215 372 OpReturnValue %216 373 OpFunctionEnd 374 %main = OpFunction %v4float None %217 375 %218 = OpFunctionParameter %_ptr_Function_v2float 376 %219 = OpLabel 377 %_0_ok = OpVariable %_ptr_Function_bool Function 378 %_1_m1 = OpVariable %_ptr_Function_mat2v2float Function 379 %_2_m3 = OpVariable %_ptr_Function_mat2v2float Function 380 %_3_m4 = OpVariable %_ptr_Function_mat2v2float Function 381 %_4_m5 = OpVariable %_ptr_Function_mat2v2float Function 382 %_7_m10 = OpVariable %_ptr_Function_mat4v4float Function 383 %_8_m11 = OpVariable %_ptr_Function_mat4v4float Function 384 %306 = OpVariable %_ptr_Function_v4float Function 385 OpStore %_0_ok %true 386 OpStore %_1_m1 %37 387 OpSelectionMerge %223 None 388 OpBranchConditional %true %222 %223 389 %222 = OpLabel 390 %224 = OpFOrdEqual %v2bool %35 %35 391 %225 = OpAll %bool %224 392 %226 = OpFOrdEqual %v2bool %36 %36 393 %227 = OpAll %bool %226 394 %228 = OpLogicalAnd %bool %225 %227 395 OpBranch %223 396 %223 = OpLabel 397 %229 = OpPhi %bool %false %219 %228 %222 398 OpStore %_0_ok %229 399 OpStore %_2_m3 %37 400 OpSelectionMerge %232 None 401 OpBranchConditional %229 %231 %232 402 %231 = OpLabel 403 %233 = OpFOrdEqual %v2bool %35 %35 404 %234 = OpAll %bool %233 405 %235 = OpFOrdEqual %v2bool %36 %36 406 %236 = OpAll %bool %235 407 %237 = OpLogicalAnd %bool %234 %236 408 OpBranch %232 409 %232 = OpLabel 410 %238 = OpPhi %bool %false %223 %237 %231 411 OpStore %_0_ok %238 412 OpStore %_3_m4 %61 413 %240 = OpMatrixTimesMatrix %mat2v2float %37 %61 414 OpStore %_2_m3 %240 415 OpSelectionMerge %242 None 416 OpBranchConditional %238 %241 %242 417 %241 = OpLabel 418 %243 = OpCompositeExtract %v2float %240 0 419 %244 = OpFOrdEqual %v2bool %243 %76 420 %245 = OpAll %bool %244 421 %246 = OpCompositeExtract %v2float %240 1 422 %247 = OpFOrdEqual %v2bool %246 %77 423 %248 = OpAll %bool %247 424 %249 = OpLogicalAnd %bool %245 %248 425 OpBranch %242 426 %242 = OpLabel 427 %250 = OpPhi %bool %false %232 %249 %241 428 OpStore %_0_ok %250 429 %252 = OpAccessChain %_ptr_Function_v2float %_1_m1 %int_1 430 %253 = OpLoad %v2float %252 431 %254 = OpCompositeExtract %float %253 1 432 %255 = OpCompositeConstruct %v2float %254 %float_0 433 %256 = OpCompositeConstruct %v2float %float_0 %254 434 %257 = OpCompositeConstruct %mat2v2float %255 %256 435 OpStore %_4_m5 %257 436 OpSelectionMerge %259 None 437 OpBranchConditional %250 %258 %259 438 %258 = OpLabel 439 %260 = OpFOrdEqual %v2bool %255 %98 440 %261 = OpAll %bool %260 441 %262 = OpFOrdEqual %v2bool %256 %99 442 %263 = OpAll %bool %262 443 %264 = OpLogicalAnd %bool %261 %263 444 OpBranch %259 445 %259 = OpLabel 446 %265 = OpPhi %bool %false %242 %264 %258 447 OpStore %_0_ok %265 448 %266 = OpFAdd %v2float %35 %255 449 %267 = OpFAdd %v2float %36 %256 450 %268 = OpCompositeConstruct %mat2v2float %266 %267 451 OpStore %_1_m1 %268 452 OpSelectionMerge %270 None 453 OpBranchConditional %265 %269 %270 454 %269 = OpLabel 455 %271 = OpFOrdEqual %v2bool %266 %114 456 %272 = OpAll %bool %271 457 %273 = OpFOrdEqual %v2bool %267 %115 458 %274 = OpAll %bool %273 459 %275 = OpLogicalAnd %bool %272 %274 460 OpBranch %270 461 %270 = OpLabel 462 %276 = OpPhi %bool %false %259 %275 %269 463 OpStore %_0_ok %276 464 OpStore %_7_m10 %165 465 OpStore %_8_m11 %184 466 %279 = OpFSub %v4float %183 %161 467 %280 = OpFSub %v4float %183 %162 468 %281 = OpFSub %v4float %183 %163 469 %282 = OpFSub %v4float %183 %164 470 %283 = OpCompositeConstruct %mat4v4float %279 %280 %281 %282 471 OpStore %_8_m11 %283 472 OpSelectionMerge %285 None 473 OpBranchConditional %276 %284 %285 474 %284 = OpLabel 475 %286 = OpFOrdEqual %v4bool %279 %192 476 %287 = OpAll %bool %286 477 %288 = OpFOrdEqual %v4bool %280 %193 478 %289 = OpAll %bool %288 479 %290 = OpLogicalAnd %bool %287 %289 480 %291 = OpFOrdEqual %v4bool %281 %194 481 %292 = OpAll %bool %291 482 %293 = OpLogicalAnd %bool %290 %292 483 %294 = OpFOrdEqual %v4bool %282 %195 484 %295 = OpAll %bool %294 485 %296 = OpLogicalAnd %bool %293 %295 486 OpBranch %285 487 %285 = OpLabel 488 %297 = OpPhi %bool %false %270 %296 %284 489 OpStore %_0_ok %297 490 OpSelectionMerge %299 None 491 OpBranchConditional %297 %298 %299 492 %298 = OpLabel 493 %300 = OpFunctionCall %bool %test_half_b 494 OpBranch %299 495 %299 = OpLabel 496 %301 = OpPhi %bool %false %285 %300 %298 497 OpSelectionMerge %303 None 498 OpBranchConditional %301 %302 %303 499 %302 = OpLabel 500 %304 = OpFunctionCall %bool %test_comma_b 501 OpBranch %303 502 %303 = OpLabel 503 %305 = OpPhi %bool %false %299 %304 %302 504 OpSelectionMerge %310 None 505 OpBranchConditional %305 %308 %309 506 %308 = OpLabel 507 %311 = OpAccessChain %_ptr_Uniform_v4float %9 %int_0 508 %314 = OpLoad %v4float %311 509 OpStore %306 %314 510 OpBranch %310 511 %309 = OpLabel 512 %315 = OpAccessChain %_ptr_Uniform_v4float %9 %int_1 513 %316 = OpLoad %v4float %315 514 OpStore %306 %316 515 OpBranch %310 516 %310 = OpLabel 517 %317 = OpLoad %v4float %306 518 OpReturnValue %317 519 OpFunctionEnd 520