diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 13e5d88fb82..43d5f13206e 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -2261,7 +2261,6 @@ v3d_optimize_nir(struct v3d_compile *c, struct nir_shader *s) } NIR_PASS(progress, s, nir_opt_undef); - NIR_PASS(progress, s, nir_lower_undef_to_zero); if (c && !c->disable_loop_unrolling && s->options->max_unroll_iterations > 0) { @@ -2272,6 +2271,8 @@ v3d_optimize_nir(struct v3d_compile *c, struct nir_shader *s) } } while (progress); + NIR_PASS(progress, s, nir_lower_undef_to_zero); + /* needs to be outside of optimization loop, otherwise it fights with * opt_algebraic optimizing the conversion lowering */