1165 instructions 2 3[immutable slots] 4i0 = 0x40000000 (2.0) 5i1 = 0x00000003 (4.203895e-45) 6i2 = 0x3F800000 (1.0) 7i3 = 0x40000000 (2.0) 8i4 = 0x40400000 (3.0) 9i5 = 0x40800000 (4.0) 10i6 = 0x00000005 (7.006492e-45) 11i7 = 0x00000006 (8.407791e-45) 12i8 = 0x00000007 (9.809089e-45) 13i9 = 0x3F800000 (1.0) 14i10 = 0x00000002 (2.802597e-45) 15i11 = 0x40000000 (2.0) 16i12 = 0x00000003 (4.203895e-45) 17 18store_src_rg coords = src.rg 19init_lane_masks CondMask = LoopMask = RetMask = true 20splat_2_constants s.x, s.y = 0 21copy_constant s.x = 0x3F800000 (1.0) 22copy_constant s.y = 0x00000002 (2.802597e-45) 23copy_2_slots_unmasked $0..1 = s.x, s.y 24label label 0 25copy_2_slots_unmasked s.x₁, s.y₁ = $0..1 26cast_to_float_from_int $1 = IntToFloat($1) 27add_float $0 += $1 28label label 0x00000001 29copy_slot_unmasked x = $0 30copy_2_slots_unmasked s.x₂, s.y₂ = s.x₁, s.y₁ 31add_imm_float s.x₂ += 0x3F800000 (1.0) 32add_imm_int s.y₂ += 0x00000001 33copy_2_slots_unmasked s.x₁, s.y₁ = s.x₂, s.y₂ 34label label 0x00000002 35copy_2_immutables_unmasked $0..1 = i0..1 [0x40000000 (2.0), 0x00000003 (4.203895e-45)] 36label label 0x00000003 37copy_2_slots_unmasked expected.x, expected.y = $0..1 38splat_4_constants n1.a.x, n1.a.y, n1.b.x, n1.b.y = 0 39splat_4_constants n2.a.x, n2.a.y, n2.b.x, n2.b.y = 0 40splat_4_constants n3.a.x, n3.a.y, n3.b.x, n3.b.y = 0 41splat_2_constants s.x, s.y = 0 42copy_constant s.x = 0x3F800000 (1.0) 43copy_constant s.y = 0x00000002 (2.802597e-45) 44copy_2_slots_unmasked $0..1 = s.x, s.y 45label label 0x00000004 46copy_2_slots_unmasked n1.a.x, n1.a.y = $0..1 47copy_2_slots_unmasked n1.b.x, n1.b.y = $0..1 48copy_4_slots_unmasked n2.a.x, n2.a.y, n2.b.x, n2.b.y = n1.a.x, n1.a.y, n1.b.x, n1.b.y 49copy_4_slots_unmasked n3.a.x, n3.a.y, n3.b.x, n3.b.y = n2.a.x, n2.a.y, n2.b.x, n2.b.y 50copy_2_slots_unmasked s.x₂, s.y₂ = n3.b.x, n3.b.y 51add_imm_float s.x₂ += 0x3F800000 (1.0) 52add_imm_int s.y₂ += 0x00000001 53copy_2_slots_unmasked n3.b.x, n3.b.y = s.x₂, s.y₂ 54label label 0x00000005 55copy_uniform c2.f4(0) = colorGreen(1) 56copy_constant c2.f4(1) = 0x40000000 (2.0) 57copy_constant c2.f4(2) = 0x40400000 (3.0) 58copy_constant c2.f4(3) = 0x40800000 (4.0) 59copy_3_immutables_unmasked c2.i3 = i6..8 [0x00000005 (7.006492e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45)] 60copy_uniform c3.f4(0) = colorGreen(0) 61copy_constant c3.f4(1) = 0x40000000 (2.0) 62copy_constant c3.f4(2) = 0x40400000 (3.0) 63copy_constant c3.f4(3) = 0x40800000 (4.0) 64copy_3_immutables_unmasked c3.i3 = i6..8 [0x00000005 (7.006492e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45)] 65store_condition_mask $12 = CondMask 66copy_slot_unmasked $13 = x 67cmpeq_imm_float $13 = equal($13, 0x40400000 (3.0)) 68copy_slot_unmasked $14 = s.x₁ 69cmpeq_imm_float $14 = equal($14, 0x40000000 (2.0)) 70bitwise_and_int $13 &= $14 71copy_slot_unmasked $14 = s.y₁ 72cmpeq_imm_int $14 = equal($14, 0x00000003) 73bitwise_and_int $13 &= $14 74copy_slot_unmasked $14 = s.x₁ 75copy_slot_unmasked $15 = expected.x 76cmpeq_float $14 = equal($14, $15) 77copy_slot_unmasked $15 = s.y₁ 78copy_slot_unmasked $16 = expected.y 79cmpeq_int $15 = equal($15, $16) 80bitwise_and_int $14 &= $15 81bitwise_and_int $13 &= $14 82copy_slot_unmasked $14 = s.x₁ 83copy_2_immutables_unmasked $17..18 = i0..1 [0x40000000 (2.0), 0x00000003 (4.203895e-45)] 84copy_slot_unmasked $15 = $17 85cmpeq_float $14 = equal($14, $15) 86copy_slot_unmasked $15 = s.y₁ 87copy_slot_unmasked $16 = $18 88cmpeq_int $15 = equal($15, $16) 89bitwise_and_int $14 &= $15 90bitwise_and_int $13 &= $14 91copy_constant $0 = 0 92merge_condition_mask CondMask = $12 & $13 93branch_if_no_lanes_active branch_if_no_lanes_active +17 (label 6 at #93) 94copy_slot_unmasked $1 = s.x₁ 95branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 7 at #85) 96splat_2_constants s.x, s.y = 0 97copy_constant $17 = 0x3F800000 (1.0) 98copy_slot_masked s.x = Mask($17) 99copy_constant $17 = 0x00000002 (2.802597e-45) 100copy_slot_masked s.y = Mask($17) 101copy_2_slots_unmasked $17..18 = s.x, s.y 102label label 0x00000007 103copy_slot_unmasked $2 = $17 104cmpne_float $1 = notEqual($1, $2) 105copy_slot_unmasked $2 = s.y₁ 106copy_slot_unmasked $3 = $18 107cmpne_int $2 = notEqual($2, $3) 108bitwise_or_int $1 |= $2 109copy_slot_masked $0 = Mask($1) 110label label 0x00000006 111load_condition_mask CondMask = $12 112copy_slot_unmasked $1 = n1.a.x 113copy_slot_unmasked $2 = n2.a.x 114cmpeq_float $1 = equal($1, $2) 115copy_slot_unmasked $2 = n1.a.y 116copy_slot_unmasked $3 = n2.a.y 117cmpeq_int $2 = equal($2, $3) 118bitwise_and_int $1 &= $2 119copy_slot_unmasked $2 = n1.b.x 120copy_slot_unmasked $3 = n2.b.x 121cmpeq_float $2 = equal($2, $3) 122copy_slot_unmasked $3 = n1.b.y 123copy_slot_unmasked $4 = n2.b.y 124cmpeq_int $3 = equal($3, $4) 125bitwise_and_int $2 &= $3 126bitwise_and_int $1 &= $2 127bitwise_and_int $0 &= $1 128copy_slot_unmasked $1 = n1.a.x 129copy_slot_unmasked $2 = n3.a.x 130cmpne_float $1 = notEqual($1, $2) 131copy_slot_unmasked $2 = n1.a.y 132copy_slot_unmasked $3 = n3.a.y 133cmpne_int $2 = notEqual($2, $3) 134bitwise_or_int $1 |= $2 135copy_slot_unmasked $2 = n1.b.x 136copy_slot_unmasked $3 = n3.b.x 137cmpne_float $2 = notEqual($2, $3) 138copy_slot_unmasked $3 = n1.b.y 139copy_slot_unmasked $4 = n3.b.y 140cmpne_int $3 = notEqual($3, $4) 141bitwise_or_int $2 |= $3 142bitwise_or_int $1 |= $2 143bitwise_and_int $0 &= $1 144copy_slot_unmasked $1 = n3.a.x 145copy_4_immutables_unmasked $12..15 = i9..12 [0x3F800000 (1.0), 0x00000002 (2.802597e-45), 0x40000000 (2.0), 0x00000003 (4.203895e-45)] 146copy_slot_unmasked $2 = $12 147cmpeq_float $1 = equal($1, $2) 148copy_slot_unmasked $2 = n3.a.y 149copy_slot_unmasked $3 = $13 150cmpeq_int $2 = equal($2, $3) 151bitwise_and_int $1 &= $2 152copy_slot_unmasked $2 = n3.b.x 153copy_slot_unmasked $3 = $14 154cmpeq_float $2 = equal($2, $3) 155copy_slot_unmasked $3 = n3.b.y 156copy_slot_unmasked $4 = $15 157cmpeq_int $3 = equal($3, $4) 158bitwise_and_int $2 &= $3 159bitwise_and_int $1 &= $2 160bitwise_and_int $0 &= $1 161copy_4_immutables_unmasked $1..4 = i2..5 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 162copy_4_slots_unmasked $5..8 = c2.f4 163cmpeq_4_floats $1..4 = equal($1..4, $5..8) 164bitwise_and_2_ints $1..2 &= $3..4 165bitwise_and_int $1 &= $2 166copy_3_immutables_unmasked $2..4 = i6..8 [0x00000005 (7.006492e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45)] 167copy_3_slots_unmasked $5..7 = c2.i3 168cmpeq_3_ints $2..4 = equal($2..4, $5..7) 169bitwise_and_int $3 &= $4 170bitwise_and_int $2 &= $3 171bitwise_and_int $1 &= $2 172bitwise_and_int $0 &= $1 173copy_4_slots_unmasked $1..4 = c2.f4 174copy_4_slots_unmasked $5..8 = c3.f4 175cmpne_4_floats $1..4 = notEqual($1..4, $5..8) 176bitwise_or_2_ints $1..2 |= $3..4 177bitwise_or_int $1 |= $2 178copy_3_slots_unmasked $2..4 = c2.i3 179copy_3_slots_unmasked $5..7 = c3.i3 180cmpne_3_ints $2..4 = notEqual($2..4, $5..7) 181bitwise_or_int $3 |= $4 182bitwise_or_int $2 |= $3 183bitwise_or_int $1 |= $2 184bitwise_and_int $0 &= $1 185copy_slot_unmasked valid = $0 186swizzle_4 $0..3 = ($0..3).xxxx 187copy_4_uniforms $4..7 = colorRed 188copy_4_uniforms $8..11 = colorGreen 189mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 190load_src src.rgba = $0..3 191