From b69d5d6e19568c2098638af014abb8c541402822 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 9 Jul 2019 10:59:34 -0700 Subject: [PATCH] panfrost/midgard: Hit missed scheduling opportunity MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Don't try to schedule to vmul when that can't possible work (forcing a bundle break). glmark: total bundles in shared programs: 2700 -> 2683 (-0.63%) bundles in affected programs: 695 -> 678 (-2.45%) helped: 14 HURT: 0 helped stats (abs) min: 1 max: 4 x̄: 1.21 x̃: 1 helped stats (rel) min: 1.27% max: 7.69% x̄: 4.30% x̃: 4.77% 95% mean confidence interval for bundles value: -1.68 -0.75 95% mean confidence interval for bundles %-change: -5.63% -2.97% Bundles are helped. Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_schedule.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_schedule.c b/src/gallium/drivers/panfrost/midgard/midgard_schedule.c index 191017671cd..f4156d6b730 100644 --- a/src/gallium/drivers/panfrost/midgard/midgard_schedule.c +++ b/src/gallium/drivers/panfrost/midgard/midgard_schedule.c @@ -234,7 +234,7 @@ schedule_bundle(compiler_context *ctx, midgard_block *block, midgard_instruction else break; } else { - if ((units & UNIT_VMUL) && !(control & UNIT_VMUL)) + if ((units & UNIT_VMUL) && last_unit < UNIT_VMUL) unit = UNIT_VMUL; else if ((units & UNIT_VADD) && !(control & UNIT_VADD)) unit = UNIT_VADD; -- 2.30.2