mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-02-08 08:44:39 +01:00
vm::spu max address was overflowing resulting in issues, so cast to u64 where needed. Fixes #6145. Use vm::get_addr instead of manually substructing vm::base(0) from pointer in texture cache code. Prefer std::atomic_thread_fence over _mm_?fence(), adjust usage to be more correct. Used sequantially consistent ordering in semaphore_release for TSX path as well. Improved memory ordering for sys_rsx_context_iounmap/map. Fixed sync bugs in HLE gcm because of not using atomic instructions. Use release memory barrier in lwsync for PPU LLVM, according to this xbox360 programming guide lwsync is a hw release memory barrier. Also use release barrier where lwsync was originally used in liblv2 sys_lwmutex and cellSync. Use acquire barrier for isync instruction, see https://devblogs.microsoft.com/oldnewthing/20180814-00/?p=99485 |
||
|---|---|---|
| .. | ||
| lv2 | ||
| Modules | ||
| Common.h | ||
| ErrorCodes.h | ||
| MFC.cpp | ||
| MFC.h | ||
| PPCDisAsm.h | ||
| PPUAnalyser.cpp | ||
| PPUAnalyser.h | ||
| PPUCallback.h | ||
| PPUDisAsm.cpp | ||
| PPUDisAsm.h | ||
| PPUFunction.cpp | ||
| PPUFunction.h | ||
| PPUInterpreter.cpp | ||
| PPUInterpreter.h | ||
| PPUModule.cpp | ||
| PPUModule.h | ||
| PPUOpcodes.h | ||
| PPUThread.cpp | ||
| PPUThread.h | ||
| PPUTranslator.cpp | ||
| PPUTranslator.h | ||
| RawSPUThread.cpp | ||
| RawSPUThread.h | ||
| SPUAnalyser.cpp | ||
| SPUAnalyser.h | ||
| SPUASMJITRecompiler.cpp | ||
| SPUASMJITRecompiler.h | ||
| SPUDisAsm.cpp | ||
| SPUDisAsm.h | ||
| SPUInterpreter.cpp | ||
| SPUInterpreter.h | ||
| SPUOpcodes.h | ||
| SPURecompiler.cpp | ||
| SPURecompiler.h | ||
| SPUThread.cpp | ||
| SPUThread.h | ||