diff options
| author | 2024-02-26 09:51:19 -0500 | |
|---|---|---|
| committer | 2024-02-26 10:26:27 -0500 | |
| commit | fd9ed54f279e40a415075c4ae748bef7c5ceb1ff (patch) | |
| tree | e5abe6770723f20c2c4f66f4394e2cf2cdc828dc /src/video_core | |
| parent | Merge pull request #13164 from merryhime/reset-submodules (diff) | |
| download | yuzu-fd9ed54f279e40a415075c4ae748bef7c5ceb1ff.tar.gz yuzu-fd9ed54f279e40a415075c4ae748bef7c5ceb1ff.tar.xz yuzu-fd9ed54f279e40a415075c4ae748bef7c5ceb1ff.zip | |
texture_cache: do not track invalid addresses
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 8 |
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) { | |||
| 2098 | ASSERT(False(image.flags & ImageFlagBits::Tracked)); | 2098 | ASSERT(False(image.flags & ImageFlagBits::Tracked)); |
| 2099 | image.flags |= ImageFlagBits::Tracked; | 2099 | image.flags |= ImageFlagBits::Tracked; |
| 2100 | if (False(image.flags & ImageFlagBits::Sparse)) { | 2100 | if (False(image.flags & ImageFlagBits::Sparse)) { |
| 2101 | device_memory.UpdatePagesCachedCount(image.cpu_addr, image.guest_size_bytes, 1); | 2101 | if (image.cpu_addr < ~(1ULL << 40)) { |
| 2102 | device_memory.UpdatePagesCachedCount(image.cpu_addr, image.guest_size_bytes, 1); | ||
| 2103 | } | ||
| 2102 | return; | 2104 | return; |
| 2103 | } | 2105 | } |
| 2104 | if (True(image.flags & ImageFlagBits::Registered)) { | 2106 | if (True(image.flags & ImageFlagBits::Registered)) { |
| @@ -2124,7 +2126,9 @@ void TextureCache<P>::UntrackImage(ImageBase& image, ImageId image_id) { | |||
| 2124 | ASSERT(True(image.flags & ImageFlagBits::Tracked)); | 2126 | ASSERT(True(image.flags & ImageFlagBits::Tracked)); |
| 2125 | image.flags &= ~ImageFlagBits::Tracked; | 2127 | image.flags &= ~ImageFlagBits::Tracked; |
| 2126 | if (False(image.flags & ImageFlagBits::Sparse)) { | 2128 | if (False(image.flags & ImageFlagBits::Sparse)) { |
| 2127 | device_memory.UpdatePagesCachedCount(image.cpu_addr, image.guest_size_bytes, -1); | 2129 | if (image.cpu_addr < ~(1ULL << 40)) { |
| 2130 | device_memory.UpdatePagesCachedCount(image.cpu_addr, image.guest_size_bytes, -1); | ||
| 2131 | } | ||
| 2128 | return; | 2132 | return; |
| 2129 | } | 2133 | } |
| 2130 | ASSERT(True(image.flags & ImageFlagBits::Registered)); | 2134 | ASSERT(True(image.flags & ImageFlagBits::Registered)); |