diff --git a/src/nouveau/compiler/nak_nir.c b/src/nouveau/compiler/nak_nir.c index 61efbc7f09a..6a89401e808 100644 --- a/src/nouveau/compiler/nak_nir.c +++ b/src/nouveau/compiler/nak_nir.c @@ -88,6 +88,12 @@ vectorize_filter_cb(const nir_instr *instr, const void *_data) } } +static uint8_t +phi_vectorize_cb(const nir_instr *instr, const void *data) +{ + return 1; +} + static void optimize_nir(nir_shader *nir, const struct nak_compiler *nak, bool allow_copies) { @@ -130,7 +136,7 @@ optimize_nir(nir_shader *nir, const struct nak_compiler *nak, bool allow_copies) OPT(nir, nir_lower_alu_width, vectorize_filter_cb, NULL); OPT(nir, nir_opt_vectorize, vectorize_filter_cb, NULL); - OPT(nir, nir_lower_phis_to_scalar, NULL, NULL); + OPT(nir, nir_lower_phis_to_scalar, phi_vectorize_cb, NULL); OPT(nir, nir_lower_frexp); OPT(nir, nir_copy_prop); OPT(nir, nir_opt_dce);