mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 02:20:11 +01:00
aco: fix scheduling with s_memtime/s_memrealtime
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
This commit is contained in:
parent
6804b8e1ff
commit
d7838152f5
1 changed files with 8 additions and 0 deletions
|
|
@ -110,6 +110,10 @@ bool can_move_instr(aco_ptr<Instruction>& instr, Instruction* current, int movin
|
|||
if (instr->format == Format::EXP)
|
||||
return false;
|
||||
|
||||
/* don't move s_memtime/s_memrealtime */
|
||||
if (instr->opcode == aco_opcode::s_memtime || instr->opcode == aco_opcode::s_memrealtime)
|
||||
return false;
|
||||
|
||||
/* handle barriers */
|
||||
|
||||
/* TODO: instead of stopping, maybe try to move the barriers and any
|
||||
|
|
@ -191,6 +195,10 @@ void schedule_SMEM(sched_ctx& ctx, Block* block,
|
|||
int16_t k = 0;
|
||||
bool can_reorder_cur = can_reorder(current, false);
|
||||
|
||||
/* don't move s_memtime/s_memrealtime */
|
||||
if (current->opcode == aco_opcode::s_memtime || current->opcode == aco_opcode::s_memrealtime)
|
||||
return;
|
||||
|
||||
/* create the initial set of values which current depends on */
|
||||
std::fill(ctx.depends_on.begin(), ctx.depends_on.end(), false);
|
||||
for (const Operand& op : current->operands) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue