Module: Mesa Branch: main Commit: 635c81f72393613c5ae4e37378e284fb5bea9cf5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=635c81f72393613c5ae4e37378e284fb5bea9cf5
Author: Timur Kristóf <[email protected]> Date: Fri Oct 13 23:17:45 2023 +0200 radv: Implement buffer copies on transfer queues. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26580> --- src/amd/vulkan/meta/radv_meta_buffer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/meta/radv_meta_buffer.c b/src/amd/vulkan/meta/radv_meta_buffer.c index 20e380fbd71..ded653770b1 100644 --- a/src/amd/vulkan/meta/radv_meta_buffer.c +++ b/src/amd/vulkan/meta/radv_meta_buffer.c @@ -264,7 +264,9 @@ radv_copy_buffer(struct radv_cmd_buffer *cmd_buffer, struct radeon_winsys_bo *sr radv_cs_add_buffer(cmd_buffer->device->ws, cmd_buffer->cs, src_bo); radv_cs_add_buffer(cmd_buffer->device->ws, cmd_buffer->cs, dst_bo); - if (use_compute) + if (cmd_buffer->qf == RADV_QUEUE_TRANSFER) + radv_sdma_copy_buffer(cmd_buffer->device, cmd_buffer->cs, src_va, dst_va, size); + else if (use_compute) copy_buffer_shader(cmd_buffer, src_va, dst_va, size); else if (size) si_cp_dma_buffer_copy(cmd_buffer, src_va, dst_va, size);
