ARMSX3 0.9.4
What's new:
Fixed the emulator stalling for seconds at a time during play. The SPU recompiler was writing diagnostics for every compiled block and every MFC instruction, up to 2,473 log lines in a single second, straight to storage. The bursts landed exactly when a game was already busy compiling new code. Moved to trace. Caught this in the game Prototype.
Fixed Tales of Xillia 2 hanging every few minutes. The game polls a memory syscall in a loop, over 20,000 calls in 19 minutes, 5,123 inside one second, and each one was written to the log. (Reported as #76, likely but not yet confirmed as that exact issue.)
Fixed RPCN burning a full CPU core whenever you weren't in a game. Signed in at the menu or between titles, the client thread had no wait in its idle path and spun continuously.
Fixed the app freezing on the last frame when launching a game after closing another. The boot check treated "still shutting down" as "stopped", so a new game could start on top of a VM that hadn't finished tearing down.
Fixed shutdown flooding the log when a thread re-entered the stop path, around 100,000 lines a second, which stalled the very shutdown it was reporting.
From @sashkinbro :
Vulkan pipelines are now cached to disk and reused across sessions, so shader compilation stalls shrink after a title's first run. Rebuilds automatically after a driver or device change.
Compute shaders now run 64-wide on Adreno, matching the hardware wavefront. Previously half of every wave sat idle on texture uploads and deswizzles.
Upstream:
Merged current RPCS3, including kd-11's ROP output remap work across both renderers, PKG install fixes, and an ISO magic-check fix. (If you're still having issues with ISO reading, please tell me).