mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-15 07:29:17 +01:00
[dxvk] Use copy_commands2 functions for image resolves
Same idea as with blits, don't expose VkImageResolve2.
This commit is contained in:
parent
ff81323228
commit
f39d49772d
@ -616,16 +616,8 @@ namespace dxvk {
|
||||
|
||||
|
||||
void cmdResolveImage(
|
||||
VkImage srcImage,
|
||||
VkImageLayout srcImageLayout,
|
||||
VkImage dstImage,
|
||||
VkImageLayout dstImageLayout,
|
||||
uint32_t regionCount,
|
||||
const VkImageResolve* pRegions) {
|
||||
m_vkd->vkCmdResolveImage(m_execBuffer,
|
||||
srcImage, srcImageLayout,
|
||||
dstImage, dstImageLayout,
|
||||
regionCount, pRegions);
|
||||
const VkResolveImageInfo2* resolveInfo) {
|
||||
m_vkd->vkCmdResolveImage2(m_execBuffer, resolveInfo);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3705,11 +3705,23 @@ namespace dxvk {
|
||||
}
|
||||
|
||||
m_execAcquires.recordCommands(m_cmd);
|
||||
|
||||
m_cmd->cmdResolveImage(
|
||||
srcImage->handle(), srcLayout,
|
||||
dstImage->handle(), dstLayout,
|
||||
1, ®ion);
|
||||
|
||||
VkImageResolve2 resolveRegion = { VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 };
|
||||
resolveRegion.srcSubresource = region.srcSubresource;
|
||||
resolveRegion.srcOffset = region.srcOffset;
|
||||
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(
|
||||
dstImage, dstSubresourceRange, dstLayout,
|
||||
|
Loading…
x
Reference in New Issue
Block a user