Commit 68a1508d authored by Alyssa Rosenzweig's avatar Alyssa Rosenzweig
Browse files

panfrost/midgard: Fix regressions in -bjellyfish



Two fixes here, one is that we tried to copyprop non-strictly-SSA values
which was bound to fly in our face. The other was peeling back the imov
workaround.. Turns out we still need that. More research is needed
still, but let's not regress real apps.
Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa@rosenzweig.io>
parent bdaa23b3
......@@ -1135,9 +1135,11 @@ emit_alu(compiler_context *ctx, nir_alu_instr *instr)
ALU_CASE(imul, imul);
ALU_CASE(iabs, iabs);
/* XXX: Use fmov, not imov, since imov was causing major
* issues with texture precision? XXX research */
ALU_CASE(imov, imov);
/* XXX: Use fmov, not imov for now, since NIR does not
* differentiate well (it'll happily emits imov for floats,
* which the hardware rather dislikes and breaks e.g
* -bjellyfish */
ALU_CASE(imov, fmov);
ALU_CASE(feq32, feq);
ALU_CASE(fne32, fne);
......@@ -3156,6 +3158,8 @@ midgard_opt_copy_prop(compiler_context *ctx, midgard_block *block)
if (to >= SSA_FIXED_MINIMUM) continue;
if (from >= SSA_FIXED_MINIMUM) continue;
if (to >= ctx->func->impl->ssa_alloc) continue;
if (from >= ctx->func->impl->ssa_alloc) continue;
/* Also, if the move has side effects, we're helpless */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment