·
0 commits
to android-refresh
since this release
Changelog:
Vulkan & Shader Compilation
- Updated Vulkan pipeline compilation system.
- Shader compilation during game startup can now use all available CPU threads, helping process large shader compilation bursts faster.
- After the initial loading phase, the pipeline compiler automatically scales back to the normal configured worker count.
- Preserved PS3Native's Android Vulkan dynamic symbol handling required for pipeline cache creation/destruction.
- Continued improvements to Vulkan/RSX synchronization and pipeline handling.
RSX / GPU Synchronization
- Fixed back-to-back
USER_COMMANDcalls potentially overwriting callback arguments. - Added a full RSX pipeline synchronization before
USER_COMMANDcallbacks, matching behavior verified on real PS3 hardware. - Improved RSX event queue draining.
- Added a timeout to prevent the RSX event queue from waiting indefinitely.
- Avoids unnecessary RSX pauses when memory allocations are unrelated to RSX mappings.
- Improved RSX/VM memory mapping behavior and validation.
PPU Scheduler & Threading
- Improved PPU thread startup behavior to more closely reproduce PS3 scheduling.
- New PPU threads now receive more accurate execution priority handling.
- Fixed accumulation of PPU thread startup delays.
- Increased hardware-thread signaling delays where appropriate.
- Improved handling of observable scheduler changes after starting new PPU threads.
sys_cond_signal_tois now more tolerant of timing differences caused by RPCS3 not being cycle-accurate.- Improved Linux thread affinity handling when using RPCS3's internal scheduler.
SPU Improvements
- Added an optimized
PUTLLCpath when Accurate SPU Reservations is disabled. - This can avoid heavier full-memory locking in applicable cases.
- Added the Accurate SPU Reservations configuration option upstream.
- Includes additional SPU/PPU translator and reservation-related fixes.
Audio
- Fixed cases where audio ports using only front channels could be incorrectly considered silent or incomplete.
- Improved detection and handling of front-channel-only audio buffers.
- Fixes cases of unexpectedly slow or stalled audio playback.
Video Decoding
- Improved
cellVdecdecoder lifecycle handling. - FFmpeg decoder destruction is now deferred to a host worker thread instead of potentially blocking the guest thread for several milliseconds.
cellVdecEndSeqnow properly drains pictures still buffered inside the decoder before ending the sequence.- Helps avoid missing final frames or incorrect transitions in video sequences.
Disc / ISO Improvements
- Improved Blu-ray / ISO read performance.
- Large contiguous reads can now be processed in blocks of up to 1 MB instead of performing a separate tiny read for every 2 KB sector.
- Fixed ISO virtual device path handling.
- Improved access to files and directories inside mounted ISO images.
Memory & VM
- Fixed
vm::page_protecthandling for 64 KB and 1 MB memory pages. - Improved
sys_mmappererror checking and mapping validation. - Added clearer distinction between memory regions compatible and incompatible with RSX mappings.
- Improved memory unmapping consistency checks.
- Added backwards-compatible handling for older savestates affected by the new mapping rules.
Camera / PlayStation Move
cellGemnow accepts custom camera frame buffers used by some games.- Fixes tracking behavior in titles that provide their own camera buffers instead of the standard camera buffers.
Patch Engine
- Patch files are now written atomically, reducing the possibility of corrupted or partially written patch configuration files.
- Fixed
move_fileandhide_filepatch entries being incorrectly saved with hexadecimal addresses instead of VFS paths.
Additional Fixes
- Improved stack trace cleanup.
- Fixed GDB memory address validation.
- Added LLVM 23.1 build compatibility.
- Improved corrupted savestate and trophy detection/reporting.
- Various CPU translator, filesystem, build-system and internal correctness improvements.
Android / PS3Native Integration
Community Preview 7 keeps the Android-specific work already present in previous Community builds, including:
- Qualcomm Adreno and Mesa Turnip Vulkan detection.
- 64-wide Vulkan conversion kernels on Adreno / Turnip.
- Turnip strict-query workarounds.
- Existing ARM Mali / PanVK, PowerVR, Samsung Xclipse, Broadcom and VeriSilicon handling.
- Android-specific Vulkan symbol loading.
- Existing PS3Native mobile GPU workarounds.
- DIS frame generation support remains intact.
Build Information
- Branch:
experimental-dis-rpcs3-20260927 - PS3Native merge commit:
c124dfaea - RPCS3 upstream:
205a4481f - 32 new RPCS3 upstream commits since Community Preview 6
- Standard Release: Build successful
- In-game Android testing: Working successfully