summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2016-11-02 01:23:11 +0000
committerEmil Velikov <[email protected]>2016-11-09 23:46:32 +0000
commit2bbf964af84c3220245c1534951341fff4b4ee44 (patch)
tree53ab897a4a20461203fb76e46a3a89ff8554e1a0 /src/amd/vulkan
parentfa6c02787e1c4d650b7aaa528a7c4e5e129e2906 (diff)
radv: enable conditional discard optimisation on radv.
This fixes a bunch of GPU hangs introduced in some CTS tests like dEQP-VK.memory.pipeline_barrier.host_write_uniform_buffer.65536 It works around an issue seen in the LLVM backend, but also makes the radv code work more like the radeonsi stack. Cc: "13.0" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 3c9af7578fcd62fc55e0443733f56b2aaa50ba9c)
Diffstat (limited to 'src/amd/vulkan')
-rw-r--r--src/amd/vulkan/radv_pipeline.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index 7740f6b0cf5..2cc256ca568 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -144,6 +144,7 @@ radv_optimize_nir(struct nir_shader *shader)
NIR_PASS(progress, shader, nir_opt_algebraic);
NIR_PASS(progress, shader, nir_opt_constant_folding);
NIR_PASS(progress, shader, nir_opt_undef);
+ NIR_PASS(progress, shader, nir_opt_conditional_discard);
} while (progress);
}