mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
freedreno/ir3: propagate HALF flag across fanout
If we have a fanout (split) meta instruction to split the result of a vector instruction, propagate the HALF flag back to the original instruction. Otherwise result ends up in a full precision register while instruction(s) that use the result look in a half-precision register. Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
fc1690c9d9
commit
a52e698219
1 changed files with 4 additions and 1 deletions
|
|
@ -495,7 +495,10 @@ put_dst(struct ir3_context *ctx, nir_dest *dst)
|
|||
|
||||
if (bit_size < 32) {
|
||||
for (unsigned i = 0; i < ctx->last_dst_n; i++) {
|
||||
ctx->last_dst[i]->regs[0]->flags |= IR3_REG_HALF;
|
||||
struct ir3_instruction *dst = ctx->last_dst[i];
|
||||
dst->regs[0]->flags |= IR3_REG_HALF;
|
||||
if (ctx->last_dst[i]->opc == OPC_META_FO)
|
||||
dst->regs[1]->instr->regs[0]->flags |= IR3_REG_HALF;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue