Skip to content

Commit

Permalink
[dxvk] Use granular image access tracking in copyImageHw
Browse files Browse the repository at this point in the history
  • Loading branch information
doitsujin committed Mar 2, 2025
1 parent d2b53b7 commit 106032f
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/dxvk/dxvk_context.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4171,8 +4171,8 @@ namespace dxvk {

auto dstFormatInfo = dstImage->formatInfo();

flushPendingAccesses(*dstImage, dstSubresourceRange, DxvkAccess::Write);
flushPendingAccesses(*srcImage, srcSubresourceRange, DxvkAccess::Read);
flushPendingAccesses(*dstImage, dstSubresource, dstOffset, extent, DxvkAccess::Write);
flushPendingAccesses(*srcImage, srcSubresource, srcOffset, extent, DxvkAccess::Read);

VkImageLayout dstImageLayout = dstImage->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
VkImageLayout srcImageLayout = srcImage->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
Expand Down Expand Up @@ -4217,10 +4217,10 @@ namespace dxvk {
m_cmd->cmdCopyImage(DxvkCmdBuffer::ExecBuffer, &copyInfo);
}

accessImage(DxvkCmdBuffer::ExecBuffer, *dstImage, dstSubresourceRange, dstImageLayout,
accessImageRegion(DxvkCmdBuffer::ExecBuffer, *dstImage, dstSubresource, dstOffset, extent, dstImageLayout,
VK_PIPELINE_STAGE_2_TRANSFER_BIT, VK_ACCESS_2_TRANSFER_WRITE_BIT, DxvkAccessOp::None);

accessImage(DxvkCmdBuffer::ExecBuffer, *srcImage, srcSubresourceRange, srcImageLayout,
accessImageRegion(DxvkCmdBuffer::ExecBuffer, *srcImage, srcSubresource, srcOffset, extent, srcImageLayout,
VK_PIPELINE_STAGE_2_TRANSFER_BIT, VK_ACCESS_2_TRANSFER_READ_BIT, DxvkAccessOp::None);

m_cmd->track(dstImage, DxvkAccess::Write);
Expand Down

0 comments on commit 106032f

Please sign in to comment.