diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 7cdd0d5e94c..d840fb001ae 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -444,6 +444,16 @@ optimize_nir(struct nir_shader *s) NIR_PASS(progress, s, nir_opt_undef); NIR_PASS(progress, s, zink_nir_lower_b2b); } while (progress); + + do { + progress = false; + NIR_PASS(progress, s, nir_opt_algebraic_late); + if (progress) { + NIR_PASS_V(s, nir_copy_prop); + NIR_PASS_V(s, nir_opt_dce); + NIR_PASS_V(s, nir_opt_cse); + } + } while (progress); } /* check for a genuine gl_PointSize output vs one from nir_lower_point_size_mov */