diff --git a/src/graphics/host_gpu/renderer/cache/bufferCache.cpp b/src/graphics/host_gpu/renderer/cache/bufferCache.cpp index 11fa83784..4778661f2 100644 --- a/src/graphics/host_gpu/renderer/cache/bufferCache.cpp +++ b/src/graphics/host_gpu/renderer/cache/bufferCache.cpp @@ -466,9 +466,10 @@ std::pair BufferCache::ObtainBuffer(uint64_t vaddr, uint64_t const auto alignment = std::max( m_graphics.physical_device_properties.limits.minUniformBufferOffsetAlignment, 1); auto [mapped, offset] = m_stream_buffer.Map(size, alignment); - EXIT_IF(mapped == nullptr || !Libs::LibKernel::Memory::TryReadBacking(vaddr, mapped, size)); - m_stream_buffer.Commit(); - return {&m_stream_buffer, offset}; + if (mapped != nullptr && Libs::LibKernel::Memory::TryReadBacking(vaddr, mapped, size)) { + m_stream_buffer.Commit(); + return {&m_stream_buffer, offset}; + } } auto* buffer = m_slot_buffers.try_get(id);