From fe867d03f69004ed1a8e6fe2d1d68c0ef2544729 Mon Sep 17 00:00:00 2001 From: nmzik Date: Tue, 18 Aug 2026 02:49:31 +0200 Subject: [PATCH] renderer: remove duplicate buffer containment checks --- .../host_gpu/renderer/cache/bufferCache.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/graphics/host_gpu/renderer/cache/bufferCache.cpp b/src/graphics/host_gpu/renderer/cache/bufferCache.cpp index b5e18aa..8c23244 100644 --- a/src/graphics/host_gpu/renderer/cache/bufferCache.cpp +++ b/src/graphics/host_gpu/renderer/cache/bufferCache.cpp @@ -401,17 +401,14 @@ BufferCache::CachedBuffer& BufferCache::GetOrCreateBuffer(CommandBuffer& command uint64_t size) { const auto begin = AlignDown(vaddr); const auto end = AlignUp(vaddr + size); - auto it = m_buffers.upper_bound(vaddr); - if (it != m_buffers.begin()) { - auto previous = std::prev(it); - if (previous->second->buffer->IsInBounds(vaddr, size)) { - it = previous; + const auto next = m_buffers.upper_bound(vaddr); + if (next != m_buffers.begin()) { + auto owner = std::prev(next); + if (owner->second->buffer->IsInBounds(vaddr, size)) { + owner->second->tick_accessed_last = m_gc_tick; + return *owner->second; } } - if (it != m_buffers.end() && it->second->buffer->IsInBounds(vaddr, size)) { - it->second->tick_accessed_last = m_gc_tick; - return *it->second; - } CacheRange merged {.address = begin, .size = end - begin}; using Iterator = decltype(m_buffers.begin());