diff options
author | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2016-12-12 08:42:44 +0100 |
---|---|---|
committer | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2016-12-18 20:52:29 +0100 |
commit | 3a559029e2d1a285afdc761453acd6ab35d8d1ca (patch) | |
tree | 003a84792b35663bc769a8b65b600293501ba295 /src/amd/vulkan/radv_meta_buffer.c | |
parent | b3499557a2b83269602c021c5c250e448c2aae93 (diff) |
radv: update vkCmdUpdateBuffer for the MEC.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/amd/vulkan/radv_meta_buffer.c')
-rw-r--r-- | src/amd/vulkan/radv_meta_buffer.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_meta_buffer.c b/src/amd/vulkan/radv_meta_buffer.c index 42297b9ce9..cd2973fa4a 100644 --- a/src/amd/vulkan/radv_meta_buffer.c +++ b/src/amd/vulkan/radv_meta_buffer.c @@ -515,6 +515,7 @@ void radv_CmdUpdateBuffer( { RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); RADV_FROM_HANDLE(radv_buffer, dst_buffer, dstBuffer); + bool mec = radv_cmd_buffer_uses_mec(cmd_buffer); uint64_t words = dataSize / 4; uint64_t va = cmd_buffer->device->ws->buffer_get_va(dst_buffer->bo); va += dstOffset + dst_buffer->offset; @@ -528,7 +529,8 @@ void radv_CmdUpdateBuffer( radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, words + 4); radeon_emit(cmd_buffer->cs, PKT3(PKT3_WRITE_DATA, 2 + words, 0)); - radeon_emit(cmd_buffer->cs, S_370_DST_SEL(V_370_MEMORY_SYNC) | + radeon_emit(cmd_buffer->cs, S_370_DST_SEL(mec ? + V_370_MEM_ASYNC : V_370_MEMORY_SYNC) | S_370_WR_CONFIRM(1) | S_370_ENGINE_SEL(V_370_ME)); radeon_emit(cmd_buffer->cs, va); |