From 64d9bd149aa7f5a09f73cae07499577933722fb2 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 13 Sep 2017 03:49:31 +0100 Subject: [PATCH] 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 --- src/amd/vulkan/radv_shader.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 1e25ea3..87deb7c 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); -- 2.7.4