diff options
| author | JPikachu <jpikachu@eden-emu.dev> | 2025-11-01 01:36:03 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-11-01 01:36:03 +0100 |
| commit | aa93e0cbb10ed23035c223b72dde3c430c01aec7 (patch) | |
| tree | 3519b8e0a24740bff7ec7f7dfa1f4f9917a41927 /src/video_core/texture_cache/util.cpp | |
| parent | ead5978b34561eb3a709dfd0c61169e9c2c036a2 (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/util.cpp')
| -rw-r--r-- | src/video_core/texture_cache/util.cpp | 2 |
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; |
