mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 17:20:10 +01:00
freedreno/ir3: don't cp absneg into meta:fi
If using a fanin (collect) to collect of consecutive registers together, we can CP mov's into the fanin, but not (abs) or (neg). No places that allow those modifiers are consuming a fanin anyways. But this caused an absneg to be lost between a ldgb and stgb for shaders like: outputs[n] = abs(input[n]) Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
39e7a39e91
commit
cf5dda3349
1 changed files with 4 additions and 0 deletions
|
|
@ -543,6 +543,10 @@ instr_cp(struct ir3_cp_ctx *ctx, struct ir3_instruction *instr)
|
|||
if (reg->flags & IR3_REG_ARRAY)
|
||||
continue;
|
||||
|
||||
/* Don't CP absneg into meta instructions, that won't end well: */
|
||||
if (is_meta(instr) && (src->opc != OPC_MOV))
|
||||
continue;
|
||||
|
||||
reg_cp(ctx, instr, reg, n);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue