diff options
author | Alex Smith <[email protected]> | 2017-03-14 15:26:32 +0000 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2017-03-14 22:17:03 +0100 |
commit | e0cc32b85bd8cf5c2202037838a208983e2d793a (patch) | |
tree | 62e4f1c5e0eb6d84a95e197e6b7dd2eac3e4f533 /src/amd/vulkan/radv_meta_buffer.c | |
parent | cce43f6d8c40222099badaf52344d6a0eed993f3 (diff) |
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 <[email protected]>
Cc: 17.0 <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_meta_buffer.c')
-rw-r--r-- | src/amd/vulkan/radv_meta_buffer.c | 2 |
1 files changed, 2 insertions, 0 deletions
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); |