diff options
| author | MaranBr <maranbr@outlook.com> | 2025-11-07 01:42:52 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-11-07 01:42:52 +0100 |
| commit | 569dbfe8c04e5f852ef4db17f5f219fe2da27228 (patch) | |
| tree | 02512e96e397a2e28e151999b6a4ea1db486d68a /src | |
| parent | 8412e64bb0aa008e63dab544352c438000cf0d37 (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')
| -rw-r--r-- | src/video_core/texture_cache/types.h | 5 | ||||
| -rw-r--r-- | src/video_core/texture_cache/util.cpp | 5 |
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; |
