mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 04:30:10 +01:00
aco/scheduler: fix register demand check
Fixes deathloop/01f8d58bf245663b with gfx1201.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 668259ef0b ("aco/scheduler: move clauses through RAR dependencies")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38402>
This commit is contained in:
parent
9141696d32
commit
6a5982cfe5
1 changed files with 3 additions and 2 deletions
|
|
@ -313,8 +313,9 @@ MoveState::downwards_move_clause(DownwardsCursor& cursor)
|
|||
/* RegisterDemand changes caused by the instructions being moved over. */
|
||||
RegisterDemand insert_diff = insert_demand - clause_end_demand + rar_dep;
|
||||
|
||||
/* Check the new demand of the instructions being moved over. */
|
||||
if (RegisterDemand(cursor.total_demand - clause_diff).exceeds(max_registers))
|
||||
/* Check the new demand of the instructions being moved over. If we somehow split total_demand
|
||||
* into before and after rar_dep, we could make this more accurate. */
|
||||
if (RegisterDemand(cursor.total_demand - clause_diff + rar_dep).exceeds(max_registers))
|
||||
return move_fail_pressure;
|
||||
|
||||
/* Check max demand for the moved clause instructions. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue