aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-11-01 13:26:24 -0500
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-11-01 13:26:24 -0500
commit0340b1770b5a81051e808cf563f31a73eedfa419 (patch)
tree557e6090b2e815dbb0ebb32c89bbe0d4b4caa0f4
parent65cf07681a86cfb1edb1097d5c30031f955c2701 (diff)
parentf398ff2e17f4e86701b698e68886e09d387889af (diff)
Merge remote-tracking branch 'origin/fix/texture-cache-free-slots' into test/linux-all-prs
-rw-r--r--src/video_core/texture_cache/texture_cache.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index c9ee4d91de..8ff3e012e1 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -3040,6 +3040,7 @@ void TextureCache<P>::DeleteImage(ImageId image_id, bool immediate_delete) {
alloc_images.erase(alloc_image_it);
if (alloc_images.empty()) {
image_allocs_table.erase(alloc_it);
+ slot_image_allocs.erase(alloc_id);
}
for (size_t c : active_channel_ids) {
auto& channel_info = channel_storage[c];
@@ -3092,6 +3093,7 @@ void TextureCache<P>::RemoveFramebuffers(std::span<const ImageViewId> removed_vi
last_framebuffer_serial = 0;
}
sentenced_framebuffers.Push(std::move(slot_framebuffers[framebuffer_id]));
+ slot_framebuffers.erase(framebuffer_id);
it = framebuffers.erase(it);
} else {
++it;