From 691b63e79b24e9b44d8d98ef0af6649d4059eda3 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Thu, 17 Sep 2026 05:12:09 -0400 Subject: [PATCH] Quick adjustments on overlapped buffers --- src/video_core/buffer_cache/buffer_cache.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h index 4c345dd213..3165483388 100644 --- a/src/video_core/buffer_cache/buffer_cache.h +++ b/src/video_core/buffer_cache/buffer_cache.h @@ -1680,6 +1680,11 @@ BufferId BufferCache

::CreateBuffer(DAddr device_addr, u32 wanted_size, wanted_size = static_cast(device_addr_end - device_addr); const OverlapResult overlap = ResolveOverlaps(device_addr, wanted_size); const u32 size = static_cast(overlap.end - overlap.begin); + if constexpr (requires(Buffer& buffer) { buffer.IsSparseCompatible(); }) { + for (const BufferId overlap_id : overlap.ids) { + sparse_compatible |= slot_buffers[overlap_id].IsSparseCompatible(); + } + } const BufferId new_buffer_id = slot_buffers.insert(runtime, overlap.begin, size, sparse_compatible); auto& new_buffer = slot_buffers[new_buffer_id];