1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-22 16:54:27 +01:00

[dxvk] Use new layout transition helper in resolveImageDs

This commit is contained in:
Philip Rebohle 2024-10-11 21:35:31 +02:00 committed by Philip Rebohle
parent 154eee96a0
commit 801ef39895

View File

@ -4248,26 +4248,13 @@ namespace dxvk {
&& srcLayout != VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL) && srcLayout != VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL)
srcLayout = srcImage->pickLayout(VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL); srcLayout = srcImage->pickLayout(VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
if (srcImage->info().layout != srcLayout) { addImageLayoutTransition(*srcImage, srcSubresourceRange, srcLayout,
m_execAcquires.accessImage(srcImage, srcSubresourceRange, VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
srcImage->info().layout, VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT, false);
srcImage->info().stages, 0, addImageLayoutTransition(*dstImage, dstSubresourceRange, dstLayout,
srcLayout, VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, true);
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, flushImageLayoutTransitions(DxvkCmdBuffer::ExecBuffer);
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT);
}
if (dstImage->info().layout != dstLayout) {
m_execAcquires.accessImage(dstImage, dstSubresourceRange,
VK_IMAGE_LAYOUT_UNDEFINED, dstImage->info().stages, 0,
dstLayout,
VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT |
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT);
}
m_execAcquires.recordCommands(m_cmd);
// Create a pair of views for the attachment resolve // Create a pair of views for the attachment resolve
DxvkMetaResolveViews views(dstImage, region.dstSubresource, DxvkMetaResolveViews views(dstImage, region.dstSubresource,