Until Dawn native PC port - changelog
=====================================

All releases are work-in-progress test builds. Known problems: KNOWN_ISSUES.txt.

WIP 0.1.5 (build t119, 27 October 2026)
---------------------------------------
Memory use, shorter shader-compilation freezes and less renderer work. The shaders are translated exactly as in
0.1.4, so the picture is meant to be the same. Measured on the developer's PC (RTX 3090 Ti, Core i9-12900KF,
64 GB) on the same test route through the prologue.
  Memory
  - RAM use at most about 8.2 GB instead of 12.7 GB; committed memory at most about 17 GB instead of 22 GB.
  - The game's memory heaps are committed in steps as the game uses them, instead of 64 MB or more at a time
    up front; the game's memory no longer grows by several hundred MB during play (+44 MB instead of +640 MB in
    ten minutes). Memory pools in 64 MB steps instead of 512 MB.
  - The translated shader programs (SPIR-V) are freed once the graphics driver has made its own copy; shader
    modules that have not been used for a while are destroyed and made again from a compressed copy when
    needed. The shader translator's cache stores its results packed (about 140 MB less).
  - The renderer's buffer copies and memory mirror in video memory are sized to the graphics card (a quarter and
    an eighth of its video memory) instead of a fixed 6 GB and 3 GB on every card.
  - A memory report in the log every 60 seconds and at exit (this program's memory, the game's, the renderer's
    and the graphics driver's).
  Shader compilation
  - Compute shaders are compiled on the compiler threads in parallel, like the other shaders, instead of one
    after another on the renderer thread (one reported freeze of 38 seconds held 30 seconds of compute shader
    compiles). With no shader cache, the time spent waiting for compiles in two test scenes fell by 16% and 24%.
    With compute shaders made to fail on purpose, the pictures were the same as with the old way.
  Renderer
  - Pipeline, viewport, scissor, blend constants, shader constants and index buffer are only sent to the graphics
    driver when they differ from the previous draw's (about 3% less renderer time in test scenes).
  - The check at each submit for memory the game has written asks Windows without resetting first and skips the
    reset for ranges nothing wrote (about 0.3-0.4 ms less per frame in play). Verified: in about 1.1 million
    ranges this skipped, it never missed a write.
  - When the game moves a texture to a new place in memory, the copy already in video memory is reused instead
    of uploading it again (about 1.3 GB less uploading on the test route). A texture is only reused when every
    byte and its layout match.
  - Textures that lie across two neighbouring blocks of game memory are no longer refused.
  - Registering new game memory is now locked against a second thread doing the same at once.
  Not changed: settings, controls, the compatibility tester (compat\ is the same as in 0.1.4), the shader cache
  (a 0.1.4 cache stays valid).
  Not fixed: the occasional overwritten game memory behind most crashes, the problems on laptops with two
  graphics chips, and the other known issues.

WIP 0.1.4 (build t107l, 25 October 2026)
----------------------------------------
  - Hair no longer looks hazy or see-through: the hair's depth, which a compute shader writes on the PS4, now
    reaches the renderer's depth buffer.
  - More movies can be skipped: the butterfly-effect tutorial, the movie that opens the prologue and the Chapter 1
    bus ride.
  - Much better frame rate: the heaviest scenes measured went from about 5 fps to 21-25 fps on the developer's PC.
    Shader translation about 3 times faster and reused far more often; the renderer runs on its own thread
    (setting renderer_thread); fewer GPU synchronisation steps; cheaper texture handling.
  - New game memory registered with the graphics driver before the game uses it; game file reads go through the
    program's own buffers.
  - Two rare renderer faults fixed (an image freed while still in use after a batch split; memory fallbacks on
    PCs without resizable BAR).

WIP 0.1.3 (October 2026)
------------------------
  - Long folder paths: game files are no longer reported missing when the path is longer than 260 characters.
  - AMD graphics fixed (noisy textures, black blocks, missing foliage, stepped lighting on an RX 9070 XT):
    helper pixels, 2x2 pixel groups, a compute shader's shared memory, 32-lane waves.

WIP 0.1.2 (October 2026)
------------------------
  - First public test release: the whole game playable on the developer's PC; DualSense, DualShock 4, Xbox
    controllers, keyboard and mouse; "The Road Not Taken" DLC; skippable intro logos and recaps; windowed /
    borderless modes, frame-rate limit, shader cache; start-up checks; compatibility tester.
