diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2021-06-13 15:47:54 +0200 |
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2021-06-16 21:35:02 +0200 |
| commit | 978aabb1d0dff6446ea469652d94e9d47c2d9fd0 (patch) | |
| tree | 21aced60b83b8bc16fb8920a4911b4a2070ddd81 /src/video_core/texture_cache/image_base.cpp | |
| parent | cb0d987c902e5df7f1f1b6846c21b9d56cfea746 (diff) | |
Reaper: Tune it up to be an smart GC.
Diffstat (limited to 'src/video_core/texture_cache/image_base.cpp')
| -rw-r--r-- | src/video_core/texture_cache/image_base.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/image_base.cpp b/src/video_core/texture_cache/image_base.cpp index bd0e7e64ed..ad69d32d1f 100644 --- a/src/video_core/texture_cache/image_base.cpp +++ b/src/video_core/texture_cache/image_base.cpp @@ -130,6 +130,26 @@ bool ImageBase::IsSafeDownload() const noexcept { return true; } +void ImageBase::CheckBadOverlapState() { + if (False(flags & ImageFlagBits::BadOverlap)) { + return; + } + if (!overlapping_images.empty()) { + return; + } + flags &= ~ImageFlagBits::BadOverlap; +} + +void ImageBase::CheckAliasState() { + if (False(flags & ImageFlagBits::Alias)) { + return; + } + if (!aliased_images.empty()) { + return; + } + flags &= ~ImageFlagBits::Alias; +} + void AddImageAlias(ImageBase& lhs, ImageBase& rhs, ImageId lhs_id, ImageId rhs_id) { static constexpr auto OPTIONS = RelaxedOptions::Size | RelaxedOptions::Format; ASSERT(lhs.info.type == rhs.info.type); |
