Nintendo Switch Emulator
Go to file
Zephyron 4f61ee284f core: Improve device memory and buffer queue handling
This commit makes several improvements to device memory management and buffer
queue handling:

DeviceMemoryManager:
- Add null pointer and size checks for ReadBlock
- Fill unmapped memory with a known pattern (0xCC) instead of zeros
- Add better error logging for invalid memory accesses
- Add null pointer check for source pointer in memcpy

BufferQueueProducer:
- Improve error handling in WaitForFreeSlotThenRelock
- Add proper abandoned state checking during wait conditions
- Clean up and simplify buffer scanning logic
- Improve logging messages with more descriptive information
- Remove redundant buffer count validation
- Fix potential infinite loop condition during wait

These changes improve stability and error handling while making the code more
maintainable and debuggable. The use of a known pattern for unmapped memory
helps identify uninitialized memory access issues.
2025-05-11 12:17:03 +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 Move repos 2024-12-20 15:14:11 +00:00
dist configuration: break up tooltip for 'VRAM Usage Mode' into multiple lines 2024-12-20 15:24:58 +00:00
externals submodules(vcpkg): Update To Latest Commit 2025-05-11 12:17:03 +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 core: Improve device memory and buffer queue handling 2025-05-11 12:17:03 +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 Boost: Fix building against Boost 1.86.0 2024-12-20 15:24:58 +00: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 externals: update fmt to 11.0.2 and vcpkg to 2024.09.30 (#68) 2024-12-20 15:24:58 +00: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.