diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index 721467eca..e3cb0a42d 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -3964,15 +3964,20 @@ namespace dxvk { m_cmd->cmdDraw(3, region.dstSubresource.layerCount, 0, 0); m_cmd->cmdEndRendering(); - if (srcImage->info().layout != srcLayout) { - m_execBarriers.accessImage( - srcImage, srcSubresourceRange, srcLayout, - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, - srcImage->info().layout, - srcImage->info().stages, - srcImage->info().access); - } - + m_execBarriers.accessImage( + srcImage, srcSubresourceRange, srcLayout, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, + srcImage->info().layout, + srcImage->info().stages, + srcImage->info().access); + + m_execBarriers.accessImage( + dstImage, dstSubresourceRange, + dstLayout, dstStages, dstAccess, + dstImage->info().layout, + dstImage->info().stages, + dstImage->info().access); + m_cmd->trackResource(dstImage); m_cmd->trackResource(srcImage); m_cmd->trackResource(views);