"Dead Cells is in-game and playable (with known graphical glitches), and Stray now boots to intro screens."
Full Changelog (Click to expand)
What Changed:
-
GPU Pipeline & MRT Color Attachment Alignment:
- Eliminated MRT slot compaction in the AGC GPU backend, enforcing strict 1:1 parity between guest render target slots and host Vulkan attachments. Secondary target outputs (such as lighting masks and occlusion silhouettes) no longer slide into Location 0.
- Moved target write masking to the Vulkan hardware ROP level (
colorWriteMask = 0), ensuring disabled targets are cleanly ignored by the GPU without altering render pass layouts. - Overhauled vertex parameter mapping with collision-safe linear fallback and programmed input count tracking (
SPI_PS_IN_CONTROL), preventing floating or uninitialized attribute reads in pixel shaders. - Restructured render pass handling in the presentation backend so consecutive draw calls targeting the same framebuffer remain inside a single active render pass, avoiding costly pipeline flushes and unnecessary layout transitions.
- Corrected depth buffer lifecycle management (
DbRenderControl), retaining depth buffer state across the entire frame rather than erroneously resetting depth per draw call. - Resolved texture detiling stride calculations for GFX10/RDNA2 swizzle modes (modes 21, 25, 8, and 20), eliminating block-compressed texture upload rejections.
-
Kernel & Thread Synchronization:
- Re-architected
sceKernelSyncOnAddressfutex primitives with an atomic non-parking fast path: when the value at the address no longer matches the expected condition, the thread returns immediately without sleeping. - Added microsecond timeout pointer evaluation and zero-duration timeout handling.
- Enhanced pthread mutex state management with implicit state resolution for static mutexes (
0x0and0x1), eliminating deadlock errors during early engine initialization.
- Re-architected
-
Audio Stream Pacing & Threading:
- Replaced blocking thread-sleep audio calls with asynchronous kernel event queue signaling, preventing audio waits from locking up GPU command submission queues.
- Implemented high-resolution lockless timestamp pacing in
sceAudioOutOutputto maintain a continuous, smooth 48kHz audio stream without stutter or buffer underruns. - Fixed an NID collision between
sceAudioOutGetPortTimestampandlibKernel:usleep.
-
UI & Architecture Cleanups:
- Stripped the embedded logging panel from the main window to eliminate UI thread lag and prevent layout freezes during heavy guest logging.
- Replaced the legacy detached configuration window with an integrated in-window settings overlay.
- Completely purged legacy Linux, macOS, and Metal code paths to focus 100% on high-performance Windows x86-64 direct execution.
What's New:
-
PS5 Dashboard Carousel:
- Restored fluid horizontal game card carousel movements.
- Added background recursive game library scanning (
App0asset indexing) with cache persistence to detect and display installed titles automatically.
-
Dedicated Standalone Log Window:
- A brand-new high-performance log viewer window accessible anytime via the F4 hotkey or the settings overlay.
- Includes real-time keyword search, log-level filtering (Trace, Debug, Info, Warn, Error), one-click clipboard copying, log clearing, and direct export to disk.
-
Hardware Telemetry Overlay (F3):
- Zero-overhead direct-rasterized Vulkan telemetry overlay displaying real-time FPS, frame times, CPU/GPU clock frequencies, and RAM/VRAM consumption with clean Segoe UI typography and graphs.
-
Watchdog Diagnostics & Hardware State Capture:
- The 20s stall watchdog now captures the main execution thread's hardware CPU registers (
RIP,RSP,RAX,RBX,RCX,RDX,RSI,RDI) via Win32 thread contexts. - Automatically disassembles the live x86-64 instruction at the stall location using
IcedDecoderand dumps the preceding 128 HLE import calls to pinpoint execution stalls.
- The 20s stall watchdog now captures the main execution thread's hardware CPU registers (
-
3D Resolution Scaling & Viewport Clamping:
- Added an in-game internal 3D render resolution selector (Native, 720p, 1080p, 1440p, 4K) in the settings menu.
- Automatic aspect-ratio-preserving viewport clamping and full-screen letterboxing to prevent visual distortion when resizing the window.
-
In-App RenderDoc Capture:
- Integrated RenderDoc capture support triggered instantly via the F10 hotkey or the UI settings overlay.
-
New HLE Modules & Video Decoders:
- Integrated hardware/FFmpeg video decoders (
videodec2,avplayer, Bink2) for in-game FMV cutscenes. - Implemented
libScePngDecfor hardware decoding of game UI textures and menu sprites. - Added
sceKernelSyncOnAddressWait32andsceKernelSyncOnAddressWait64. - Implemented PSN Login Dialog, Signin Dialog, and SaveData mount/unmount services.
- Integrated hardware/FFmpeg video decoders (
-
Automated Test Runner Suite:
- Added over 15 automated test suites covering sync-on-address, virtual memory pools, presentation flip queues, unified sockets, and dialog lifecycles.
Upcoming:
-
Dead Cells Complete Visual Polish:
- Finalize continuous render pass aggregation across all 2D scenery passes to ensure perfect lighting composite blending, eliminating all remaining sprite silhouette artifacts.
-
Advancing Unreal Engine 4/5 Boot Flow (Stray, etc.):
- Transition from memory initialization (
FMallocBinned2) into concurrent job graph worker execution. - Expand cooperative fiber scheduling and worker thread concurrency so multi-threaded task graphs run without starving the main thread.
- Transition from memory initialization (
-
Broader Commercial Game Boot Support:
- Expand compatibility across major 3D titles (including Grand Theft Auto V, Sonic Superstars, and upcoming Unity/UE titles).
- Implement remaining AGC compute dispatches, indirect draw commands, and advanced G-buffer surface conversions.