From c7b7d3dbcc0c61dad3837e7c5abaaeac99c31880 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 4 May 2021 12:21:51 +0100 Subject: [PATCH] Clamp masked writes to mapped memory region against size. Closes #2268 * When manually masking writes to mapped memory with tiled resources we need to avoid overrunning the bounds of the mapped region. --- renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp index edacf9137..7b5f7d8c8 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp @@ -1103,6 +1103,9 @@ bool WrappedVulkan::Serialise_vkFlushMappedMemoryRanges(SerialiserType &ser, VkD // *sooner*. size_t size = size_t(RDCMIN(it->finish(), finish) - offs); + // cap the size by the mapped memory region + size = RDCMIN(MemRange.size, size); + memcpy(MappedData + offs, m_MaskedMapData.data() + offs, size); }