From c286c011363c05af09965ec4aa4e8733d86edfed Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Mon, 29 Jan 2024 08:56:18 -0800 Subject: [PATCH] dzn: Add barrier to copy source for DispatchIndirect copies Part-of: --- src/microsoft/vulkan/dzn_cmd_buffer.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/microsoft/vulkan/dzn_cmd_buffer.c b/src/microsoft/vulkan/dzn_cmd_buffer.c index 4237333d513..16bea532d04 100644 --- a/src/microsoft/vulkan/dzn_cmd_buffer.c +++ b/src/microsoft/vulkan/dzn_cmd_buffer.c @@ -5790,6 +5790,17 @@ dzn_CmdDispatchIndirect(VkCommandBuffer commandBuffer, if (result != VK_SUCCESS) return; + if (cmdbuf->enhanced_barriers) { + dzn_cmd_buffer_buffer_barrier(cmdbuf, buf->res, + D3D12_BARRIER_SYNC_EXECUTE_INDIRECT, D3D12_BARRIER_SYNC_COPY, + D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT, D3D12_BARRIER_ACCESS_COPY_SOURCE); + } else { + dzn_cmd_buffer_queue_transition_barriers(cmdbuf, buf->res, 0, 1, + D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT, + D3D12_RESOURCE_STATE_COPY_SOURCE, + DZN_QUEUE_TRANSITION_FLUSH); + } + ID3D12GraphicsCommandList1_CopyBufferRegion(cmdbuf->cmdlist, exec_buf, 0, buf->res, offset,