1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-14 22:29:15 +01:00

[dxvk] Use copy_commands2 functions for image resolves

Same idea as with blits, don't expose VkImageResolve2.
This commit is contained in:
Philip Rebohle 2022-07-19 14:10:47 +02:00
parent ff81323228
commit f39d49772d
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
2 changed files with 19 additions and 15 deletions

View File

@ -616,16 +616,8 @@ namespace dxvk {
void cmdResolveImage( void cmdResolveImage(
VkImage srcImage, const VkResolveImageInfo2* resolveInfo) {
VkImageLayout srcImageLayout, m_vkd->vkCmdResolveImage2(m_execBuffer, resolveInfo);
VkImage dstImage,
VkImageLayout dstImageLayout,
uint32_t regionCount,
const VkImageResolve* pRegions) {
m_vkd->vkCmdResolveImage(m_execBuffer,
srcImage, srcImageLayout,
dstImage, dstImageLayout,
regionCount, pRegions);
} }

View File

@ -3705,11 +3705,23 @@ namespace dxvk {
} }
m_execAcquires.recordCommands(m_cmd); m_execAcquires.recordCommands(m_cmd);
m_cmd->cmdResolveImage( VkImageResolve2 resolveRegion = { VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 };
srcImage->handle(), srcLayout, resolveRegion.srcSubresource = region.srcSubresource;
dstImage->handle(), dstLayout, resolveRegion.srcOffset = region.srcOffset;
1, &region); resolveRegion.dstSubresource = region.dstSubresource;
resolveRegion.dstOffset = region.dstOffset;
resolveRegion.extent = region.extent;
VkResolveImageInfo2 resolveInfo = { VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 };
resolveInfo.srcImage = srcImage->handle();
resolveInfo.srcImageLayout = srcLayout;
resolveInfo.dstImage = dstImage->handle();
resolveInfo.dstImageLayout = dstLayout;
resolveInfo.regionCount = 1;
resolveInfo.pRegions = &resolveRegion;
m_cmd->cmdResolveImage(&resolveInfo);
m_execBarriers.accessImage( m_execBarriers.accessImage(
dstImage, dstSubresourceRange, dstLayout, dstImage, dstSubresourceRange, dstLayout,