From: Dave Airlie Date: Wed, 13 Sep 2017 02:49:31 +0000 (+0100) Subject: radv/nir: call opt_remove_phis after trivial continues. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=64d9bd149aa7f5a09f73cae07499577933722fb2;p=mesa.git radv/nir: call opt_remove_phis after trivial continues. With the shaders in the ssao demo, the nir_opt_if wasn't working properly without this, after this the if gets optimised so that loop unrolling gets called. (loop unrolling fails due to instruction count, but at least it gets to do that.) Reviewed-by: Timothy Arceri Cc: "17.2" Signed-off-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 1e25ea378ea..87deb7c3ab7 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -129,6 +129,7 @@ radv_optimize_nir(struct nir_shader *shader) if (nir_opt_trivial_continues(shader)) { progress = true; NIR_PASS(progress, shader, nir_copy_prop); + NIR_PASS(progress, shader, nir_opt_remove_phis); NIR_PASS(progress, shader, nir_opt_dce); } NIR_PASS(progress, shader, nir_opt_if);