summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/vc4/vc4_opt_vpm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_opt_vpm.c b/src/gallium/drivers/vc4/vc4_opt_vpm.c
index e2249bd048e..34ea3363511 100644
--- a/src/gallium/drivers/vc4/vc4_opt_vpm.c
+++ b/src/gallium/drivers/vc4/vc4_opt_vpm.c
@@ -38,6 +38,11 @@ qir_opt_vpm(struct vc4_compile *c)
if (c->stage == QSTAGE_FRAG)
return false;
+ /* For now, only do this pass when we don't have control flow. */
+ struct qblock *block = qir_entry_block(c);
+ if (block != qir_exit_block(c))
+ return false;
+
bool progress = false;
struct qinst *vpm_writes[64] = { 0 };
uint32_t use_count[c->num_temps];