summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_core/texture_cache/texture_cache.h7
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
1169 ForEachImageInRegion(cpu_addr, size_bytes, region_check); 1169 ForEachImageInRegion(cpu_addr, size_bytes, region_check);
1170 const auto region_check_gpu = [&](ImageId overlap_id, ImageBase& overlap) { 1170 const auto region_check_gpu = [&](ImageId overlap_id, ImageBase& overlap) {
1171 if (!overlaps_found.contains(overlap_id)) { 1171 if (!overlaps_found.contains(overlap_id)) {
1172 ignore_textures.insert(overlap_id); 1172 if (True(overlap.flags & ImageFlagBits::Remapped)) {
1173 ignore_textures.insert(overlap_id);
1174 }
1175 if (overlap.gpu_addr == gpu_addr && overlap.guest_size_bytes == size_bytes) {
1176 ignore_textures.insert(overlap_id);
1177 }
1173 } 1178 }
1174 }; 1179 };
1175 ForEachSparseImageInRegion(gpu_addr, size_bytes, region_check_gpu); 1180 ForEachSparseImageInRegion(gpu_addr, size_bytes, region_check_gpu);