Skip to content

PS3Native Release V7

Latest

Choose a tag to compare

@thecrixux thecrixux released this 27 Sep 14:05
· 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_COMMAND calls potentially overwriting callback arguments.
  • Added a full RSX pipeline synchronization before USER_COMMAND callbacks, 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_to is 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 PUTLLC path 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 cellVdec decoder lifecycle handling.
  • FFmpeg decoder destruction is now deferred to a host worker thread instead of potentially blocking the guest thread for several milliseconds.
  • cellVdecEndSeq now 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_protect handling for 64 KB and 1 MB memory pages.
  • Improved sys_mmapper error 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

  • cellGem now 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_file and hide_file patch 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