Mesa (master): panfrost/midgard: Promote smul to vmul

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Mar 4 05:05:26 UTC 2019


Module: Mesa
Branch: master
Commit: 93eeba623bd3e9a1b106e82f40147681c3011535
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93eeba623bd3e9a1b106e82f40147681c3011535

Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Wed Feb 27 05:32:16 2019 +0000

panfrost/midgard: Promote smul to vmul

smul comes first in the pipeline, before vmul. Until we have a full
instruction scheduler, it's better to have vmul prioritized to maximize
bundle size.

Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Tested-by: Tomeu Vizoso <tomeu.vizoso at collabora.com

---

 src/gallium/drivers/panfrost/midgard/midgard_compile.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c
index f533572c05d..e37037ac737 100644
--- a/src/gallium/drivers/panfrost/midgard/midgard_compile.c
+++ b/src/gallium/drivers/panfrost/midgard/midgard_compile.c
@@ -2162,7 +2162,7 @@ schedule_bundle(compiler_context *ctx, midgard_block *block, midgard_instruction
                                                 if ((units & UNIT_SADD) && !(control & UNIT_SADD))
                                                         unit = UNIT_SADD;
                                                 else if (units & UNIT_SMUL)
-                                                        unit = UNIT_SMUL;
+                                                        unit = ((units & UNIT_VMUL) && !(control & UNIT_VMUL)) ? UNIT_VMUL : UNIT_SMUL;
                                                 else if ((units & UNIT_VADD) && !(control & UNIT_VADD))
                                                         unit = UNIT_VADD;
                                                 else




More information about the mesa-commit mailing list