mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 09:18:04 +02:00
r600/sfn: work around injecting extra CF's to handle hardware bugs
The clause local registers can't be used if a new CF is started, but
the assembler still may introduce a CFs to work around some hardware bug,
so make sure RA doesn't assume that the predicate ALU op is in the same ALU
CF like the ALU ops before.
This is a hotfix, the scheduler should handle this better.
Fixes: cfbd1fd413
r600/sfn: Use clause local registers in RA
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24611>
This commit is contained in:
parent
b8edd19358
commit
17c95e070c
1 changed files with 3 additions and 0 deletions
|
|
@ -389,8 +389,11 @@ LiveRangeInstrVisitor::visit(ControlFlowInstr *instr)
|
|||
void
|
||||
LiveRangeInstrVisitor::visit(IfInstr *instr)
|
||||
{
|
||||
int b = m_block;
|
||||
m_block = -1;
|
||||
instr->predicate()->accept(*this);
|
||||
scope_if();
|
||||
m_block = b;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue