diff --git a/renderdoc/driver/vulkan/vk_initstate.cpp b/renderdoc/driver/vulkan/vk_initstate.cpp index 58ad96bf0..0fb5ce445 100644 --- a/renderdoc/driver/vulkan/vk_initstate.cpp +++ b/renderdoc/driver/vulkan/vk_initstate.cpp @@ -506,13 +506,6 @@ bool WrappedVulkan::Prepare_InitialState(WrappedVkRes *res) if(readbackmem.mem == VK_NULL_HANDLE) return false; - // dummy request to keep the validation layers happy - the buffers are identical so the - // requirements must be identical - { - VkMemoryRequirements mrq = {0}; - ObjDisp(d)->GetBufferMemoryRequirements(Unwrap(d), Unwrap(dstBuf), &mrq); - } - CheckVkResult(vkr); vkr = ObjDisp(d)->BindBufferMemory(Unwrap(d), Unwrap(dstBuf), Unwrap(readbackmem.mem), readbackmem.offs); diff --git a/renderdoc/driver/vulkan/vk_outputwindow.cpp b/renderdoc/driver/vulkan/vk_outputwindow.cpp index 959bdff76..df199aedc 100644 --- a/renderdoc/driver/vulkan/vk_outputwindow.cpp +++ b/renderdoc/driver/vulkan/vk_outputwindow.cpp @@ -693,7 +693,7 @@ void VulkanReplay::GetOutputWindowData(uint64_t id, bytebuf &retData) vt->GetBufferMemoryRequirements(Unwrap(device), readbackBuf, &mrq); VkMemoryAllocateInfo allocInfo = { - VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, NULL, bufInfo.size, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, NULL, mrq.size, m_pDriver->GetReadbackMemoryIndex(mrq.memoryTypeBits), }; diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index 3a66b7495..6b9937a2d 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -3861,7 +3861,7 @@ void VulkanReplay::GetTextureData(ResourceId tex, const Subresource &sub, vt->GetBufferMemoryRequirements(Unwrap(dev), readbackBuf, &mrq); VkMemoryAllocateInfo allocInfo = { - VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, NULL, dataSize, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, NULL, mrq.size, m_pDriver->GetReadbackMemoryIndex(mrq.memoryTypeBits), };