summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-11-02 01:23:11 +0000
committerEmil Velikov <emil.l.velikov@gmail.com>2016-11-09 23:46:32 +0000
commit2bbf964af84c3220245c1534951341fff4b4ee44 (patch)
tree53ab897a4a20461203fb76e46a3a89ff8554e1a0
parentfa6c02787e1c4d650b7aaa528a7c4e5e129e2906 (diff)
downloadexternal_mesa3d-2bbf964af84c3220245c1534951341fff4b4ee44.zip
external_mesa3d-2bbf964af84c3220245c1534951341fff4b4ee44.tar.gz
external_mesa3d-2bbf964af84c3220245c1534951341fff4b4ee44.tar.bz2
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" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 3c9af7578fcd62fc55e0443733f56b2aaa50ba9c)
-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 7740f6b..2cc256c 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);
}