diff options
author | Dave Airlie <[email protected]> | 2017-09-13 03:49:31 +0100 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2017-09-13 21:13:03 +0100 |
commit | 64d9bd149aa7f5a09f73cae07499577933722fb2 (patch) | |
tree | 143489629eb87ee09944813698fa668f52adf9ff /src/amd/vulkan/radv_shader.c | |
parent | f9412a4e75eded35de2281c60efc2ebe1107400f (diff) |
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 <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_shader.c')
-rw-r--r-- | src/amd/vulkan/radv_shader.c | 1 |
1 files changed, 1 insertions, 0 deletions
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); |