From b4ced58acc7a5d7e3043acb6bb449d6252957184 Mon Sep 17 00:00:00 2001 From: psucien Date: Wed, 16 Oct 2024 23:46:20 +0200 Subject: [PATCH] hot-fix: a fallback when overlap resolve fails --- src/video_core/texture_cache/texture_cache.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/video_core/texture_cache/texture_cache.cpp b/src/video_core/texture_cache/texture_cache.cpp index 4813a3c57..00e6bea82 100644 --- a/src/video_core/texture_cache/texture_cache.cpp +++ b/src/video_core/texture_cache/texture_cache.cpp @@ -237,6 +237,16 @@ ImageId TextureCache::FindImage(const ImageInfo& info, FindFlags flags) { } } + if (image_id) { + Image& image_resoved = slot_images[image_id]; + + if (image_resoved.info.resources < info.resources) { + // The image was clearly picked up wrong. + FreeImage(image_id); + image_id = {}; + LOG_WARNING(Render_Vulkan, "Image overlap resolve failed"); + } + } // Create and register a new image if (!image_id) { image_id = slot_images.insert(instance, scheduler, info);