| 397 instructions |
| |
| [immutable slots] |
| i0 = 0x3F800000 (1.0) |
| i1 = 0 |
| i2 = 0x3F800000 (1.0) |
| i3 = 0 |
| i4 = 0 |
| i5 = 0x3F800000 (1.0) |
| i6 = 0x40000000 (2.0) |
| i7 = 0x40400000 (3.0) |
| i8 = 0x40800000 (4.0) |
| i9 = 0x40800000 (4.0) |
| i10 = 0x40A00000 (5.0) |
| i11 = 0x40C00000 (6.0) |
| i12 = 0x41500000 (13.0) |
| i13 = 0x41600000 (14.0) |
| |
| store_src_rg coords = src.rg |
| init_lane_masks CondMask = LoopMask = RetMask = true |
| copy_constant _0_ok = 0xFFFFFFFF |
| copy_constant _1_num = 0 |
| store_condition_mask $12 = CondMask |
| copy_slot_unmasked $13 = _0_ok |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +8 (label 0 at #17) |
| copy_slot_unmasked $1 = _1_num |
| add_imm_float $1 += 0x3F800000 (1.0) |
| copy_slot_masked _1_num = Mask($1) |
| copy_constant $2 = 0 |
| copy_slot_unmasked $1 = $2 |
| cmpeq_imm_float $1 = equal($1, 0) |
| copy_slot_masked $0 = Mask($1) |
| label label 0 |
| load_condition_mask CondMask = $12 |
| copy_slot_unmasked _0_ok = $0 |
| store_condition_mask $12 = CondMask |
| copy_slot_unmasked $13 = _0_ok |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 1 at #31) |
| copy_constant $1 = 0 |
| copy_slot_unmasked $2 = _1_num |
| add_imm_float $2 += 0x3F800000 (1.0) |
| copy_slot_masked _1_num = Mask($2) |
| cmpeq_imm_float $1 = equal($1, 0) |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000001 |
| load_condition_mask CondMask = $12 |
| copy_slot_unmasked _0_ok = $0 |
| store_condition_mask $12 = CondMask |
| copy_slot_unmasked $13 = _0_ok |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +11 (label 2 at #49) |
| copy_slot_unmasked $1 = _1_num |
| add_imm_float $1 += 0x3F800000 (1.0) |
| copy_slot_masked _1_num = Mask($1) |
| copy_constant $2 = 0x3F800000 (1.0) |
| copy_constant $3 = 0 |
| swizzle_2 $1..2 = ($1..3).yz |
| copy_2_immutables_unmasked $3..4 = i0..1 [0x3F800000 (1.0), 0] |
| cmpeq_2_floats $1..2 = equal($1..2, $3..4) |
| bitwise_and_int $1 &= $2 |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000002 |
| load_condition_mask CondMask = $12 |
| copy_slot_unmasked _0_ok = $0 |
| store_condition_mask $12 = CondMask |
| copy_slot_unmasked $13 = _0_ok |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +10 (label 3 at #66) |
| copy_constant $1 = 0x3F800000 (1.0) |
| copy_constant $2 = 0 |
| copy_slot_unmasked $3 = _1_num |
| add_imm_float $3 += 0x3F800000 (1.0) |
| copy_slot_masked _1_num = Mask($3) |
| copy_2_immutables_unmasked $3..4 = i0..1 [0x3F800000 (1.0), 0] |
| cmpeq_2_floats $1..2 = equal($1..2, $3..4) |
| bitwise_and_int $1 &= $2 |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000003 |
| load_condition_mask CondMask = $12 |
| copy_slot_unmasked _0_ok = $0 |
| store_condition_mask $12 = CondMask |
| copy_slot_unmasked $13 = _0_ok |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +11 (label 4 at #84) |
| copy_slot_unmasked $1 = _1_num |
| add_imm_float $1 += 0x3F800000 (1.0) |
| copy_slot_masked _1_num = Mask($1) |
| copy_constant $2 = 0x3F800000 (1.0) |
| copy_constant $3 = 0 |
| swizzle_2 $1..2 = ($1..3).yz |
| copy_2_immutables_unmasked $3..4 = i0..1 [0x3F800000 (1.0), 0] |
| cmpeq_2_floats $1..2 = equal($1..2, $3..4) |
| bitwise_and_int $1 &= $2 |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000004 |
| load_condition_mask CondMask = $12 |
| copy_slot_unmasked _0_ok = $0 |
| store_condition_mask $12 = CondMask |
| copy_slot_unmasked $13 = _0_ok |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +12 (label 5 at #103) |
| copy_slot_unmasked $1 = _1_num |
| add_imm_float $1 += 0x3F800000 (1.0) |
| copy_slot_masked _1_num = Mask($1) |
| copy_constant $2 = 0x3F800000 (1.0) |
| splat_2_constants $3..4 = 0 |
| swizzle_3 $1..3 = ($1..4).yzw |
| copy_3_immutables_unmasked $4..6 = i2..4 [0x3F800000 (1.0), 0, 0] |
| cmpeq_3_floats $1..3 = equal($1..3, $4..6) |
| bitwise_and_int $2 &= $3 |
| bitwise_and_int $1 &= $2 |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000005 |
| load_condition_mask CondMask = $12 |
| copy_slot_unmasked _0_ok = $0 |
| store_condition_mask $12 = CondMask |
| copy_slot_unmasked $13 = _0_ok |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 6 at #117) |
| copy_constant $1 = 0x3F800000 (1.0) |
| copy_slot_unmasked $2 = _1_num |
| add_imm_float $2 += 0x3F800000 (1.0) |
| copy_slot_masked _1_num = Mask($2) |
| cmpeq_imm_float $1 = equal($1, 0x3F800000 (1.0)) |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000006 |
| load_condition_mask CondMask = $12 |
| copy_slot_unmasked _0_ok = $0 |
| store_condition_mask $12 = CondMask |
| copy_slot_unmasked $13 = _0_ok |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +10 (label 7 at #134) |
| copy_constant $1 = 0x3F800000 (1.0) |
| copy_constant $2 = 0 |
| copy_slot_unmasked $3 = _1_num |
| add_imm_float $3 += 0x3F800000 (1.0) |
| copy_slot_masked _1_num = Mask($3) |
| copy_constant $4 = 0x3F800000 (1.0) |
| copy_slot_unmasked $1 = $4 |
| cmpeq_imm_float $1 = equal($1, 0x3F800000 (1.0)) |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000007 |
| load_condition_mask CondMask = $12 |
| copy_slot_unmasked _0_ok = $0 |
| store_condition_mask $12 = CondMask |
| copy_slot_unmasked $13 = _0_ok |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +12 (label 8 at #153) |
| copy_constant $1 = 0x3F800000 (1.0) |
| copy_constant $2 = 0 |
| copy_constant $3 = 0x3F800000 (1.0) |
| copy_slot_unmasked $4 = _1_num |
| add_imm_float $4 += 0x3F800000 (1.0) |
| copy_slot_masked _1_num = Mask($4) |
| copy_3_immutables_unmasked $4..6 = i0..2 [0x3F800000 (1.0), 0, 0x3F800000 (1.0)] |
| cmpeq_3_floats $1..3 = equal($1..3, $4..6) |
| bitwise_and_int $2 &= $3 |
| bitwise_and_int $1 &= $2 |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000008 |
| load_condition_mask CondMask = $12 |
| copy_slot_unmasked _0_ok = $0 |
| store_condition_mask $12 = CondMask |
| copy_2_slots_unmasked $13..14 = _0_ok, _1_num |
| cmpeq_imm_float $14 = equal($14, 0x41100000 (9.0)) |
| bitwise_and_int $13 &= $14 |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +251 (label 10 at #413) |
| copy_constant ok = 0xFFFFFFFF |
| copy_constant num = 0 |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +12 (label 12 at #181) |
| copy_constant $17 = 0x3F800000 (1.0) |
| copy_constant $18 = 0x40000000 (2.0) |
| copy_constant $19 = 0x40400000 (3.0) |
| copy_slot_unmasked $20 = num |
| add_imm_float $20 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($20) |
| copy_2_slots_unmasked $2..3 = $17..18 |
| copy_2_immutables_unmasked $4..5 = i5..6 [0x3F800000 (1.0), 0x40000000 (2.0)] |
| cmpeq_2_floats $2..3 = equal($2..3, $4..5) |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x0000000C |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +12 (label 13 at #200) |
| copy_slot_unmasked $17 = num |
| add_imm_float $17 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($17) |
| copy_slot_unmasked $18 = $17 |
| copy_constant $19 = 0x40400000 (3.0) |
| copy_constant $20 = 0x40800000 (4.0) |
| copy_2_slots_unmasked $2..3 = $19..20 |
| copy_2_immutables_unmasked $4..5 = i7..8 [0x40400000 (3.0), 0x40800000 (4.0)] |
| cmpeq_2_floats $2..3 = equal($2..3, $4..5) |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x0000000D |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 14 at #220) |
| splat_3_constants $17..19 = 0x3F800000 (1.0) |
| copy_slot_unmasked $20 = num |
| add_imm_float $20 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($20) |
| swizzle_3 $20..22 = ($20..22).xxx |
| splat_3_constants $23..25 = 0 |
| copy_3_slots_unmasked $2..4 = $17..19 |
| splat_3_constants $5..7 = 0x3F800000 (1.0) |
| cmpeq_3_floats $2..4 = equal($2..4, $5..7) |
| bitwise_and_int $3 &= $4 |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x0000000E |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 15 at #240) |
| splat_3_constants $17..19 = 0x3F800000 (1.0) |
| copy_slot_unmasked $20 = num |
| add_imm_float $20 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($20) |
| swizzle_3 $20..22 = ($20..22).xxx |
| splat_3_constants $23..25 = 0 |
| copy_3_slots_unmasked $2..4 = $23..25 |
| splat_3_constants $5..7 = 0 |
| cmpeq_3_floats $2..4 = equal($2..4, $5..7) |
| bitwise_and_int $3 &= $4 |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x0000000F |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 16 at #260) |
| copy_slot_unmasked $17 = num |
| add_imm_float $17 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($17) |
| swizzle_3 $17..19 = ($17..19).xxx |
| splat_3_constants $20..22 = 0x3F800000 (1.0) |
| splat_3_constants $23..25 = 0 |
| copy_3_slots_unmasked $2..4 = $20..22 |
| splat_3_constants $5..7 = 0x3F800000 (1.0) |
| cmpeq_3_floats $2..4 = equal($2..4, $5..7) |
| bitwise_and_int $3 &= $4 |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x00000010 |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +18 (label 17 at #285) |
| copy_constant $17 = 0x3F800000 (1.0) |
| copy_constant $18 = 0x40000000 (2.0) |
| copy_constant $19 = 0x40400000 (3.0) |
| copy_constant $20 = 0x40800000 (4.0) |
| copy_constant $21 = 0x40A00000 (5.0) |
| copy_slot_unmasked $22 = num |
| add_imm_float $22 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($22) |
| copy_constant $23 = 0x40E00000 (7.0) |
| copy_constant $24 = 0x41000000 (8.0) |
| copy_constant $25 = 0x41100000 (9.0) |
| copy_3_slots_unmasked $2..4 = $17..19 |
| copy_3_immutables_unmasked $5..7 = i5..7 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0)] |
| cmpeq_3_floats $2..4 = equal($2..4, $5..7) |
| bitwise_and_int $3 &= $4 |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x00000011 |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +19 (label 18 at #311) |
| copy_constant $17 = 0x3F800000 (1.0) |
| copy_constant $18 = 0x40000000 (2.0) |
| copy_constant $19 = 0x40400000 (3.0) |
| copy_constant $20 = 0x40800000 (4.0) |
| copy_constant $21 = 0x40A00000 (5.0) |
| copy_constant $22 = 0x40C00000 (6.0) |
| copy_slot_unmasked $23 = num |
| copy_slot_unmasked $24 = $23 |
| add_imm_float $24 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($24) |
| copy_constant $24 = 0x41000000 (8.0) |
| copy_constant $25 = 0x41100000 (9.0) |
| copy_3_slots_unmasked $2..4 = $20..22 |
| copy_3_immutables_unmasked $5..7 = i9..11 [0x40800000 (4.0), 0x40A00000 (5.0), 0x40C00000 (6.0)] |
| cmpeq_3_floats $2..4 = equal($2..4, $5..7) |
| bitwise_and_int $3 &= $4 |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x00000012 |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +14 (label 19 at #332) |
| copy_slot_unmasked $17 = num |
| add_imm_float $17 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($17) |
| swizzle_4 $17..20 = ($17..20).xxxx |
| splat_4_constants $21..24 = 0x3F800000 (1.0) |
| splat_4_constants $25..28 = 0x40000000 (2.0) |
| splat_4_constants $29..32 = 0x40400000 (3.0) |
| copy_4_slots_unmasked $2..5 = $21..24 |
| splat_4_constants $6..9 = 0x3F800000 (1.0) |
| cmpeq_4_floats $2..5 = equal($2..5, $6..9) |
| bitwise_and_2_ints $2..3 &= $4..5 |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x00000013 |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +14 (label 20 at #353) |
| splat_4_constants $17..20 = 0x3F800000 (1.0) |
| copy_slot_unmasked $21 = num |
| add_imm_float $21 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($21) |
| swizzle_4 $21..24 = ($21..24).xxxx |
| splat_4_constants $25..28 = 0x40000000 (2.0) |
| splat_4_constants $29..32 = 0x40400000 (3.0) |
| copy_4_slots_unmasked $2..5 = $25..28 |
| splat_4_constants $6..9 = 0x40000000 (2.0) |
| cmpeq_4_floats $2..5 = equal($2..5, $6..9) |
| bitwise_and_2_ints $2..3 &= $4..5 |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x00000014 |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +14 (label 21 at #374) |
| splat_4_constants $17..20 = 0x3F800000 (1.0) |
| splat_4_constants $21..24 = 0x3F800000 (1.0) |
| copy_slot_unmasked $25 = num |
| add_imm_float $25 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($25) |
| swizzle_4 $25..28 = ($25..28).xxxx |
| splat_4_constants $29..32 = 0x40400000 (3.0) |
| copy_4_slots_unmasked $2..5 = $29..32 |
| splat_4_constants $6..9 = 0x40400000 (3.0) |
| cmpeq_4_floats $2..5 = equal($2..5, $6..9) |
| bitwise_and_2_ints $2..3 &= $4..5 |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x00000015 |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| store_condition_mask $15 = CondMask |
| copy_slot_unmasked $16 = ok |
| copy_constant $1 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 22 at #405) |
| copy_constant $17 = 0x3F800000 (1.0) |
| copy_constant $18 = 0x40000000 (2.0) |
| copy_constant $19 = 0x40400000 (3.0) |
| copy_constant $20 = 0x40800000 (4.0) |
| copy_constant $21 = 0x40A00000 (5.0) |
| copy_constant $22 = 0x40C00000 (6.0) |
| copy_constant $23 = 0x40E00000 (7.0) |
| copy_constant $24 = 0x41000000 (8.0) |
| copy_constant $25 = 0x41100000 (9.0) |
| copy_constant $26 = 0x41200000 (10.0) |
| copy_constant $27 = 0x41300000 (11.0) |
| copy_constant $28 = 0x41400000 (12.0) |
| copy_constant $29 = 0x41500000 (13.0) |
| copy_constant $30 = 0x41600000 (14.0) |
| copy_slot_unmasked $31 = num |
| add_imm_float $31 += 0x3F800000 (1.0) |
| copy_slot_masked num = Mask($31) |
| copy_constant $32 = 0x41800000 (16.0) |
| copy_4_slots_unmasked $2..5 = $29..32 |
| copy_2_immutables_unmasked $4..5 = i12..13 [0x41500000 (13.0), 0x41600000 (14.0)] |
| cmpeq_2_floats $2..3 = equal($2..3, $4..5) |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x00000016 |
| load_condition_mask CondMask = $15 |
| copy_slot_masked ok = Mask($1) |
| copy_slot_unmasked $2 = num |
| cmpeq_imm_float $2 = equal($2, 0x41300000 (11.0)) |
| bitwise_and_int $1 &= $2 |
| label label 0x0000000B |
| copy_slot_masked $0 = Mask($1) |
| label label 0x0000000A |
| load_condition_mask CondMask = $12 |
| swizzle_4 $0..3 = ($0..3).xxxx |
| copy_4_uniforms $4..7 = colorRed |
| copy_4_uniforms $8..11 = colorGreen |
| mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) |
| load_src src.rgba = $0..3 |