From 2dee289ff5c6c967666526cd36e9578f86bf2213 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 14 Jan 2025 15:47:00 +0000 Subject: [PATCH] Fix calculation of OOB bounds on vulkan --- renderdoc/core/gpu_address_range_tracker.cpp | 2 ++ renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/renderdoc/core/gpu_address_range_tracker.cpp b/renderdoc/core/gpu_address_range_tracker.cpp index 4a2c057be..92864c9f0 100644 --- a/renderdoc/core/gpu_address_range_tracker.cpp +++ b/renderdoc/core/gpu_address_range_tracker.cpp @@ -29,6 +29,8 @@ void GPUAddressRangeTracker::AddTo(const GPUAddressRange &range) { + RDCASSERT(range.oobEnd >= range.realEnd); + SCOPED_WRITELOCK(addressLock); // insert ranges ordered by start first, then by size. Ranges with different sizes starting at the diff --git a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp index 38774dec7..38e40a400 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp @@ -743,7 +743,7 @@ VkResult WrappedVulkan::vkAllocateMemory(VkDevice device, const VkMemoryAllocate record->AddChunk(chunk); - record->Length = memSize; + record->memSize = record->Length = memSize; uint32_t memProps = m_PhysicalDeviceData.memProps.memoryTypes[info.memoryTypeIndex].propertyFlags;