radv: Implement buffer copies on transfer queues.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26580>
This commit is contained in:
Timur Kristóf 2023-10-13 23:17:45 +02:00 committed by Marge Bot
parent a632024700
commit 635c81f723

View file

@ -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);