mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
freedreno/ir3/ra: fix failed assert for a0/p0
The address and predicate register are special, they don't get assigned in RA. So do a better job of ignoring them rather than hitting later asserts. Signed-off-by: Rob Clark <robclark@freedesktop.org>
This commit is contained in:
parent
65b2ae510b
commit
a1a6f00782
1 changed files with 5 additions and 0 deletions
|
|
@ -469,6 +469,11 @@ ra_block_find_definers(struct ir3_ra_ctx *ctx, struct ir3_block *block)
|
|||
struct ir3_ra_instr_data *id = &ctx->instrd[instr->ip];
|
||||
if (instr->regs_count == 0)
|
||||
continue;
|
||||
/* couple special cases: */
|
||||
if (writes_addr(instr) || writes_pred(instr)) {
|
||||
id->cls = -1;
|
||||
continue;
|
||||
}
|
||||
id->defn = get_definer(ctx, instr, &id->sz, &id->off);
|
||||
id->cls = size_to_class(id->sz, is_half(id->defn));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue