ir3: don't remove intervals for non-killed tex prefetch sources
Fixes: 613eaac7b5 ("ir3: Initial support for spilling non-shared registers")
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29497>
This commit is contained in:
@@ -1325,8 +1325,10 @@ remove_input_phi(struct ra_spill_ctx *ctx, struct ir3_instruction *instr)
|
||||
return;
|
||||
|
||||
if (instr->opc == OPC_META_TEX_PREFETCH) {
|
||||
ra_foreach_src (src, instr)
|
||||
remove_src(ctx, instr, src);
|
||||
ra_foreach_src (src, instr) {
|
||||
if (src->flags & IR3_REG_FIRST_KILL)
|
||||
remove_src(ctx, instr, src);
|
||||
}
|
||||
}
|
||||
if (instr->dsts[0]->flags & IR3_REG_UNUSED)
|
||||
remove_dst(ctx, instr->dsts[0]);
|
||||
|
||||
Reference in New Issue
Block a user