145 instructions 2 3store_src_rg coords = src.rg 4init_lane_masks CondMask = LoopMask = RetMask = true 5splat_4_constants x = 0x3F800000 (1.0) 6store_loop_mask $0 = LoopMask 7jump jump +12 (label 1 at #17) 8label label 0x00000002 9copy_slot_unmasked $1 = x(0) 10add_imm_float $1 += 0xBE800000 (-0.25) 11copy_slot_masked x(0) = Mask($1) 12store_condition_mask $1 = CondMask 13copy_slot_unmasked $2 = x(0) 14cmple_imm_float $2 = lessThanEqual($2, 0) 15merge_condition_mask CondMask = $1 & $2 16branch_if_all_lanes_active branch_if_all_lanes_active +9 (label 0 at #23) 17mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 18load_condition_mask CondMask = $1 19label label 0x00000001 20copy_slot_unmasked $1 = x(3) 21cmpeq_imm_float $1 = equal($1, 0x3F800000 (1.0)) 22merge_loop_mask LoopMask &= $1 23stack_rewind 24branch_if_any_lanes_active branch_if_any_lanes_active -16 (label 2 at #6) 25label label 0 26load_loop_mask LoopMask = $0 27store_loop_mask $0 = LoopMask 28jump jump +15 (label 4 at #41) 29label label 0x00000005 30copy_constant $4 = 0 31copy_slot_unmasked $1 = x(2) 32add_imm_float $1 += 0xBE800000 (-0.25) 33copy_slot_masked x(2) = Mask($1) 34store_condition_mask $1 = CondMask 35copy_slot_unmasked $2 = x(3) 36cmpeq_imm_float $2 = equal($2, 0x3F800000 (1.0)) 37merge_condition_mask CondMask = $1 & $2 38continue_op $4 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask) 39load_condition_mask CondMask = $1 40copy_constant $1 = 0 41copy_slot_masked x(1) = Mask($1) 42reenable_loop_mask LoopMask |= $4 43label label 0x00000004 44copy_constant $1 = 0 45copy_slot_unmasked $2 = x(2) 46cmplt_float $1 = lessThan($1, $2) 47merge_loop_mask LoopMask &= $1 48stack_rewind 49branch_if_any_lanes_active branch_if_any_lanes_active -20 (label 5 at #27) 50label label 0x00000003 51load_loop_mask LoopMask = $0 52copy_4_slots_unmasked $0..3 = x 53load_src src.rgba = $0..3 54