r600/sfn: Fix source modifiers for ffract64
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19707>
This commit is contained in:
@@ -1725,17 +1725,21 @@ emit_alu_op1_64bit(const nir_alu_instr& alu,
|
||||
}
|
||||
|
||||
for (unsigned i = 0; i < nir_dest_num_components(alu.dest.dest); ++i) {
|
||||
for (unsigned c = 0; c < 2; ++c) {
|
||||
ir = new AluInstr(opcode,
|
||||
value_factory.dest(alu.dest, 2 * i + c, pin_chan),
|
||||
value_factory.src64(alu.src[0], i, swz[c]),
|
||||
{alu_write});
|
||||
group->add_instruction(ir);
|
||||
}
|
||||
ir = new AluInstr(opcode,
|
||||
value_factory.dest(alu.dest, 2 * i, pin_chan),
|
||||
value_factory.src64(alu.src[0], i, swz[0]),
|
||||
{alu_write});
|
||||
group->add_instruction(ir);
|
||||
if (alu.src[0].abs)
|
||||
ir->set_alu_flag(alu_src0_abs);
|
||||
if (alu.src[0].negate)
|
||||
ir->set_alu_flag(alu_src0_neg);
|
||||
|
||||
ir = new AluInstr(opcode,
|
||||
value_factory.dest(alu.dest, 2 * i + 1, pin_chan),
|
||||
value_factory.src64(alu.src[0], i, swz[1]),
|
||||
{alu_write});
|
||||
group->add_instruction(ir);
|
||||
}
|
||||
if (ir)
|
||||
ir->set_alu_flag(alu_last_instr);
|
||||
|
||||
Reference in New Issue
Block a user