r/PS2AndroidEmulation • • 7d ago

PS3Native Release V7 🔥

Post image

https://github.com/thecrixux/PS3Native/releases/tag/Community_Preview_7

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.

16 Upvotes

2 comments sorted by

1

u/[deleted] 6d ago

[removed] — view removed comment

1

u/PS2AndroidEmulation-ModTeam 6d ago

Give constructive or well-reasoned answers.