Skip to content

Pinyon Shift 0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Oct 17:39
· 3 commits to main since this release
c6b1f7e

Pinyon Shift 0.4.0

Fixes for the crashes reported since 0.3.0, steadier 120 fps on Vulkan,
faster high resolutions, and a first, developer-grade Android build made
from the launcher.

Fixed

  • AMD Radeon on Vulkan. On Radeon cards the game could lose the GPU in
    its first seconds or a few minutes in ("Failed to await submission
    completion Vulkan fences", #321, #326, #331). Running under the Vulkan
    validation layer found the cause: the game could wait on a GPU fence before
    that fence had been submitted. That race and three other Vulkan errors the
    layer reported are fixed. We could not test on a Radeon card; if it still
    happens on 0.4.0, please report it, and use Direct3D 12 in the launcher's
    Settings meanwhile.
  • Green, white and pink blocks while shaders compile in the background,
    mostly at 2x and on a new shader cache (#328): a draw whose pipeline is
    still compiling now waits briefly for it instead of being skipped.
  • The stop reading guest address 0x38 when the Treasure Map or the
    trainer's collectible markers checked a game mode that was not loaded yet
    (#330).
  • A compile error in setup ("too few arguments provided to function-like
    macro invocation", in pinyon_shift_diagnostics.cpp) on some PCs (#325).
  • A hang or crash during heavy GPU frames, when the game's render job
    queue overran its 12 command slots.
  • Animations at high frame rates. The start-line spectators and the car
    purchase and reveal cameras now run at their console speed at 60 and 120
    fps.

Faster

  • Steadier 120 fps at 1x. A frame that misses its slot is shown as soon as
    it is ready instead of waiting for the next vblank: on the race route the
    95th percentile frame time went from 13.1 to 10.5 ms. The 1x race now holds
    a median of about 8.3 ms, 120 fps.
  • Less GPU work at 2x to 4x. Large texture loads are written by compute
    shaders, resolves write straight into the textures that read them, and
    transfers no longer cover the whole EDRAM for unclipped draws. At 3x the
    texture reloads that follow resolves dropped from about 2 ms to under
    1 ms a frame.
  • A lighter GPU recorder thread, the busiest thread at 1x, with fewer
    register writes, memoized bindings and link-time optimisation.
  • No first-use hitches on Vulkan. Vulkan shaders are now prepared during
    setup, as Direct3D 12's already were.

New

  • Build Android APK in the launcher (alpha, for developers). Once the game
    is built on your PC, the launcher cross-compiles it for an arm64 Android
    device and packages pinyon-shift.apk, signed with a key made on your PC.
    It asks you to accept the Android SDK license, and on a PC without an
    Android SDK or JDK it downloads the pinned tools into the install folder.
    Install it and copy the game files over USB with the commands in
    Android. The package holds the game translated from your own
    disc: keep it on your own devices. Android has touch controls and battery
    and smooth presets. On the reference tablet (Snapdragon 8 Elite) the race
    runs at 60 fps at 1x until the device heats up, then nearer 30.
  • Diagnostics. A game that stops responding for a while now writes its
    guest threads' stacks to the log, for the bug report.

Updating

Download PinyonShift-Launcher.zip, keep the two files together, and use the
ISO you dumped from your own disc. Your saves and settings stay where they are.
The first start after updating rebuilds the game, which takes a while.