Skip to content

Releases

Tourline Prologue v0.2.4

Choose a tag to compare

@github-actions github-actions released this 05 Nov 04:49

Tourline Prologue v0.2.4

This update greatly widens optional shader preparation, makes it cheaper to
compile, and fixes a dealership loading freeze and analog trigger pressure.

Run preparation again after updating. The renderer's generated shader text
changed, and that text is the cache key, so shaders prepared with v0.2.3 are not
reused. Your old cache is left in place but goes unused; normal launching still
works without preparation. The first launch of this version offers it once
(see First-launch offer).

Wider shader preparation

  • The starter now has 12,669 verified pipelines across 3,446 programs
    (v0.2.3: 5,669 across 1,881). The 7,000 additions come from a content sweep;
    every one passed fresh shader, native-pipeline and persistence checks.
  • Preparation now also enumerates the game's shader catalogue from your own
    GT.VOL/ELF: about 22,300 fragment and 2,240 vertex compiles, independent of
    what anyone has played. GT5P_PREPARE_ENUMERATE=0 skips this stage.
    • Expected gain: fewer shaders compiled during play. In one cold High Speed
      Ring start (720p, 2x MSAA), the first 20 seconds served about 950 shaders
      from the enumerated cache and compiled 205, against 375 compiles with an
      empty cache. Median frame rate in that window was 29 against 20 FPS, and
      the scene drew instead of showing a black view.
    • This is one route on one machine. Native driver pipelines are still created
      on first use, so it is not a zero-stutter claim.
    • Cost: roughly 220 MiB more disk.

Cheaper shaders, faster preparation

  • Sample sharing: single-sample and multisample variants of a fragment
    program now compile to one shader. Distinct pixel shaders in the starter fall
    from 6,965 to 3,592, and enumeration fragment jobs from 34,355 to 22,282.

  • Simpler shader text: looped vertex fetch, right-sized fragment registers
    and lazy sRGB helpers produce the same shader output, checked bit for bit on
    the GPU for all 1,120 vertex programs, for less compiler work. In-game GPU
    time is unchanged within 5%.

  • Preparation pipeline: compiler workers scale to the CPU (four on 8+
    logical processors), bundled bytecode replaces thousands of file reads, and
    verifying an existing cache falls from about 30 s to under 2 s.

  • Measured on this machine:

    Stage Before v0.2.4
    Catalogue enumeration 1,028 s 262 s
    Full v0.2.3-sized (5,669-record) preparation 731 s 336 s
  • End to end, measured: one full fresh preparation of the shipped
    12,669-record starter plus enumeration, through the frozen helper on this
    machine (i5-12400F, 6 cores / 12 logical processors, so four compiler
    workers; original GT.VOL and ELF read in place; empty storage), took
    579 s (9.7 minutes) and about 0.96 GiB of disk:

    Stage Seconds
    Start-up, game archive check, asset reads (before each of the two phases) 49
    Vertex shaders (627) 23
    Fragment shaders (12,669 records) 124
    Native pipelines (inputs, create, lookup, verify) 127
    Shader packs 3
    Catalogue enumeration (24,522 jobs) 253
    Total 579

    A PC with fewer than eight logical processors uses two compiler workers
    (about 1.4 times as long on this machine in earlier measurements), and a slower
    CPU takes longer again; the launcher's estimate therefore says "about 10 to 20
    minutes" with eight or more logical processors and "about 20 to 40 minutes"
    with fewer. Only the first number was measured here; the others are scaled.

  • Template format 3: pipeline templates now store only shader and state
    inputs, so future renderer changes no longer need the starter re-issued.
    Older helpers cannot read format 3; keep the launcher, runtime and helper
    from the same ZIP together.

Shader preload is on by default, with its own indicator

  • Preload known shaders (F1 > Shaders, video.shader_warmup) now defaults
    to On for a new settings file: while the game starts and the movie plays, the
    recorded menu pipelines (then the race set during loading) are prepared in the
    background. Settings files from v0.2.3 and earlier all say
    shader_warmup = false (the game writes every setting), so the first 0.2.4
    launch switches it on once and records that in a new [meta] section. If you
    turn it off again in F1, it stays off. RSX_SHADER_WARMUP=0 still turns it off,
    and GT5P_SETTINGS_MIGRATE=0 skips the one-time switch. The default applies
    through the settings file; a bare engine run with GT5P_NO_SETTINGS=1 is
    unchanged.
  • "Compiling shaders" now means a draw is waiting. Before, the badge also lit
    for the whole background preload, because the preload held the same busy count
    and its driver calls went through the same counter. The backend now counts
    preload work (startup warmup, the blocking scan, race preparation) apart.
    RSX_SHADER_INDICATOR_LEGACY=1 restores the old combined counting.
  • "Loading shaders" is a second, smaller and dimmer badge for that preload
    work, off by default (F1 > Game > Shader preload indicator,
    video.preload_indicator, GT5P_PRELOAD_INDICATOR=1). It sits in the same
    corner and never shows together with "Compiling shaders".

