mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
aco: don't schedule instructions through depending VMEM instructions
Previously, the scheduler tried to move up instructions from below depending VMEM instructions only to move them down again when scheduling the VMEM instruction. Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
This commit is contained in:
parent
636d45e46a
commit
8b5aee78cc
1 changed files with 3 additions and 0 deletions
|
|
@ -336,6 +336,9 @@ void schedule_SMEM(sched_ctx& ctx, Block* block,
|
|||
/* check if candidate depends on current */
|
||||
bool is_dependency = std::any_of(candidate->operands.begin(), candidate->operands.end(),
|
||||
[&ctx](const Operand& op) { return op.isTemp() && ctx.depends_on[op.tempId()];});
|
||||
/* no need to steal from following VMEM instructions */
|
||||
if (is_dependency && candidate->isVMEM())
|
||||
break;
|
||||
if (moving_spill && is_spill_reload(candidate))
|
||||
is_dependency = true;
|
||||
if ((moving_interaction & barrier_shared) && candidate->format == Format::DS)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue