| store_src_rg coords = src.rg |
| init_lane_masks CondMask = LoopMask = RetMask = true |
| splat_4_constants x = 0x3F800000 (1.0) |
| store_loop_mask $0 = LoopMask |
| jump jump +12 (label 1 at #17) |
| label label 0x00000002 |
| copy_slot_unmasked $1 = x(0) |
| add_imm_float $1 += 0xBE800000 (-0.25) |
| copy_slot_masked x(0) = Mask($1) |
| store_condition_mask $1 = CondMask |
| copy_slot_unmasked $2 = x(0) |
| cmple_imm_float $2 = lessThanEqual($2, 0) |
| merge_condition_mask CondMask = $1 & $2 |
| branch_if_all_lanes_active branch_if_all_lanes_active +9 (label 0 at #23) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| load_condition_mask CondMask = $1 |
| label label 0x00000001 |
| copy_slot_unmasked $1 = x(3) |
| cmpeq_imm_float $1 = equal($1, 0x3F800000 (1.0)) |
| merge_loop_mask LoopMask &= $1 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -16 (label 2 at #6) |
| label label 0 |
| load_loop_mask LoopMask = $0 |
| store_loop_mask $0 = LoopMask |
| jump jump +15 (label 4 at #41) |
| label label 0x00000005 |
| copy_constant $4 = 0 |
| copy_slot_unmasked $1 = x(2) |
| add_imm_float $1 += 0xBE800000 (-0.25) |
| copy_slot_masked x(2) = Mask($1) |
| store_condition_mask $1 = CondMask |
| copy_slot_unmasked $2 = x(3) |
| cmpeq_imm_float $2 = equal($2, 0x3F800000 (1.0)) |
| merge_condition_mask CondMask = $1 & $2 |
| continue_op $4 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask) |
| load_condition_mask CondMask = $1 |
| copy_constant $1 = 0 |
| copy_slot_masked x(1) = Mask($1) |
| reenable_loop_mask LoopMask |= $4 |
| label label 0x00000004 |
| copy_constant $1 = 0 |
| copy_slot_unmasked $2 = x(2) |
| cmplt_float $1 = lessThan($1, $2) |
| merge_loop_mask LoopMask &= $1 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -20 (label 5 at #27) |
| label label 0x00000003 |
| load_loop_mask LoopMask = $0 |
| copy_4_slots_unmasked $0..3 = x |
| load_src src.rgba = $0..3 |