First-launch offer

On the first launch of this version, after setup is complete and before the
game starts, the launcher offers optional shader preparation in the same styled
dialog the post-setup offer uses. It says what preparation does, that it is
optional and can reduce stutter, and the estimated time for your processor count
(see above). Prepare now runs the existing preparation window, with the same
cancel and resume behaviour; Skip and play, closing the dialog, cancelling or
a preparation failure all continue to the game. Either way the answer is recorded
in prepare-offer-<version>.done in the launcher's storage, so it is not asked
again for this version, and F1 > Debug > Prepare shaders and
Prepare shaders.cmd stay available.

  • Fresh installs get this through the existing post-setup offer; the two never
    appear in one launch.
  • Nothing is asked if a completed preparation made by this release is already
    selected (the helper's read-only --check-selected, which compares a
    fingerprint of engine, decoder and bundled inputs recorded when the selection
    was written). Shaders prepared by v0.2.3 do not count.
  • GT5P_PREPARE_OFFER=0 disables the offer; --no-prepared skips it for that
    launch without recording an answer.

Fixes

  • Dealership logo freeze: repeated dealership visits (often around the
    fifth, for example Mazda) could stop on the logo while audio continued. A
    Windows thread-join race left finished threads occupying the 64-slot guest
    thread table until no new thread could start. In a 315-second automated
    repeated-dealer run, the old build filled the table and the fixed build kept
    recycling threads. PS3_PPU_JOIN_WAIT_HOST=0 restores the old behaviour.
  • Analog L2/R2: with accelerate and brake assigned to R2/L2 in the game's
    own Options > Change Button Assignments, the triggers now give partial
    throttle and brake across their whole travel. Previously they jumped to 100%
    after about 9% of travel. PAD_PRESS_FORCE_FULL=1 restores the old
    behaviour.

Known problems

  • Once, after returning to the main menu from a race, the menu scene's
    glowing paper windows and lanterns showed as flat bright yellow. A
    repeat of the same steps did not reproduce it. A render-target
    slot reused after the race is suspected; it may predate this release.

Not in this release

  • The shader interpreter fallback stays off. It cuts draws left out while
    shaders compile by about 97%, but has not improved worst-case frame times.
  • Car, reflection and rolling-start camera hitches are not claimed solved.

Install

Extract the complete ZIP into a separate folder and run
tourline-prologue.exe. Existing storage, saves and settings are kept. Use
your own supported BCUS98158 v03.00 disc files; no game data or shader or
driver cache is supplied. tourline-prologue.exe --no-prepared bypasses a
selected preparation.

Tourline Prologue v0.2.3

Choose a tag to compare

@github-actions github-actions released this 03 Nov 01:08

Tourline Prologue v0.2.3

This update expands optional shader preparation and adds player controls for
learning and verifying pipelines from your own play sessions.

  • The starter now contains 5,669 verified observed pipelines, including
    dealership and subsequent player collection, with matching original-program
    lookup maps. Observed menu/race warmup membership is retained; newly added
    keys without observed membership stay on the demand path. Coverage is partial.
  • Preparation retains completed additional-translation fragment chunks through
    cancellation. Resume checks saved work before reuse. Smaller chunks provide
    progress between compiler jobs; normal compiler limits remain unchanged.
  • Retained preparation generations no longer hit the old fixed 100,000-entry
    scan limit. The bounded scan allowance now follows catalogue capacity and
    retained generations, keeping link and ownership checks in place.
  • Offline preparation explicitly flushes batch-completion output before the
    engine exits. Completion/native-key checks remain strict; incomplete runs
    retain their work and do not select an unverified cache.
  • Bounded parallel reads reduce cached preparation overhead. One local full
    4,450-record pair measured 261.34 seconds with serial reads and 202.52 seconds
    with four readers. This is a cached preparation result on one machine, not a
    first-time compilation or gameplay performance guarantee.
  • F1 PC Settings > Debug provides Collect pipelines, Verify last
    collection
    and Prepare shaders. Each action closes the current game
    before the launcher starts the requested tool. Preparation/verification leave
    the game closed afterward; launch normally to play again.
  • Collection verifies after play against your original game files, reconstructing
    both shaders and checking exact native pipelines in a separate local cache.
    A window styled like the precompiler shows progress, cancellation and results.
    Resume pipeline verification.cmd continues interrupted verification.
  • Only successfully verified metadata is exported as a shareable template.
    Unresolved records remain private and pending. Nothing is uploaded automatically;
    maintainer acceptance is still required before adding records to the starter.

