mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 00:30:13 +01:00
r600/sfh: Handle 64 bit comparisons in predicate optimization
Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37205>
This commit is contained in:
parent
abe9b61212
commit
125ce0f909
2 changed files with 13 additions and 0 deletions
|
|
@ -151,6 +151,7 @@ public:
|
|||
static bool from_nir(nir_alu_instr *alu, Shader& shader);
|
||||
|
||||
int alu_slots() const { return m_alu_slots; }
|
||||
void set_alu_slots(unsigned slots) { m_alu_slots = slots; }
|
||||
|
||||
bool split(AluGroup& dest_group);
|
||||
|
||||
|
|
|
|||
|
|
@ -309,6 +309,13 @@ pred_from_op(EAluOp pred_op, EAluOp op)
|
|||
return op2_prede_int;
|
||||
case op2_setne_int:
|
||||
return op2_pred_setne_int;
|
||||
|
||||
case op2_setge_64:
|
||||
return op2_pred_setge_64;
|
||||
case op2_setgt_64:
|
||||
return op2_pred_setgt_64;
|
||||
case op2_sete_64:
|
||||
return op2_pred_sete_64;
|
||||
default:
|
||||
return op0_nop;
|
||||
}
|
||||
|
|
@ -402,6 +409,11 @@ ReplacePredicate::visit(AluInstr *alu)
|
|||
}
|
||||
}
|
||||
|
||||
if (alu->alu_slots() > 1) {
|
||||
m_pred->set_alu_slots(alu->alu_slots());
|
||||
m_pred->set_allowed_dest_chan_mask(5);
|
||||
}
|
||||
|
||||
success = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue