From 4d19e58f51c240a1e620c77c61f6b4eb38e3a69c Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Fri, 11 Oct 2024 21:27:13 +0200 Subject: [PATCH] [dxvk] Use new layout transition helper for copyImageFb --- src/dxvk/dxvk_context.cpp | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index fc10b8614..c7bb671ba 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -3786,27 +3786,12 @@ namespace dxvk { VkImageLayout srcLayout = (srcSubresource.aspectMask & VK_IMAGE_ASPECT_COLOR_BIT) ? srcImage->pickLayout(VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) : srcImage->pickLayout(VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL); - - if (srcImage->info().layout != srcLayout) { - m_execAcquires.accessImage( - srcImage, srcSubresourceRange, - srcImage->info().layout, - srcImage->info().stages, 0, - srcLayout, - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, - VK_ACCESS_SHADER_READ_BIT); - } - if (dstImage->info().layout != dstLayout || doDiscard) { - m_execAcquires.accessImage( - dstImage, dstSubresourceRange, - doDiscard ? VK_IMAGE_LAYOUT_UNDEFINED - : dstImage->info().layout, - dstImage->info().stages, 0, - dstLayout, dstStages, dstAccess); - } - - m_execAcquires.recordCommands(m_cmd); + addImageLayoutTransition(*srcImage, srcSubresourceRange, srcLayout, + VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, VK_ACCESS_2_SHADER_READ_BIT, false); + addImageLayoutTransition(*dstImage, dstSubresourceRange, dstLayout, + dstStages, dstAccess, doDiscard); + flushImageLayoutTransitions(DxvkCmdBuffer::ExecBuffer); // Create source and destination image views DxvkMetaCopyViews views(