Extract the complete ZIP into a separate folder and run tourline-prologue.exe.
Keep the matching launcher, runtime and preparation helper together. Existing
storage, saves, settings and caches are retained. Preparation remains optional;
normal launching is available without it. Use your own supported BCUS98158
v03.00 disc files; no game data or shader/driver cache is supplied.

Collection currently supports the documented default 720p/1080p 16:9,
anisotropy-16, smooth-colour context. Automatic preparation selects supported
saved translation modes; this does not enumerate every resolution, MSAA mode,
car, course or camera. Driver pipelines are prepared locally for your GPU.
Verification can take minutes, especially for newly discovered programs.

Normal asynchronous rendering policy is unchanged. The texture-retention
experiment remains outside the shipped runtime patch. Car/reflection and
rolling-start camera hitches are not claimed solved; prepared key coverage
does not guarantee first-draw readiness or zero stutter.

For troubleshooting, GT5P_PREPARE_IO_WORKERS=1 restores serial preparation reads,
GT5P_PREPARE_FRAGMENT_CHUNK=4096 restores larger additional-translation chunks,
GT5P_OFFLINE_FLUSH=0 restores historical offline exit flushing,
GT5P_PIPELINE_TOOLS=0 disables F1 tool handoffs, and
GT5P_COLLECT_VERIFY_UI=0 uses console verification. These controls preserve
existing caches. tourline-prologue.exe --no-prepared bypasses selected preparation.

Tourline Prologue v0.2.2

Choose a tag to compare

@github-actions github-actions released this 02 Nov 00:22

Tourline Prologue v0.2.2

Default-translation shader preparation now writes local menu and race bytecode
packs before those pipelines are first used. The runtime already loads this
pack format. 720p and 1080p at 16:9, including the first-run preset, use the
bundled observed plan. Higher resolutions and 21:9 keep the previous
preparation path and do not receive that plan.

One ordered High Speed Ring comparison, with the unpacked window first, showed
fewer long frames when packs were present. The race window moved from 37.7 to
49.4 frames per second, and the 99th percentile frame interval from 121.7 ms
to 44.1 ms. Shader compiles did not fall. The packed window also had warmer
operating-system and driver caches, so this is not a reversed-order proof and
not a promise that hitches are gone. The reported mirror reflection change is
still unexplained.

RSX_SHADER_PACK=0 disables runtime pack use and keeps every cache file.
An existing unpacked preparation is left in place. The next default-translation
run uses a new generation and can import verified work from the previous one.

This release also includes preparation behavior that v0.2.1 did not publish:

  • After the first successful file setup, the launcher offers Prepare now
    or Skip and play. Closing the offer skips preparation. The offer does
    not repeat on later launches. GT5P_PREPARE_OFFER=0 disables it.
    Prepare shaders.cmd still prepares or resumes at any time.
  • Saved settings choose the preparation translation. 21:9 adds ultrawide
    variants. 16:9 above 1080p adds scaled fragment variants. 720p and 1080p
    16:9 stay on the default set, which is the set that receives shader packs.
    GT5P_PREPARE_TRANSLATION=default keeps default-only preparation.
  • Optional preparation compiles vertex shaders in bounded batches.
    GT5P_PREPARE_VERTEX_BATCH=0 restores serial compilation.
  • Restart on the in-game settings page exits the old game and lets the
    launcher start the replacement. GT5P_LAUNCHER_RESTART=0 restores the
    previous path. Both the new launcher and the new engine are required.

Optional preparation still reads the game folder already configured for play.
No separate GT.VOL extract is required for BCUS98158 v03.00. The preparation
window matches the in-game PC Settings menu. The starter remains 2,892 observed
pipeline records. GT5P_PREPARE_REUSE=0 disables reuse. GT5P_PREPARE_NATIVE_HASH=0
selects the Python checksum fallback. GT5P_PREPARE_UI=0 restores the Windows
dialog.

Extract the complete ZIP into its own folder, close the game and launch
tourline-prologue.exe. Existing selected storage, saves and settings remain
compatible. Cancellation keeps completed work; repeat the same option to resume.
Only successful verified preparation changes the selected cache.

Preparation remains optional. It may take several minutes and uses additional
local disk space. The starter covers observed routes and supported renderer
settings, not every car, track section, camera or pass. Uncovered pipelines
and different settings continue through normal demand compilation.

Use tourline-prologue.exe --no-prepared to launch with the ordinary cache
without deleting any cache. Keep previous installation folders for binary
rollback. The package contains no game data, executable dump, keys, raw shaders
or game-derived cache contents. Shader bytes, generated source and GPU binaries
stay on the user's machine. Your own supported game files are required.

