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