aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
diff options
context:
space:
mode:
authorJPikachu <jpikachu@eden-emu.dev>2025-11-01 01:36:03 +0100
committercrueter <crueter@eden-emu.dev>2025-11-01 01:36:03 +0100
commitaa93e0cbb10ed23035c223b72dde3c430c01aec7 (patch)
tree3519b8e0a24740bff7ec7f7dfa1f4f9917a41927 /src/video_core/texture_cache
parentead5978b34561eb3a709dfd0c61169e9c2c036a2 (diff)
[video_core] Bypass mip level assertion to ASSERT_MSG (#2914)
This will bypass the check and continue execution, preventing crashes in cases where games (like CTGP-DX) may request more mip levels than supported. This is a temporary solution to bypass instead of ending the crashing when asserts fail. Co-authored-by: MaranBr <maranbr@outlook.com> Co-authored-by: JPikachu <jpikachu.eden@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2914 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Co-authored-by: JPikachu <jpikachu@eden-emu.dev> Co-committed-by: JPikachu <jpikachu@eden-emu.dev>
Diffstat (limited to 'src/video_core/texture_cache')
-rw-r--r--src/video_core/texture_cache/util.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/util.cpp b/src/video_core/texture_cache/util.cpp
index ede451b166..30e9579b6b 100644
--- a/src/video_core/texture_cache/util.cpp
+++ b/src/video_core/texture_cache/util.cpp
@@ -647,6 +647,8 @@ LevelArray CalculateMipLevelOffsets(const ImageInfo& info) noexcept {
return {};
}
ASSERT(info.resources.levels <= static_cast<s32>(MAX_MIP_LEVELS));
+ if (info.resources.levels > static_cast<s32>(MAX_MIP_LEVELS))
+ return {};
const LevelInfo level_info = MakeLevelInfo(info);
LevelArray offsets{};
u32 offset = 0;