Tourline Prologue v0.2.1

Choose a tag to compare

@github-actions github-actions released this 01 Nov 05:20

Tourline Prologue v0.2.1

Optional shader preparation now reads the game folder already configured for
play. A separate GT.VOL extraction or second asset copy is no longer required
for the supported BCUS98158 v03.00 disc build.

  • New preparation window matches the in-game PC Settings menu. Its title is
    Tourline Prologue, with real per-step status, cancellation and verified
    resume. GT5P_PREPARE_UI=0 restores the Windows dialog.
  • The starter expands to 2,892 observed pipeline records, adding verified
    Fuji Speedway F candidates to the existing menu/High Speed Ring/Daytona set.
    Both shader stages and native pipeline keys are verified locally.
  • Preparation can reuse verified shaders and driver hints from the previously
    selected cache when templates or helper generations change. Every native
    pipeline is still recreated and checked. GT5P_PREPARE_REUSE=0 disables reuse.
  • Native checksum acceleration reduces repeated verification overhead, with a
    Python fallback. GT5P_PREPARE_NATIVE_HASH=0 selects the fallback.
  • Packed game reads are bounded and verified against the supported game files.
    The legacy --prepare-assets <folder> path remains available.

Extract the complete ZIP into its own folder, close the game and launch
tourline-prologue.exe. Existing selected storage, saves and settings remain
compatible. After ordinary setup, run Prepare shaders.cmd if you want
preparation. Cancellation keeps completed work; repeat the same option to resume.
Only successful verified preparation changes the selected cache.

Preparation remains experimental and optional. It may take several minutes and
uses additional local disk space. The starter covers observed routes and
supported renderer settings, not every car, track section, camera or pass.
Uncovered pipelines and different settings continue through normal demand
compilation. Consistent gameplay stutter reduction has not been established.

Use tourline-prologue.exe --no-prepared to launch with the ordinary cache
without deleting any cache. Keep previous installation folders for binary
rollback. The package contains no game data, executable dump, keys, raw shaders
or game-derived cache contents. Shader bytes, generated source and GPU binaries
stay on the user's machine. Your own supported game files are required.

Tourline Prologue v0.2

Choose a tag to compare

@mathewdouglas mathewdouglas released this 01 Nov 00:18

Project Tourline Prologue v0.2

Adds optional experimental preparation of known shaders and pipelines before
play. Normal launching and asynchronous draw compilation remain available.

The player entry point is tourline-prologue.exe and the game window title is
Project Tourline Prologue. The launcher, game window and preparation helper
use the Project Tourline Prologue icon. Existing storage/saves/settings remain compatible.

  • Run Prepare shaders.cmd after completing normal game setup. Select your
    own GT.VOL directory unpacked with GTToolsSharp. The unpacker/assets are not
    supplied; selecting the extracted disc folder alone is insufficient.
  • A bundled standalone helper reconstructs both shader stages and native
    pipelines on the local machine. No separate Python/compiler installation is
    required. Shader bytes, generated code and GPU driver blobs stay in storage.
  • Exact fragment batching, progress, cancellation and verified resume are
    supported. Only a fully verified preparation is selected for subsequent play.
  • The starter describes 2,334 observed menu/High Speed Ring/Daytona pipeline
    records. This is partial observed coverage; it does not cover every car,
    track, camera or renderer setting, or independently recover every pass.

Preparation may take several minutes and uses additional local disk space.
It targets the supported disc ELF and default translation/root-signature
settings. Missing/incompatible entries and different settings use normal demand
compilation. Windows compiler/driver differences can reject preparation safely.
Consistent gameplay stutter reduction is not established. No zero-stutter claim
is made.

Cancellation retains completed work. Abrupt interruption can leave a partial
artifact that fails verification on retry; automatic cache repair is not
provided. Keep the logs/cache for inspection and use normal launching or
--no-prepared if preparation cannot complete.

Extract the complete new ZIP into its own folder, close the old game and use the
new tourline-prologue.exe. Existing selected storage/saves/settings are retained. To roll back
cache selection, run tourline-prologue.exe --no-prepared; keep all cache directories. Older
release binaries can still be used from their separate installation.

The package includes only the launcher/engine/dependencies, licensed art, the
standalone tool, notices and validated identifier/numeric-state metadata. It
contains no personal game files, decrypted ELF/SELF, raw shaders or cache files.

BCUS98158 v03.00 original game files are required and are not included. Validation
evidence and remaining limitations are recorded in docs/progress.md. Preparation
scripts do not create release tags or publish assets themselves.