From 7160fa9d91a6172f41916118465748d096c3f0b7 Mon Sep 17 00:00:00 2001 From: yuzubot Date: Tue, 27 Feb 2024 13:05:03 +0000 Subject: [PATCH] "Merge Tagged PR 13171" --- src/video_core/texture_cache/texture_cache.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 53b4876f2..bfd3d00b6 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -2098,7 +2098,9 @@ void TextureCache

::TrackImage(ImageBase& image, ImageId image_id) { ASSERT(False(image.flags & ImageFlagBits::Tracked)); image.flags |= ImageFlagBits::Tracked; if (False(image.flags & ImageFlagBits::Sparse)) { - device_memory.UpdatePagesCachedCount(image.cpu_addr, image.guest_size_bytes, 1); + if (image.cpu_addr < ~(1ULL << 40)) { + device_memory.UpdatePagesCachedCount(image.cpu_addr, image.guest_size_bytes, 1); + } return; } if (True(image.flags & ImageFlagBits::Registered)) { @@ -2124,7 +2126,9 @@ void TextureCache

::UntrackImage(ImageBase& image, ImageId image_id) { ASSERT(True(image.flags & ImageFlagBits::Tracked)); image.flags &= ~ImageFlagBits::Tracked; if (False(image.flags & ImageFlagBits::Sparse)) { - device_memory.UpdatePagesCachedCount(image.cpu_addr, image.guest_size_bytes, -1); + if (image.cpu_addr < ~(1ULL << 40)) { + device_memory.UpdatePagesCachedCount(image.cpu_addr, image.guest_size_bytes, -1); + } return; } ASSERT(True(image.flags & ImageFlagBits::Registered));