Repository navigation
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", inpinyon_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 packagespinyon-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.