mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-14 22:29:15 +01:00
[dxvk] Use granular image access tracking in copyImageHw
This commit is contained in:
parent
e280b137c6
commit
58d5a59a6c
@ -4171,8 +4171,8 @@ namespace dxvk {
|
|||||||
|
|
||||||
auto dstFormatInfo = dstImage->formatInfo();
|
auto dstFormatInfo = dstImage->formatInfo();
|
||||||
|
|
||||||
flushPendingAccesses(*dstImage, dstSubresourceRange, DxvkAccess::Write);
|
flushPendingAccesses(*dstImage, dstSubresource, dstOffset, extent, DxvkAccess::Write);
|
||||||
flushPendingAccesses(*srcImage, srcSubresourceRange, DxvkAccess::Read);
|
flushPendingAccesses(*srcImage, srcSubresource, srcOffset, extent, DxvkAccess::Read);
|
||||||
|
|
||||||
VkImageLayout dstImageLayout = dstImage->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
|
VkImageLayout dstImageLayout = dstImage->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
|
||||||
VkImageLayout srcImageLayout = srcImage->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
|
VkImageLayout srcImageLayout = srcImage->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
|
||||||
@ -4217,10 +4217,10 @@ namespace dxvk {
|
|||||||
m_cmd->cmdCopyImage(DxvkCmdBuffer::ExecBuffer, ©Info);
|
m_cmd->cmdCopyImage(DxvkCmdBuffer::ExecBuffer, ©Info);
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
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);
|
VK_PIPELINE_STAGE_2_TRANSFER_BIT, VK_ACCESS_2_TRANSFER_READ_BIT, DxvkAccessOp::None);
|
||||||
|
|
||||||
m_cmd->track(dstImage, DxvkAccess::Write);
|
m_cmd->track(dstImage, DxvkAccess::Write);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user