From: Alyssa Rosenzweig Date: Mon, 9 Mar 2020 23:56:35 +0000 (-0400) Subject: pan/bi: Lower vec* to writemasks in NIR X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=330e9a66968056330ac030e4ecb738eb3c8489e9;p=mesa.git pan/bi: Lower vec* to writemasks in NIR I was hoping not to tread down this path but it seems inevitable now. Signed-off-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index 0bda7b1c9dc..0f1922c9513 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -548,6 +548,14 @@ bi_optimize_nir(nir_shader *nir) /* Take us out of SSA */ NIR_PASS(progress, nir, nir_lower_locals_to_regs); NIR_PASS(progress, nir, nir_convert_from_ssa, true); + + /* We're a primary scalar architecture but there's enough vector that + * we use a vector IR so let's not also deal with scalar hacks on top + * of the vector hacks */ + + NIR_PASS(progress, nir, nir_move_vec_src_uses_to_dest); + NIR_PASS(progress, nir, nir_lower_vec_to_movs); + NIR_PASS(progress, nir, nir_opt_dce); } void