diff options
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/buffer_cache/buffer_base.h | 3 | ||||
| -rw-r--r-- | src/video_core/texture_cache/util.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/buffer_cache/buffer_base.h b/src/video_core/buffer_cache/buffer_base.h index 0c00ae280..a39505903 100644 --- a/src/video_core/buffer_cache/buffer_base.h +++ b/src/video_core/buffer_cache/buffer_base.h | |||
| @@ -476,6 +476,9 @@ private: | |||
| 476 | current_size = 0; | 476 | current_size = 0; |
| 477 | on_going = false; | 477 | on_going = false; |
| 478 | } | 478 | } |
| 479 | if (empty_bits == PAGES_PER_WORD) { | ||
| 480 | break; | ||
| 481 | } | ||
| 479 | page += empty_bits; | 482 | page += empty_bits; |
| 480 | 483 | ||
| 481 | const int continuous_bits = std::countr_one(word >> page); | 484 | const int continuous_bits = std::countr_one(word >> page); |
diff --git a/src/video_core/texture_cache/util.cpp b/src/video_core/texture_cache/util.cpp index 8c4a5523b..906604a39 100644 --- a/src/video_core/texture_cache/util.cpp +++ b/src/video_core/texture_cache/util.cpp | |||
| @@ -647,6 +647,9 @@ u32 CalculateLayerSize(const ImageInfo& info) noexcept { | |||
| 647 | } | 647 | } |
| 648 | 648 | ||
| 649 | LevelArray CalculateMipLevelOffsets(const ImageInfo& info) noexcept { | 649 | LevelArray CalculateMipLevelOffsets(const ImageInfo& info) noexcept { |
| 650 | if (info.type == ImageType::Linear) { | ||
| 651 | return {}; | ||
| 652 | } | ||
| 650 | ASSERT(info.resources.levels <= static_cast<s32>(MAX_MIP_LEVELS)); | 653 | ASSERT(info.resources.levels <= static_cast<s32>(MAX_MIP_LEVELS)); |
| 651 | const LevelInfo level_info = MakeLevelInfo(info); | 654 | const LevelInfo level_info = MakeLevelInfo(info); |
| 652 | LevelArray offsets{}; | 655 | LevelArray offsets{}; |