summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2021-07-04 16:36:31 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2021-07-04 22:32:36 +0200
commitc6a9e91784957877d86c50b1cf1807265fafe65a (patch)
treebe4895df7392745781b5be9947062984c2b7f887
parentTexture Cache: Fix GCC & Clang. (diff)
downloadyuzu-c6a9e91784957877d86c50b1cf1807265fafe65a.tar
yuzu-c6a9e91784957877d86c50b1cf1807265fafe65a.tar.gz
yuzu-c6a9e91784957877d86c50b1cf1807265fafe65a.tar.bz2
yuzu-c6a9e91784957877d86c50b1cf1807265fafe65a.tar.lz
yuzu-c6a9e91784957877d86c50b1cf1807265fafe65a.tar.xz
yuzu-c6a9e91784957877d86c50b1cf1807265fafe65a.tar.zst
yuzu-c6a9e91784957877d86c50b1cf1807265fafe65a.zip
-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
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);