Mesa (staging/18.2): radv: Emit enqueued pipeline barriers on event write.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Oct 26 10:14:15 UTC 2018
Module: Mesa
Branch: staging/18.2
Commit: a0aa50c3f68d1ba3fd8f15acb59a8e2c73ba9a2b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0aa50c3f68d1ba3fd8f15acb59a8e2c73ba9a2b
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date: Tue Oct 23 10:54:24 2018 +0200
radv: Emit enqueued pipeline barriers on event write.
Since the CPU can read them we need to execute any GPU->CPU
flushes before the event is written.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108524
Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
(cherry picked from commit d41c3cc01314fd2586ad2392a05647197d04c28d)
---
src/amd/vulkan/radv_cmd_buffer.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 8b7691eda0..dae6440689 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -4347,6 +4347,8 @@ static void write_event(struct radv_cmd_buffer *cmd_buffer,
struct radeon_cmdbuf *cs = cmd_buffer->cs;
uint64_t va = radv_buffer_get_va(event->bo);
+ si_emit_cache_flush(cmd_buffer);
+
radv_cs_add_buffer(cmd_buffer->device->ws, cs, event->bo);
MAYBE_UNUSED unsigned cdw_max = radeon_check_space(cmd_buffer->device->ws, cs, 18);
More information about the mesa-commit
mailing list