Process VK_WHOLE_SIZE before marking memory as referenced

This commit is contained in:
baldurk
2019-09-10 18:32:23 +01:00
parent 2ef06d3f6f
commit 554b96d619
@@ -812,8 +812,14 @@ VkResult WrappedVulkan::vkFlushMappedMemoryRanges(VkDevice device, uint32_t memR
if(capframe)
{
GetResourceManager()->MarkMemoryFrameReferenced(GetResID(pMemRanges[i].memory),
pMemRanges[i].offset, pMemRanges[i].size,
VkDeviceSize offs = pMemRanges[i].offset;
VkDeviceSize size = pMemRanges[i].size;
// map VK_WHOLE_SIZE into a specific size
if(size == VK_WHOLE_SIZE)
size = state->mapOffset + state->mapSize - offs;
GetResourceManager()->MarkMemoryFrameReferenced(GetResID(pMemRanges[i].memory), offs, size,
eFrameRef_CompleteWrite);
}
else