Skip to content

PS5PCEM 0.3.0-alpha.3

Pre-release
Pre-release

Choose a tag to compare

@iStark iStark released this 04 Sep 19:56
· 89 commits to main since this release

PS5PCEM 0.3.0-alpha.3

This prototype update adds video decoding for titles that use
libSceVideodec2, which is what lets Ghost of Yōtei reach and play its intro.

Added

  • Decode the H.264 access units a title hands to libSceVideodec2. The host
    decoder receives the stream, the picture is converted from NV12 with BT.709
    coefficients, and decoding is paced to about one picture per display interval
    so a title feeding access units as fast as they are accepted no longer drains
    a whole movie in a few frames.
  • Ghost of Yōtei decodes and presents its intro video with sound. Its
    in-engine frame behind the video is still black, so this is a video-playback
    milestone rather than a menu or gameplay claim.
  • Recover the completion generation for an SDK 11 compute queue from the
    caller when the queue object is spilled rather than left in a register, which
    releases a render thread that would otherwise spin.

Fixed

  • Report a decoded picture where a title reads it. The record was laid out from
    the wrong end, so a title checked a size field for readiness and never saw the
    frames it had been given.
  • Report a frame-slot size a title can divide its arena by. A slot as large as
    the whole arena left room for none and ended decoder setup before a single
    frame was decoded.
  • Stop presenting an unconverted frame as a black one: a frame whose packed
    format could not be converted was handed back as freshly zeroed bytes, which
    was indistinguishable from a frame the title rendered black.
  • Stop the launcher clipping its own name. The brand cells were too small in
    both directions, so the title lost the bottom of every glyph and the subtitle
    ended mid-word.
  • Never hand out an asynchronous read identifier that is still in use. A title
    that streams keeps batches open across many submissions, and the table wrapped
    onto live entries during ordinary loading.
  • Stop the quiet-thread diagnostic faulting on a wrong guess. It followed two
    addresses out of a suspended thread without checking either, which ended the
    emulator a couple of frames into video playback.
  • Run command arenas a title strands behind a CPU-polled fence, rescuing each
    once per submission rather than replaying it in a loop.

Requirements and limitations

  • Windows 10 2004 or newer, x86-64, with a Vulkan 1.2-capable graphics driver.
  • Compatibility remains experimental; black screens, missing graphics, stalls
    and crashes are still possible in unsupported titles.
  • Games, firmware, keys and console system software are not included.
  • These prototype binaries are not Authenticode-signed, so Windows may show an
    Unknown Publisher or Microsoft Defender SmartScreen warning.