Mesa (master): pan/midgard: Always set .cont for derivatives in loops

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 30 17:02:26 UTC 2019


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

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Jul 29 16:55:15 2019 -0700

pan/midgard: Always set .cont for derivatives in loops

We need to keep the helper invocations alive.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>

---

 src/panfrost/midgard/midgard_emit.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/panfrost/midgard/midgard_emit.c b/src/panfrost/midgard/midgard_emit.c
index ce85dfc5fd7..1996e1b1ef6 100644
--- a/src/panfrost/midgard/midgard_emit.c
+++ b/src/panfrost/midgard/midgard_emit.c
@@ -260,6 +260,13 @@ emit_binary_bundle(compiler_context *ctx,
 
                 if (mir_op_computes_derivatives(ins->texture.op)) {
                         bool continues = ctx->texture_op_count > 0;
+
+                        /* Control flow complicates helper invocation
+                         * lifespans, so for now just keep helper threads
+                         * around indefinitely with loops. TODO: Proper
+                         * analysis */
+                        continues |= ctx->loop_count > 0;
+
                         ins->texture.cont = continues;
                         ins->texture.last = !continues;
                 } else {




More information about the mesa-commit mailing list