aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
diff options
context:
space:
mode:
authorMaranBr <maranbr@outlook.com>2025-11-07 01:42:52 +0100
committercrueter <crueter@eden-emu.dev>2025-11-07 01:42:52 +0100
commit569dbfe8c04e5f852ef4db17f5f219fe2da27228 (patch)
tree02512e96e397a2e28e151999b6a4ea1db486d68a /src/video_core/texture_cache
parent8412e64bb0aa008e63dab544352c438000cf0d37 (diff)
[video_core] Increase MAX_MIP_LEVELS to 16 according to specs (#2965)
This increases MAX_MIP_LEVELS from 14 to 16, according to specs. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2965 Reviewed-by: Maufeat <sahyno1996@gmail.com> Co-authored-by: MaranBr <maranbr@outlook.com> Co-committed-by: MaranBr <maranbr@outlook.com>
Diffstat (limited to 'src/video_core/texture_cache')
-rw-r--r--src/video_core/texture_cache/types.h5
-rw-r--r--src/video_core/texture_cache/util.cpp5
2 files changed, 7 insertions, 3 deletions
diff --git a/src/video_core/texture_cache/types.h b/src/video_core/texture_cache/types.h
index 07c3043865..ecacd8c6bd 100644
--- a/src/video_core/texture_cache/types.h
+++ b/src/video_core/texture_cache/types.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -10,7 +13,7 @@
namespace VideoCommon {
constexpr size_t NUM_RT = 8;
-constexpr size_t MAX_MIP_LEVELS = 14;
+constexpr size_t MAX_MIP_LEVELS = 16;
constexpr Common::SlotId CORRUPT_ID{0xfffffffe};
diff --git a/src/video_core/texture_cache/util.cpp b/src/video_core/texture_cache/util.cpp
index 30e9579b6b..e55d0752ec 100644
--- a/src/video_core/texture_cache/util.cpp
+++ b/src/video_core/texture_cache/util.cpp
@@ -646,9 +646,10 @@ LevelArray CalculateMipLevelOffsets(const ImageInfo& info) noexcept {
if (info.type == ImageType::Linear) {
return {};
}
- ASSERT(info.resources.levels <= static_cast<s32>(MAX_MIP_LEVELS));
- if (info.resources.levels > static_cast<s32>(MAX_MIP_LEVELS))
+ if (info.resources.levels > static_cast<s32>(MAX_MIP_LEVELS)) {
+ LOG_ERROR(HW_GPU, "Image has too many mip levels={}, maximum supported is={}", info.resources.levels, MAX_MIP_LEVELS);
return {};
+ }
const LevelInfo level_info = MakeLevelInfo(info);
LevelArray offsets{};
u32 offset = 0;