mirror of
https://codeberg.org/yuzu-emu/yuzu.git
synced 2025-12-16 12:09:04 +00:00
Nintendo Switch Emulator
Implements proper reference counting for binder objects based on the official
documentation. This adds both weak and strong reference counting support to
the IBinder interface and its implementations (BufferQueueProducer and
BufferQueueConsumer).
The implementation follows the documented behavior where:
- type 0 affects weak references
- type 1 affects strong references
- During initialization: {addval=1, type=0} followed by {addval=1, type=1}
- For onFirstRef: {addval=1, type=1}
- For onLastStrongRef: {addval=-1, type=1}
Reference counters are implemented using std::atomic to ensure thread safety.
REFS: switchbrew.org/wiki/Nvnflinger_services#AdjustRefcount
|
||
|---|---|---|
| .ci | ||
| .github | ||
| .reuse | ||
| CMakeModules | ||
| dist | ||
| externals | ||
| hooks | ||
| LICENSES | ||
| src | ||
| tools | ||
| .codespellrc | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| Doxyfile | ||
| LICENSE.txt | ||
| README.md | ||
| vcpkg.json | ||
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.
- 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.