aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryuzubot <yuzu@yuzu-emu.org>2024-02-27 13:05:03 +0000
committeryuzubot <yuzu@yuzu-emu.org>2024-02-27 13:05:03 +0000
commit7160fa9d91a6172f41916118465748d096c3f0b7 (patch)
tree31e0b117791e866931fe0b9fd5bd6ae3730ca4a3
parent1bec420695ebf2636b575148080bf1dae2e78a65 (diff)
"Merge Tagged PR 13171"
-rw-r--r--src/video_core/texture_cache/texture_cache.h8
1 files 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<P>::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<P>::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));