diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-05-15 01:19:22 +0000 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-05-16 01:20:41 +0000 |
commit | 8214aaa3c80960f63f9f1932a29c9f8703250bf1 (patch) | |
tree | 853f8c41ce4d595485ccf3125da8ca11e148de89 /src/gallium | |
parent | 0a13babdd85ddfdca5ace32f0d79441ddb4dc21b (diff) |
panfrost/midgard: Remove imov workaround
The previous commit fixes the issue this patched around.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/panfrost/midgard/midgard_compile.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c index 496ecb02e09..5354c0667e2 100644 --- a/src/gallium/drivers/panfrost/midgard/midgard_compile.c +++ b/src/gallium/drivers/panfrost/midgard/midgard_compile.c @@ -3362,31 +3362,6 @@ midgard_opt_copy_prop_tex(compiler_context *ctx, midgard_block *block) return progress; } -/* We don't really understand the imov/fmov split, so always use fmov (but let - * it be imov in the IR so we don't do unsafe floating point "optimizations" - * and break things */ - -static void -midgard_imov_workaround(compiler_context *ctx, midgard_block *block) -{ - mir_foreach_instr_in_block_safe(block, ins) { - if (ins->type != TAG_ALU_4) continue; - if (ins->alu.op != midgard_alu_op_imov) continue; - - ins->alu.op = midgard_alu_op_fmov; - ins->alu.outmod = midgard_outmod_none; - - /* Remove flags that don't make sense */ - - midgard_vector_alu_src s = - vector_alu_from_unsigned(ins->alu.src2); - - s.mod = 0; - - ins->alu.src2 = vector_alu_srco_unsigned(s); - } -} - /* The following passes reorder MIR instructions to enable better scheduling */ static void @@ -3638,7 +3613,6 @@ emit_block(compiler_context *ctx, nir_block *block) midgard_emit_store(ctx, this_block); midgard_pair_load_store(ctx, this_block); - midgard_imov_workaround(ctx, this_block); /* Append fragment shader epilogue (value writeout) */ if (ctx->stage == MESA_SHADER_FRAGMENT) { |