diff options
| -rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 8b1aa8122..e3542301e 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -1169,7 +1169,12 @@ ImageId TextureCache<P>::JoinImages(const ImageInfo& info, GPUVAddr gpu_addr, VA      ForEachImageInRegion(cpu_addr, size_bytes, region_check);      const auto region_check_gpu = [&](ImageId overlap_id, ImageBase& overlap) {          if (!overlaps_found.contains(overlap_id)) { -            ignore_textures.insert(overlap_id); +            if (True(overlap.flags & ImageFlagBits::Remapped)) { +                ignore_textures.insert(overlap_id); +            } +            if (overlap.gpu_addr == gpu_addr && overlap.guest_size_bytes == size_bytes) { +                ignore_textures.insert(overlap_id); +            }          }      };      ForEachSparseImageInRegion(gpu_addr, size_bytes, region_check_gpu);  | 
