From e0cc32b85bd8cf5c2202037838a208983e2d793a Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Tue, 14 Mar 2017 15:26:32 +0000 Subject: [PATCH] radv: Flush before copying with PKT3_WRITE_DATA in CmdUpdateBuffer Need to flush before updating the buffer to ensure that the copy is ordered after previous accesses (assuming the app has performed the appropriate barriers). This fixes potential issues due to draws prior to an update reading the new buffer content, despite having the necessary barriers between them. Signed-off-by: Alex Smith Cc: 17.0 Reviewed-by: Bas Nieuwenhuizen Reviewed-by: Dave Airlie --- src/amd/vulkan/radv_meta_buffer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/amd/vulkan/radv_meta_buffer.c b/src/amd/vulkan/radv_meta_buffer.c index cd2973fa4a9..1e94f3b5866 100644 --- a/src/amd/vulkan/radv_meta_buffer.c +++ b/src/amd/vulkan/radv_meta_buffer.c @@ -524,6 +524,8 @@ void radv_CmdUpdateBuffer( assert(!(va & 3)); if (dataSize < 4096) { + si_emit_cache_flush(cmd_buffer); + cmd_buffer->device->ws->cs_add_buffer(cmd_buffer->cs, dst_buffer->bo, 8); radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, words + 4); -- 2.30.2