pan/bi: Disable CSEL4 emit for now
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fri, 1 May 2020 21:34:47 +0000 (17:34 -0400)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 4 May 2020 15:08:15 +0000 (11:08 -0400)
We need proper scheduling for 4-src ops to work, so for now disable
condition fusing so we cap at 3-src at a performance penalty. A bit of a
hack but I'd rather not build hacks into a scheduler that will be
rewritten soon anyway.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883>

src/panfrost/bifrost/bifrost_compile.c

index a14314b6ad31970cd8d7fcd8efb76c344cd55ac0..945d0190762e4426ab5ad90cf16ea711c66cca2e 100644 (file)
@@ -773,8 +773,12 @@ emit_alu(bi_context *ctx, nir_alu_instr *instr)
                 alu.src[1] = BIR_INDEX_ZERO;
                 alu.src_types[1] = alu.src_types[0];
 
+                /* TODO: Reenable cond fusing when we can split up registers
+                 * when scheduling */
+#if 0
                 bi_fuse_csel_cond(&alu, instr->src[0],
                                 &constants_left, &constant_shift, comps);
+#endif
         } else if (alu.type == BI_BITWISE) {
                 /* Implicit shift argument... at some point we should fold */
                 alu.src[2] = BIR_INDEX_ZERO;