Mesa (master): radv: fix predication on gfx9

Dave Airlie airlied at kemper.freedesktop.org
Thu Aug 24 23:54:21 UTC 2017


Module: Mesa
Branch: master
Commit: 12fd0f8dc1fede75142f7eb369ca5c98bd41eb74
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12fd0f8dc1fede75142f7eb369ca5c98bd41eb74

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Aug 24 02:12:12 2017 +0100

radv: fix predication on gfx9

When I added gfx9 I did it wrong, this fixes it.

Fixes: 5247b311e9 "radv/gfx9: fix set predication packet."
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/vulkan/si_cmd_buffer.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c
index 913ec0e7d2..ef4f9264f9 100644
--- a/src/amd/vulkan/si_cmd_buffer.c
+++ b/src/amd/vulkan/si_cmd_buffer.c
@@ -1133,8 +1133,10 @@ si_emit_cache_flush(struct radv_cmd_buffer *cmd_buffer)
 void
 si_emit_set_predication_state(struct radv_cmd_buffer *cmd_buffer, uint64_t va)
 {
-	uint32_t op = PRED_OP(PREDICATION_OP_BOOL64) | PREDICATION_DRAW_VISIBLE;
+	uint32_t op = 0;
 
+	if (va)
+		op = PRED_OP(PREDICATION_OP_BOOL64) | PREDICATION_DRAW_VISIBLE;
 	if (cmd_buffer->device->physical_device->rad_info.chip_class >= GFX9) {
 		radeon_emit(cmd_buffer->cs, PKT3(PKT3_SET_PREDICATION, 2, 0));
 		radeon_emit(cmd_buffer->cs, op);




More information about the mesa-commit mailing list