Nintendo Switch Emulator
Go to file
Zephyron 00f7ddafa3 video_core: Improve texture cache memory management to prevent leaks
Implement several improvements to the texture cache memory management system
to address memory leaks that occur in memory-intensive games like TOTK
(Title ID 0100F2C0115B6000). These changes prevent the gradual memory
increase that eventually leads to crashes or undefined behavior.

Key improvements:
- Enhance garbage collection with more aggressive cleanup thresholds
- Add emergency resource cleanup for persistent high memory usage
- Improve DeleteImage to ensure proper resource deallocation
- Make DelayedDestructionRing thread-safe with proper mutex protection
- Track consecutive high-memory frames to detect potential leaks
- Add emergency cleanup mechanism for extreme memory pressure situations
- Use proper type casting in std::max to fix compilation errors

This should significantly improve stability during extended gameplay
sessions with memory-intensive titles.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-12 12:46:19 +01:00
.ci Move repos 2024-12-20 15:14:11 +00:00
.github Move repos 2024-12-20 15:14:11 +00:00
.reuse android: Provide debug.keystore for debug and relWithDebInfo builds 2024-01-21 22:08:07 -05:00
CMakeModules cmake: update Qt configuration and externals URL 2025-05-11 16:27:51 +01:00
dist shader_recompiler: Add stubs for CSM/FCSM flow test conditions 2025-05-11 12:17:03 +01:00
externals externals: Update Vulkan dependencies to latest versions 2025-05-12 12:46:19 +01:00
hooks chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
LICENSES general: fix trailing whitespace 2024-01-08 09:34:32 -05:00
src video_core: Improve texture cache memory management to prevent leaks 2025-05-12 12:46:19 +01:00
tools Removed telemetry and anonymized SCM (git) strings 2024-12-20 15:24:57 +00:00
.codespellrc core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
.git-blame-ignore-revs Skip git blame 2023-11-04 18:26:49 +00:00
.gitattributes chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
.gitignore android: Initialize defaults for each orientations 2023-06-14 16:35:58 -04:00
.gitmodules Updated Vulkan stuff for bug fixes and improved hardware compatibility (#21) 2024-12-20 15:24:57 +00:00
CMakeLists.txt feat(build): Add host system detection for Android cross-compilation 2025-05-12 12:46:19 +01:00
Doxyfile chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
LICENSE.txt chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
README.md Fixed controller UI being cut off at the bottom 2024-12-20 15:24:57 +00:00
vcpkg.json build: upgrade fmt and SDL2 2025-05-12 12:45:15 +01:00


yuzu

yuzu is the world's most popular, open-source, Nintendo Switch emulator — started by the creators of Citra.
It is written in C++ with portability in mind.

Note

This is an unofficial mirror fork of the original repository.

Development | License

  • Fixed controller UI being cut off at the bottom

Development

Most of the development happens on Codeberg. It's also where our central repository is hosted.

Git history will be rewritten frequently as patches are added and removed from other forks

License

yuzu is licensed under the GPLv3 (or any later version). Refer to the LICENSE.txt file.