From c2edd0f9bbb509cc00e4115e9f8dbecf9c15d0b5 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sat, 12 Oct 2024 10:04:11 +0200 Subject: [PATCH] [dxvk] Use new barrier helpers in resolveImageFb --- src/dxvk/dxvk_context.cpp | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index 1f6f80fad..c736f4bc6 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -4150,9 +4150,8 @@ namespace dxvk { return; } - if (m_execBarriers.isImageDirty(dstImage, dstSubresourceRange, DxvkAccess::Write) - || m_execBarriers.isImageDirty(srcImage, srcSubresourceRange, DxvkAccess::Write)) - m_execBarriers.recordCommands(m_cmd); + flushPendingAccesses(*dstImage, dstSubresourceRange, DxvkAccess::Write); + flushPendingAccesses(*srcImage, srcSubresourceRange, DxvkAccess::Read); // Discard the destination image if we're fully writing it, // and transition the image layout if necessary @@ -4299,19 +4298,14 @@ namespace dxvk { m_cmd->cmdDraw(3, region.dstSubresource.layerCount, 0, 0); m_cmd->cmdEndRendering(); - m_execBarriers.accessImage( - srcImage, srcSubresourceRange, srcLayout, - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, - srcImage->info().layout, - srcImage->info().stages, - srcImage->info().access); + accessImage(DxvkCmdBuffer::ExecBuffer, + *srcImage, srcSubresourceRange, srcLayout, + VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, + VK_ACCESS_2_SHADER_READ_BIT); - m_execBarriers.accessImage( - dstImage, dstSubresourceRange, - dstLayout, dstStages, dstAccess, - dstImage->info().layout, - dstImage->info().stages, - dstImage->info().access); + accessImage(DxvkCmdBuffer::ExecBuffer, + *dstImage, dstSubresourceRange, + dstLayout, dstStages, dstAccess); m_cmd->trackResource(dstImage); m_cmd->trackResource(srcImage);