1105 instructions 2 3[immutable slots] 4i0 = 0 5i1 = 0x41200000 (10.0) 6i2 = 0x3F800000 (1.0) 7i3 = 0x40000000 (2.0) 8i4 = 0x40400000 (3.0) 9i5 = 0x40800000 (4.0) 10 11store_src_rg coords = src.rg 12init_lane_masks CondMask = LoopMask = RetMask = true 13splat_3_constants sumA, sumB, a = 0 14copy_constant b = 0x41200000 (10.0) 15store_loop_mask $0 = LoopMask 16jump jump +16 (label 1 at #22) 17label label 0x00000002 18copy_slot_unmasked $1 = sumA 19copy_slot_unmasked $2 = a 20add_float $1 += $2 21copy_slot_masked sumA = Mask($1) 22copy_slot_unmasked $1 = sumB 23copy_slot_unmasked $2 = b 24add_float $1 += $2 25copy_slot_masked sumB = Mask($1) 26copy_slot_unmasked $1 = a 27add_imm_float $1 += 0x3F800000 (1.0) 28copy_slot_masked a = Mask($1) 29copy_slot_unmasked $1 = b 30add_imm_float $1 += 0xBF800000 (-1.0) 31copy_slot_masked b = Mask($1) 32label label 0x00000001 33copy_slot_unmasked $1 = a 34cmplt_imm_float $1 = lessThan($1, 0x41200000 (10.0)) 35copy_constant $2 = 0 36copy_slot_unmasked $3 = b 37cmplt_float $2 = lessThan($2, $3) 38bitwise_and_int $1 &= $2 39merge_loop_mask LoopMask &= $1 40stack_rewind 41branch_if_any_lanes_active branch_if_any_lanes_active -24 (label 2 at #7) 42label label 0 43load_loop_mask LoopMask = $0 44store_condition_mask $0 = CondMask 45copy_slot_unmasked $1 = sumA 46cmpne_imm_float $1 = notEqual($1, 0x42340000 (45.0)) 47copy_slot_unmasked $2 = sumB 48cmpne_imm_float $2 = notEqual($2, 0x425C0000 (55.0)) 49bitwise_or_int $1 |= $2 50merge_condition_mask CondMask = $0 & $1 51copy_4_uniforms $2..5 = colorRed 52copy_4_slots_masked [main].result = Mask($2..5) 53mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 54load_condition_mask CondMask = $0 55splat_2_constants sumC, c = 0 56store_loop_mask $0 = LoopMask 57jump jump +8 (label 4 at #55) 58label label 0x00000005 59copy_2_slots_unmasked $1..2 = sumC, c 60add_int $1 += $2 61copy_slot_masked sumC = Mask($1) 62copy_slot_unmasked $1 = c 63add_imm_int $1 += 0x00000001 64copy_slot_masked c = Mask($1) 65label label 0x00000004 66copy_slot_unmasked $1 = c 67cmplt_imm_int $1 = lessThan($1, 0x0000000A) 68merge_loop_mask LoopMask &= $1 69stack_rewind 70branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 5 at #48) 71label label 0x00000003 72load_loop_mask LoopMask = $0 73store_condition_mask $0 = CondMask 74copy_slot_unmasked $1 = sumC 75cmpne_imm_int $1 = notEqual($1, 0x0000002D) 76merge_condition_mask CondMask = $0 & $1 77copy_4_uniforms $2..5 = colorRed 78copy_4_slots_masked [main].result = Mask($2..5) 79mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 80load_condition_mask CondMask = $0 81copy_constant sumE = 0 82copy_2_immutables_unmasked d[0], d[1] = i0..1 [0, 0x41200000 (10.0)] 83store_loop_mask $0 = LoopMask 84jump jump +9 (label 7 at #83) 85label label 0x00000008 86copy_slot_unmasked $1 = sumE 87copy_constant $2 = 0x3F800000 (1.0) 88add_float $1 += $2 89copy_slot_masked sumE = Mask($1) 90copy_slot_unmasked $1 = d[0] 91add_imm_float $1 += 0x3F800000 (1.0) 92copy_slot_masked d[0] = Mask($1) 93label label 0x00000007 94copy_2_slots_unmasked $1..2 = d[0], d[1] 95cmplt_float $1 = lessThan($1, $2) 96merge_loop_mask LoopMask &= $1 97stack_rewind 98branch_if_any_lanes_active branch_if_any_lanes_active -13 (label 8 at #75) 99label label 0x00000006 100load_loop_mask LoopMask = $0 101store_condition_mask $0 = CondMask 102copy_slot_unmasked $1 = sumE 103cmpne_imm_float $1 = notEqual($1, 0x41200000 (10.0)) 104merge_condition_mask CondMask = $0 & $1 105copy_4_uniforms $2..5 = colorRed 106copy_4_slots_masked [main].result = Mask($2..5) 107mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 108load_condition_mask CondMask = $0 109store_loop_mask $0 = LoopMask 110jump jump +4 (label 10 at #104) 111label label 0x0000000B 112branch_if_all_lanes_active branch_if_all_lanes_active +5 (label 9 at #107) 113mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 114label label 0x0000000A 115stack_rewind 116branch_if_any_lanes_active branch_if_any_lanes_active -5 (label 11 at #101) 117label label 0x00000009 118load_loop_mask LoopMask = $0 119store_loop_mask $0 = LoopMask 120jump jump +5 (label 13 at #115) 121label label 0x0000000E 122copy_4_uniforms $1..4 = colorGreen 123copy_4_slots_masked [main].result = Mask($1..4) 124mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 125label label 0x0000000D 126stack_rewind 127branch_if_any_lanes_active branch_if_any_lanes_active -6 (label 14 at #111) 128label label 0x0000000C 129load_loop_mask LoopMask = $0 130load_src src.rgba = [main].result 131