From: Alyssa Rosenzweig Date: Mon, 29 Jul 2019 23:55:15 +0000 (-0700) Subject: pan/midgard: Always set .cont for derivatives in loops X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2b248af43eca2da6a1a507bf4f99fa722b8cff7e;p=mesa.git pan/midgard: Always set .cont for derivatives in loops We need to keep the helper invocations alive. Signed-off-by: Alyssa Rosenzweig --- 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 {