From: Eric Anholt Date: Sat, 9 Jul 2016 00:06:18 +0000 (-0700) Subject: vc4: Disable vc4_opt_vpm in the presence of control flow. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=37ecc616628d3d5fb75e53135f2f31b11e0cce74;p=mesa.git vc4: Disable vc4_opt_vpm in the presence of control flow. It's a really valuable pass currently, but it will be a mess to rewrite for control flow. For now, just disable it if we have multiple blocks present. --- 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];