289 instructions [immutable slots] i0 = 0x40000000 (2.0) i1 = 0 i2 = 0 i3 = 0 i4 = 0x40000000 (2.0) i5 = 0 i6 = 0x40400000 (3.0) i7 = 0 i8 = 0 i9 = 0 i10 = 0 i11 = 0x40400000 (3.0) i12 = 0 i13 = 0 i14 = 0x40800000 (4.0) i15 = 0 i16 = 0 i17 = 0x40800000 (4.0) i18 = 0 i19 = 0 i20 = 0x41000000 (8.0) i21 = 0 i22 = 0 i23 = 0x41000000 (8.0) i24 = 0x40400000 (3.0) i25 = 0x3F800000 (1.0) i26 = 0x3F800000 (1.0) i27 = 0x3F800000 (1.0) i28 = 0x40400000 (3.0) i29 = 0x3F800000 (1.0) i30 = 0x40000000 (2.0) i31 = 0xC0000000 (-2.0) i32 = 0xC0000000 (-2.0) i33 = 0x40000000 (2.0) i34 = 0xC0000000 (-2.0) i35 = 0xC0000000 (-2.0) i36 = 0x3F400000 (0.75) i37 = 0 i38 = 0 i39 = 0 i40 = 0 i41 = 0x3F400000 (0.75) i42 = 0 i43 = 0 i44 = 0x40A00000 (5.0) i45 = 0 i46 = 0 i47 = 0 i48 = 0 i49 = 0x40A00000 (5.0) i50 = 0 i51 = 0 i52 = 0 i53 = 0 i54 = 0x40A00000 (5.0) i55 = 0 i56 = 0x40C00000 (6.0) i57 = 0 i58 = 0 i59 = 0x40C00000 (6.0) i60 = 0 i61 = 0 i62 = 0 i63 = 0 i64 = 0x40E00000 (7.0) i65 = 0 i66 = 0 i67 = 0 i68 = 0x40E00000 (7.0) i69 = 0 i70 = 0 i71 = 0 i72 = 0x40E00000 (7.0) i73 = 0 i74 = 0 i75 = 0 i76 = 0x420C0000 (35.0) i77 = 0 i78 = 0 i79 = 0 i80 = 0x420C0000 (35.0) i81 = 0 i82 = 0 i83 = 0 i84 = 0x420C0000 (35.0) store_src_rg coords = src.rg init_lane_masks CondMask = LoopMask = RetMask = true copy_constant _0_ok = 0xFFFFFFFF copy_4_immutables_unmasked _1_m23(0..3) = i0..3 [0x40000000 (2.0), 0, 0, 0] copy_2_immutables_unmasked _1_m23(4..5) = i4..5 [0x40000000 (2.0), 0] copy_4_slots_unmasked $0..3 = _0_ok, _1_m23(0..2) copy_3_slots_unmasked $4..6 = _1_m23(3..5) copy_4_immutables_unmasked $7..10 = i0..3 [0x40000000 (2.0), 0, 0, 0] copy_2_immutables_unmasked $11..12 = i4..5 [0x40000000 (2.0), 0] cmpeq_n_floats $1..6 = equal($1..6, $7..12) bitwise_and_3_ints $1..3 &= $4..6 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 bitwise_and_int $0 &= $1 copy_slot_unmasked _0_ok = $0 copy_4_immutables_unmasked _2_m24(0..3) = i6..9 [0x40400000 (3.0), 0, 0, 0] copy_4_immutables_unmasked _2_m24(4..7) = i10..13 [0, 0x40400000 (3.0), 0, 0] copy_slot_unmasked $0 = _0_ok copy_4_slots_unmasked $1..4 = _2_m24(0..3) copy_4_slots_unmasked $5..8 = _2_m24(4..7) copy_4_immutables_unmasked $9..12 = i6..9 [0x40400000 (3.0), 0, 0, 0] copy_4_immutables_unmasked $13..16 = i10..13 [0, 0x40400000 (3.0), 0, 0] cmpeq_n_floats $1..8 = equal($1..8, $9..16) bitwise_and_4_ints $1..4 &= $5..8 bitwise_and_2_ints $1..2 &= $3..4 bitwise_and_int $1 &= $2 bitwise_and_int $0 &= $1 copy_slot_unmasked _0_ok = $0 copy_4_immutables_unmasked _3_m32(0..3) = i14..17 [0x40800000 (4.0), 0, 0, 0x40800000 (4.0)] splat_2_constants _3_m32(4..5) = 0 copy_slot_unmasked $0 = _0_ok copy_4_slots_unmasked $1..4 = _3_m32(0..3) copy_2_slots_unmasked $5..6 = _3_m32(4..5) copy_4_immutables_unmasked $7..10 = i14..17 [0x40800000 (4.0), 0, 0, 0x40800000 (4.0)] splat_2_constants $11..12 = 0 cmpeq_n_floats $1..6 = equal($1..6, $7..12) bitwise_and_3_ints $1..3 &= $4..6 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 bitwise_and_int $0 &= $1 copy_slot_unmasked _0_ok = $0 copy_4_slots_unmasked $4..7 = _3_m32(0..3) copy_2_slots_unmasked $8..9 = _3_m32(4..5) copy_4_slots_unmasked $10..13 = _1_m23(0..3) copy_2_slots_unmasked $14..15 = _1_m23(4..5) matrix_multiply_3 mat2x2($0..3) = mat3x2($4..9) * mat2x3($10..15) copy_4_slots_unmasked _7_m22 = $0..3 copy_slot_unmasked $0 = _0_ok copy_4_slots_unmasked $1..4 = _7_m22 copy_4_immutables_unmasked $5..8 = i20..23 [0x41000000 (8.0), 0, 0, 0x41000000 (8.0)] cmpeq_4_floats $1..4 = equal($1..4, $5..8) bitwise_and_2_ints $1..2 &= $3..4 bitwise_and_int $1 &= $2 bitwise_and_int $0 &= $1 copy_slot_unmasked _0_ok = $0 copy_4_slots_unmasked $0..3 = _1_m23(0..3) copy_2_slots_unmasked $4..5 = _1_m23(4..5) splat_4_constants $6..9 = 0x3F800000 (1.0) splat_2_constants $10..11 = 0x3F800000 (1.0) add_n_floats $0..5 += $6..11 copy_4_slots_unmasked _1_m23(0..3) = $0..3 copy_2_slots_unmasked _1_m23(4..5) = $4..5 copy_4_slots_unmasked $0..3 = _0_ok, _1_m23(0..2) copy_3_slots_unmasked $4..6 = _1_m23(3..5) copy_4_immutables_unmasked $7..10 = i24..27 [0x40400000 (3.0), 0x3F800000 (1.0), 0x3F800000 (1.0), 0x3F800000 (1.0)] copy_2_immutables_unmasked $11..12 = i28..29 [0x40400000 (3.0), 0x3F800000 (1.0)] cmpeq_n_floats $1..6 = equal($1..6, $7..12) bitwise_and_3_ints $1..3 &= $4..6 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 bitwise_and_int $0 &= $1 copy_slot_unmasked _0_ok = $0 copy_4_slots_unmasked $0..3 = _3_m32(0..3) copy_2_slots_unmasked $4..5 = _3_m32(4..5) splat_4_constants $6..9 = 0x40000000 (2.0) splat_2_constants $10..11 = 0x40000000 (2.0) sub_n_floats $0..5 -= $6..11 copy_4_slots_unmasked _3_m32(0..3) = $0..3 copy_2_slots_unmasked _3_m32(4..5) = $4..5 copy_slot_unmasked $0 = _0_ok copy_4_slots_unmasked $1..4 = _3_m32(0..3) copy_2_slots_unmasked $5..6 = _3_m32(4..5) copy_4_immutables_unmasked $7..10 = i30..33 [0x40000000 (2.0), 0xC0000000 (-2.0), 0xC0000000 (-2.0), 0x40000000 (2.0)] splat_2_constants $11..12 = 0xC0000000 (-2.0) cmpeq_n_floats $1..6 = equal($1..6, $7..12) bitwise_and_3_ints $1..3 &= $4..6 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 bitwise_and_int $0 &= $1 copy_slot_unmasked _0_ok = $0 copy_4_slots_unmasked $0..3 = _2_m24(0..3) copy_4_slots_unmasked $4..7 = _2_m24(4..7) splat_4_constants $8..11 = 0x3E800000 (0.25) splat_4_constants $12..15 = 0x3E800000 (0.25) mul_n_floats $0..7 *= $8..15 copy_4_slots_unmasked _2_m24(0..3) = $0..3 copy_4_slots_unmasked _2_m24(4..7) = $4..7 copy_slot_unmasked $0 = _0_ok copy_4_slots_unmasked $1..4 = _2_m24(0..3) copy_4_slots_unmasked $5..8 = _2_m24(4..7) copy_4_immutables_unmasked $9..12 = i36..39 [0x3F400000 (0.75), 0, 0, 0] copy_4_immutables_unmasked $13..16 = i40..43 [0, 0x3F400000 (0.75), 0, 0] cmpeq_n_floats $1..8 = equal($1..8, $9..16) bitwise_and_4_ints $1..4 &= $5..8 bitwise_and_2_ints $1..2 &= $3..4 bitwise_and_int $1 &= $2 bitwise_and_int $0 &= $1 copy_slot_unmasked _0_ok = $0 store_condition_mask $34 = CondMask copy_slot_unmasked $35 = _0_ok copy_constant $0 = 0 merge_condition_mask CondMask = $34 & $35 branch_if_no_lanes_active branch_if_no_lanes_active +172 (label 1 at #285) copy_constant ok = 0xFFFFFFFF copy_4_immutables_unmasked m23(0..3) = i0..3 [0x40000000 (2.0), 0, 0, 0] copy_2_immutables_unmasked m23(4..5) = i4..5 [0x40000000 (2.0), 0] copy_4_slots_unmasked $1..4 = ok, m23(0..2) copy_3_slots_unmasked $5..7 = m23(3..5) copy_4_immutables_unmasked $8..11 = i0..3 [0x40000000 (2.0), 0, 0, 0] copy_2_immutables_unmasked $12..13 = i4..5 [0x40000000 (2.0), 0] cmpeq_n_floats $2..7 = equal($2..7, $8..13) bitwise_and_3_ints $2..4 &= $5..7 bitwise_and_int $3 &= $4 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_4_immutables_unmasked m24(0..3) = i6..9 [0x40400000 (3.0), 0, 0, 0] copy_4_immutables_unmasked m24(4..7) = i10..13 [0, 0x40400000 (3.0), 0, 0] copy_slot_unmasked $1 = ok copy_4_slots_unmasked $2..5 = m24(0..3) copy_4_slots_unmasked $6..9 = m24(4..7) copy_4_immutables_unmasked $10..13 = i6..9 [0x40400000 (3.0), 0, 0, 0] copy_4_immutables_unmasked $14..17 = i10..13 [0, 0x40400000 (3.0), 0, 0] cmpeq_n_floats $2..9 = equal($2..9, $10..17) bitwise_and_4_ints $2..5 &= $6..9 bitwise_and_2_ints $2..3 &= $4..5 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_4_immutables_unmasked m32(0..3) = i14..17 [0x40800000 (4.0), 0, 0, 0x40800000 (4.0)] splat_2_constants m32(4..5) = 0 copy_slot_unmasked $1 = ok copy_4_slots_unmasked $2..5 = m32(0..3) copy_2_slots_unmasked $6..7 = m32(4..5) copy_4_immutables_unmasked $8..11 = i14..17 [0x40800000 (4.0), 0, 0, 0x40800000 (4.0)] splat_2_constants $12..13 = 0 cmpeq_n_floats $2..7 = equal($2..7, $8..13) bitwise_and_3_ints $2..4 &= $5..7 bitwise_and_int $3 &= $4 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_slot_unmasked $1 = ok copy_4_immutables_unmasked $2..5 = i44..47 [0x40A00000 (5.0), 0, 0, 0] copy_4_immutables_unmasked $6..9 = i48..51 [0, 0x40A00000 (5.0), 0, 0] copy_4_immutables_unmasked $10..13 = i52..55 [0, 0, 0x40A00000 (5.0), 0] copy_4_immutables_unmasked $14..17 = i44..47 [0x40A00000 (5.0), 0, 0, 0] copy_4_immutables_unmasked $18..21 = i48..51 [0, 0x40A00000 (5.0), 0, 0] copy_4_immutables_unmasked $22..25 = i52..55 [0, 0, 0x40A00000 (5.0), 0] cmpeq_n_floats $2..13 = equal($2..13, $14..25) bitwise_and_4_ints $6..9 &= $10..13 bitwise_and_4_ints $2..5 &= $6..9 bitwise_and_2_ints $2..3 &= $4..5 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_slot_unmasked $1 = ok copy_4_immutables_unmasked $2..5 = i56..59 [0x40C00000 (6.0), 0, 0, 0x40C00000 (6.0)] splat_4_constants $6..9 = 0 copy_4_immutables_unmasked $10..13 = i56..59 [0x40C00000 (6.0), 0, 0, 0x40C00000 (6.0)] splat_4_constants $14..17 = 0 cmpeq_n_floats $2..9 = equal($2..9, $10..17) bitwise_and_4_ints $2..5 &= $6..9 bitwise_and_2_ints $2..3 &= $4..5 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_slot_unmasked $1 = ok copy_4_immutables_unmasked $2..5 = i64..67 [0x40E00000 (7.0), 0, 0, 0] copy_4_immutables_unmasked $6..9 = i68..71 [0x40E00000 (7.0), 0, 0, 0] copy_4_immutables_unmasked $10..13 = i72..75 [0x40E00000 (7.0), 0, 0, 0] copy_4_immutables_unmasked $14..17 = i64..67 [0x40E00000 (7.0), 0, 0, 0] copy_4_immutables_unmasked $18..21 = i68..71 [0x40E00000 (7.0), 0, 0, 0] copy_4_immutables_unmasked $22..25 = i72..75 [0x40E00000 (7.0), 0, 0, 0] cmpeq_n_floats $2..13 = equal($2..13, $14..25) bitwise_and_4_ints $6..9 &= $10..13 bitwise_and_4_ints $2..5 &= $6..9 bitwise_and_2_ints $2..3 &= $4..5 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_4_slots_unmasked $5..8 = m32(0..3) copy_2_slots_unmasked $9..10 = m32(4..5) copy_4_slots_unmasked $11..14 = m23(0..3) copy_2_slots_unmasked $15..16 = m23(4..5) matrix_multiply_3 mat2x2($1..4) = mat3x2($5..10) * mat2x3($11..16) copy_4_slots_unmasked m22 = $1..4 copy_slot_unmasked $1 = ok copy_4_slots_unmasked $2..5 = m22 copy_4_immutables_unmasked $6..9 = i20..23 [0x41000000 (8.0), 0, 0, 0x41000000 (8.0)] cmpeq_4_floats $2..5 = equal($2..5, $6..9) bitwise_and_2_ints $2..3 &= $4..5 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_4_immutables_unmasked $10..13 = i64..67 [0x40E00000 (7.0), 0, 0, 0] copy_4_immutables_unmasked $14..17 = i68..71 [0x40E00000 (7.0), 0, 0, 0] copy_4_immutables_unmasked $18..21 = i72..75 [0x40E00000 (7.0), 0, 0, 0] copy_4_immutables_unmasked $22..25 = i44..47 [0x40A00000 (5.0), 0, 0, 0] copy_4_immutables_unmasked $26..29 = i48..51 [0, 0x40A00000 (5.0), 0, 0] copy_4_immutables_unmasked $30..33 = i52..55 [0, 0, 0x40A00000 (5.0), 0] matrix_multiply_4 mat3x3($1..9) = mat4x3($10..21) * mat3x4($22..33) copy_4_slots_unmasked m33(0..3) = $1..4 copy_4_slots_unmasked m33(4..7) = $5..8 copy_slot_unmasked m33(8) = $9 copy_slot_unmasked $1 = ok copy_4_slots_unmasked $2..5 = m33(0..3) copy_4_slots_unmasked $6..9 = m33(4..7) copy_slot_unmasked $10 = m33(8) copy_4_immutables_unmasked $11..14 = i76..79 [0x420C0000 (35.0), 0, 0, 0] copy_4_immutables_unmasked $15..18 = i80..83 [0x420C0000 (35.0), 0, 0, 0] copy_constant $19 = 0x420C0000 (35.0) cmpeq_n_floats $2..10 = equal($2..10, $11..19) bitwise_and_4_ints $3..6 &= $7..10 bitwise_and_2_ints $3..4 &= $5..6 bitwise_and_int $3 &= $4 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_4_slots_unmasked $1..4 = m23(0..3) copy_2_slots_unmasked $5..6 = m23(4..5) splat_4_constants $7..10 = 0x3F800000 (1.0) splat_2_constants $11..12 = 0x3F800000 (1.0) add_n_floats $1..6 += $7..12 copy_4_slots_masked m23(0..3) = Mask($1..4) copy_2_slots_masked m23(4..5) = Mask($5..6) copy_4_slots_unmasked $1..4 = ok, m23(0..2) copy_3_slots_unmasked $5..7 = m23(3..5) copy_4_immutables_unmasked $8..11 = i24..27 [0x40400000 (3.0), 0x3F800000 (1.0), 0x3F800000 (1.0), 0x3F800000 (1.0)] copy_2_immutables_unmasked $12..13 = i28..29 [0x40400000 (3.0), 0x3F800000 (1.0)] cmpeq_n_floats $2..7 = equal($2..7, $8..13) bitwise_and_3_ints $2..4 &= $5..7 bitwise_and_int $3 &= $4 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_4_slots_unmasked $1..4 = m32(0..3) copy_2_slots_unmasked $5..6 = m32(4..5) splat_4_constants $7..10 = 0x40000000 (2.0) splat_2_constants $11..12 = 0x40000000 (2.0) sub_n_floats $1..6 -= $7..12 copy_4_slots_masked m32(0..3) = Mask($1..4) copy_2_slots_masked m32(4..5) = Mask($5..6) copy_slot_unmasked $1 = ok copy_4_slots_unmasked $2..5 = m32(0..3) copy_2_slots_unmasked $6..7 = m32(4..5) copy_4_immutables_unmasked $8..11 = i30..33 [0x40000000 (2.0), 0xC0000000 (-2.0), 0xC0000000 (-2.0), 0x40000000 (2.0)] splat_2_constants $12..13 = 0xC0000000 (-2.0) cmpeq_n_floats $2..7 = equal($2..7, $8..13) bitwise_and_3_ints $2..4 &= $5..7 bitwise_and_int $3 &= $4 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) copy_4_slots_unmasked $1..4 = m24(0..3) copy_4_slots_unmasked $5..8 = m24(4..7) splat_4_constants $9..12 = 0x3E800000 (0.25) splat_4_constants $13..16 = 0x3E800000 (0.25) mul_n_floats $1..8 *= $9..16 copy_4_slots_masked m24(0..3) = Mask($1..4) copy_4_slots_masked m24(4..7) = Mask($5..8) copy_slot_unmasked $1 = ok copy_4_slots_unmasked $2..5 = m24(0..3) copy_4_slots_unmasked $6..9 = m24(4..7) copy_4_immutables_unmasked $10..13 = i36..39 [0x3F400000 (0.75), 0, 0, 0] copy_4_immutables_unmasked $14..17 = i40..43 [0, 0x3F400000 (0.75), 0, 0] cmpeq_n_floats $2..9 = equal($2..9, $10..17) bitwise_and_4_ints $2..5 &= $6..9 bitwise_and_2_ints $2..3 &= $4..5 bitwise_and_int $2 &= $3 bitwise_and_int $1 &= $2 copy_slot_masked ok = Mask($1) label label 0x00000002 copy_slot_masked $0 = Mask($1) label label 0x00000001 load_condition_mask CondMask = $34 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