fix(vk): support PsychoV35 with upscaling set to Off #527

Closed
futondestroyer wants to merge 2 commits from futondestroyer/Longshot:codex/psychov35-off into main
Member

Type: fix · Risk: medium · Tested on: Windows, RTX 4070 · Needs: Linux renderer build; AMD HDR gameplay

Why

Selecting Upscaler Off with Native HDR and PsychoV35 still runs the game's upscale network, even at 100% render resolution. Off should bypass that network and preserve the selected tone mapper.

Related compatibility report: #226 (the DLSS/FSR 4 report is closed; this PR extends a separate rendering path).

How to reproduce

Seen on: Windows kernel 26300 / 26H2, RTX 4070, driver621.01.
Settings and switches: Native HDR, PsychoV35, Upscaler Off; 100/75/67%, FG Off, compatibility flag 0.
Steps: At the daylight Lon Lon Ranch alley, select Off and change render scale, then Vanilla/PsychoV35.
Expected: Off bypasses the network and preserves the selected tone mapper.
Actual: The game network still runs, including at 100%.

What changed

Off now bypasses the game network with matching PsychoV35 buffers. The temporal engines and their opt-in remain unchanged.

  • Accept matching PsychoV35 RGBA16F scene/network buffers when Off is the effective selection, independently of the DLSS/FSR 4 opt-in. Their existing opt-in and all other modes are unchanged.
  • Lazily make a separate RGBA16F output pipeline using the existing compiled shader. Off receives perceptually encoded network input, so it retains the shader's default square; the HDR engine output pipeline still skips that square because its input is already linear.
  • Bind the matching pipeline/layout together. Preserve the camera/size guards for shape-detected networks and reject mixed/unsupported formats before dispatch.
  • Log the output format when it changes. Add an executable production-dispatch regression, update the existing policy/row tests, document Off, and record four paired game runs.

Measurements

Current review base: main @ 7494ce4e. The current pushed head is named in Reviewer notes; the table retains the actual historical measured builds.

Verdict: Both A/B pairs confirm bypass at all three sizes with the fix (3/3 versus 0/3); Vanilla controls and hot switches pass.

Main at original submission: 543846eb (2026-11-14; full-suite control was 9c9d69ed)
Branch at original submission: codex/psychov35-off @ e101de03 (code 3697c5c2; originally measured as 5b9c7666, results-only commit on top)
Baseline: development base @ 514591a3 + PR400, original Off

Both arms use the agreed shared development base, unchanged host and warmed disposable runtime. The fixed renderer adds only this Off patch to that baseline. The four changed production functions (temporal_scene_format, temporal_colour_pair, make_rgba_stretch, stretch) are byte-identical between the measured pack source and this PR. This is an isolated renderer comparison, not a fresh full current-main game build. No base was moved and no game artifact is attached.

Hardware: RTX 4070 12 GB, NVIDIA 621.01, i7-13700F, 32 GB RAM, Windows kernel 26300 / 26H2.
Scene: Lon Lon Ranch daylight alley, one fresh copied checkpoint per process, same camera. 2560x1440 output, 2560x1421 client, Native HDR 200/1000 nits, Off, sharpness 0, FG Off, cap 61, RX_VK_PSYCHOV35_DLSS=0.
Method: original/fixed/original/fixed. Each process captures five settled phases, ten seconds each: PsychoV35 at 100%, 75%, 67%; Vanilla at 100%; PsychoV35 again at 100%. Actual options, play state and screenshots are recorded. The HDR10 surface and game's native PQ picture are confirmed in every log. Metrics below count the three distinct PsychoV35 sizes with an actual RGBA16F Off-bypass diagnostic, not menu selections, frame rates or sustained per-frame evaluation counts.

Metric per run Before: development base @ 514591a3, PR400 and original off After: this PR @ 5b9c7666, development base 514591a3 and PR400
PsychoV35 sizes with RGBA16F Off bypass, of 3 0, 0; median 0 3, 3; median 3
Vanilla 100% Off bypass Confirmed in both runs Confirmed in both runs
Settled phases captured 5, 5 5, 5
Exit Normal, both runs Normal, both runs
fixed: upscaler: Off: network 9dc98871eb7fc101 left out, its input stretched linearly (2560x1440 -> 2560x1440), RGBA16F output
fixed: upscaler: Off: network fd029a317a9a4b94 left out, its input stretched linearly (1920x1080 -> 2560x1440), RGBA16F output
fixed: upscaler: Off: network 6676619641320ba7 left out, its input stretched linearly (1707x960 -> 2560x1440), RGBA16F output

How to reproduce: choose Native HDR, PsychoV35, Off, FG Off, 100% render resolution; start without the compatibility flag, then try 75%/67% and switch Vanilla/PsychoV35. Expect the Off diagnostic at each size and matching RGBA16F output under PsychoV35. At equal input/output dimensions the existing shader uses texelFetch; at lower input sizes it samples linearly. No temporal AA is added. The new game-free dispatch fixture fails unchanged main at the native Off assertion and passes the fix.

Flags and settings

None. None added. Selecting Off with Native HDR and PsychoV35 now works without RX_VK_PSYCHOV35_DLSS=1; the DLSS/DLAA and FSR 4 compatibility default remains off. No default menu selection changes. No TAAU, FSR 3.1 or frame-generation support is added.

Testing

Readiness validation on main7494ce4e: clean main: 533 passed, 7 failed, 34 skipped in 119 s (windows, 24 at once). This PR: 534 passed, 7 failed, 34 skipped in 120 s (windows, 24 at once). The same seven failures occur on both: tests/test_cpm_discovery.py, tests/test_linux_preflight.py, tests/test_make_game_cache.py, tests/test_oot_state_tap.py, tests/test_release.py, tests/test_tested_configurations.py, tests/test_walk_key.py. No PR-only failures. The actual rebased Windows renderer, with the locally installed NGX SDK, compiles and links successfully (58.9 seconds end-to-end). The PR production files are byte-identical to the prior submitted head. All eight related PR screenshot links were checked anonymously with range GET: HTTP206 and valid PNG signatures; HEAD requests are rejected by the server and were not used as evidence of broken links. No new in-game or performance run is claimed.

Tested: six focused checks pass. Complete python -I -B tests/run_all.py: 533 passed / 4 failed / 34 skipped on this PR versus 532 passed / the same 4 failed / 34 skipped on clean main 9c9d69ed. Shared failures: test_oot_state_tap, test_release, test_tested_configurations, test_walk_key. No fix-only failure. The dispatch fixture compiles and executes the actual functions with fake Vulkan, checking native/scaled/mip outputs, matched pipeline/layout, default decoding specialization, camera age/dimensions, mixed formats, rejected modes and pipeline-failure recovery. Existing exhaustive format-policy coverage remains.

The renderer-only measurement pack builds and links with llvm-mingw and NGX, zero compiler failures. A separate renderer-only build of the actual PR source compiled and linked with zero failures (55 seconds). After rebasing onto 543846eb, the eight focused renderer and newly merged build-tool checks pass; git range-diff confirms both PR commits unchanged. The new main commits change the giant-function build and launcher SDK flag, not the measured renderer functions. Full-suite figures above remain the explicitly named pre-rebase runs, not fresh 543846eb suite results. All four game runs passed the option/state/HDR/route checks; no device-lost, output-shader-failure or validation-error line was logged. Screenshots inspected for coverage and obvious colour errors; they are not calibrated HDR measurements. New run fragments validate with scripts/tested_configurations.py. The disposable runtime's original module, manifest, settings and environment file were restored; shared bases and benchmark evidence were untouched.

Not tested: Linux build/runtime, AMD/Intel GPUs, long gameplay, other scenes, motion/area transfers, active frame generation or calibrated HDR brightness. No performance gain is claimed. The existing main-table CRLF unit failure is unchanged. This PR does not fix the broader transition symptom in issue344.

External checks: Fork CI remains blocked by required conditions; Test Farm approval awaits a maintainer. These are pending, not passing. The Linux checkbox stays unticked; do not mark ready until required external coverage is settled.

Must be tested:

  • Linux, clang or GCC: documented renderer-only build and psychov35_off, psychov35_dlss and upscaler_rows fixtures, expecting successful compilation and all relevant regressions passing (by hand: T-27BJ; Test Farm: @Beanstalk Linux renderer build and focused fixtures).
  • AMD GPU with a Native HDR monitor, Windows or Linux: Native HDR, PsychoV35, Upscaler Off; 100/75/67%, FG Off, compatibility flag 0. At the daylight Lon Lon Ranch alley, select Off and change render scale, then Vanilla/PsychoV35. Expecting off bypasses the network and preserves the selected tone mapper. (by hand: T-X7BT; compare logs, colours, history and errors).

Screenshots

The two approved captures show the same saved viewpoint at 100% with Native HDR and PsychoV35. Animation and world time are not frozen. Raw PQ captures are for relative image inspection, not calibrated HDR brightness.

Development base 514591a3 + PR400, original Off (game network still runs)

Original Off with PsychoV35

Development base 514591a3 + PR400 + Off fix 5b9c7666 (network bypass verified)

Fixed Off with PsychoV35

Risks

What could break: Incorrect decoding or a shader/view format mismatch could change colours or lose output. Off uses a distinct, lazily created pipeline retaining the default decode; DLSS/FSR 4's already-linear pipeline is unchanged. Matching format checks and the camera/size guards remain. Choose Vanilla or the game's upscaler to leave this path, or revert the commit. No public renderer API, shader source/SPIR-V or third-party file changes.

Turning it off: Choose Vanilla or revert this isolated fix.

Compatibility: No save migration, option-file schema, public renderer ABI or builder-tool requirement is introduced by this PR. No shader-cache format change is introduced by this PR.

Reviewer notes

Final upstream check: main advanced to 5d3ecc78 after the validated rebase at7494ce4e. git merge-tree reports a clean merge for this PR against that newer main; the full-suite/build numbers above remain tied to the validated7494ce4e base. No new measured result on5d3ecc78 is claimed. The combined-tree fixture run is prepared but deferred while another job holds the shared lock and for the17:30 Halifax autobuild priority window; standalone PR fixtures passed.

Review the default square in make_rgba_stretch separately from the no-square specialization in make_rgba_output. The shared scene policy also supplies the correct sampled/storage views through both translated and rejected-network dispatch paths. Existing upscaler_rows::takes_psychov35 remains the set of HDR temporal engines; Off is handled separately.

Current readiness refresh rebases onto main7494ce4e; current branch head 3007c3d3. Historical game measurements retain their original measured commits. This rebase includes upstream build/profile changes, so no current-head performance claim is made. The relevant production functions are unchanged by this readiness refresh; no production changes were added in this readiness refresh. Each PR merges individually against current main; shared documentation requires preserving each path when the other PRs land.

Issues

Related compatibility work: #108 and #247.
The common matcher fix used in both measurement arms is #400.
The separate transition investigation remains #344.

Checklist

Everyone

  • One topic.
  • The title is a Conventional Commit (type(scope): description) of the status line's type.
  • Why gives the reason plainly and links the issues that fit (the tracker searched).
  • Measurements has a verdict, or one line saying why there is nothing to measure.
  • Testing names what was tested, what wasn't, and what must still be tested, where and how.
  • Rebased on current main. (Validated7494ce4e; final clean-merge check against5d3ecc78.)
  • python -I -B tests/run_all.py passes (any failure that also fails on main is named).
  • No game files, dumps, build output or generated files.
  • third_party/ untouched (a new folder with a PROVENANCE.md instead).
  • The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.

When it applies

  • AI assistance recorded with Assisted-by: / Co-Authored-By: trailers.
  • Numbers from the same PC, scene and settings, at least 2 interleaved runs each, the median reported.
  • Switches documented (docs/development.md; the README for a menu row) and shipped at their recommended value.
  • Screenshots of the same spot, captioned like the Measurements columns, for a change that shows on screen.
  • A file in docs/tested/ for each new measured run (format in docs/tested-configurations.md).
  • A game-free test added for the fix, failing on main and passing here.
  • A check under tests/ that reads changed source updated in this PR, not weakened.
  • Host code builds on both Windows (llvm-mingw) and Linux, with UTF-8 paths. (Rebased Windows renderer passes; Linux pending T-27BJ.)
  • Docs updated.
**Type:** fix · **Risk:** medium · **Tested on:** Windows, RTX 4070 · **Needs:** Linux renderer build; AMD HDR gameplay ## Why Selecting Upscaler Off with Native HDR and PsychoV35 still runs the game's upscale network, even at 100% render resolution. Off should bypass that network and preserve the selected tone mapper. Related compatibility report: https://git.magicbean.dev/MagicBeanDev/Longshot/issues/226 (the DLSS/FSR 4 report is closed; this PR extends a separate rendering path). ## How to reproduce **Seen on:** Windows kernel 26300 / 26H2, RTX 4070, driver621.01. **Settings and switches:** Native HDR, PsychoV35, Upscaler Off; 100/75/67%, FG Off, compatibility flag 0. **Steps:** At the daylight Lon Lon Ranch alley, select Off and change render scale, then Vanilla/PsychoV35. **Expected:** Off bypasses the network and preserves the selected tone mapper. **Actual:** The game network still runs, including at 100%. ## What changed Off now bypasses the game network with matching PsychoV35 buffers. The temporal engines and their opt-in remain unchanged. - Accept matching PsychoV35 RGBA16F scene/network buffers when Off is the effective selection, independently of the DLSS/FSR 4 opt-in. Their existing opt-in and all other modes are unchanged. - Lazily make a separate RGBA16F output pipeline using the existing compiled shader. Off receives perceptually encoded network input, so it retains the shader's default square; the HDR engine output pipeline still skips that square because its input is already linear. - Bind the matching pipeline/layout together. Preserve the camera/size guards for shape-detected networks and reject mixed/unsupported formats before dispatch. - Log the output format when it changes. Add an executable production-dispatch regression, update the existing policy/row tests, document Off, and record four paired game runs. ## Measurements Current review base: **main @ 7494ce4e**. The current pushed head is named in Reviewer notes; the table retains the actual historical measured builds. **Verdict:** Both A/B pairs confirm bypass at all three sizes with the fix (3/3 versus 0/3); Vanilla controls and hot switches pass. Main at original submission: 543846eb (2026-11-14; full-suite control was 9c9d69ed) Branch at original submission: codex/psychov35-off @ e101de03 (code 3697c5c2; originally measured as 5b9c7666, results-only commit on top) Baseline: development base @ 514591a3 + PR400, original Off Both arms use the agreed shared development base, unchanged host and warmed disposable runtime. The fixed renderer adds only this Off patch to that baseline. The four changed production functions (`temporal_scene_format`, `temporal_colour_pair`, `make_rgba_stretch`, `stretch`) are byte-identical between the measured pack source and this PR. This is an isolated renderer comparison, not a fresh full current-main game build. No base was moved and no game artifact is attached. Hardware: RTX 4070 12 GB, NVIDIA 621.01, i7-13700F, 32 GB RAM, Windows kernel 26300 / 26H2. Scene: Lon Lon Ranch daylight alley, one fresh copied checkpoint per process, same camera. 2560x1440 output, 2560x1421 client, Native HDR 200/1000 nits, Off, sharpness 0, FG Off, cap 61, `RX_VK_PSYCHOV35_DLSS=0`. Method: original/fixed/original/fixed. Each process captures five settled phases, ten seconds each: PsychoV35 at 100%, 75%, 67%; Vanilla at 100%; PsychoV35 again at 100%. Actual options, play state and screenshots are recorded. The HDR10 surface and game's native PQ picture are confirmed in every log. Metrics below count the three distinct PsychoV35 sizes with an actual RGBA16F Off-bypass diagnostic, not menu selections, frame rates or sustained per-frame evaluation counts. | Metric per run | Before: development base @ 514591a3, PR400 and original off | After: this PR @ 5b9c7666, development base 514591a3 and PR400 | |---|---|---| | PsychoV35 sizes with RGBA16F Off bypass, of 3 | 0, 0; median **0** | 3, 3; median **3** | | Vanilla 100% Off bypass | Confirmed in both runs | Confirmed in both runs | | Settled phases captured | 5, 5 | 5, 5 | | Exit | Normal, both runs | Normal, both runs | ```text fixed: upscaler: Off: network 9dc98871eb7fc101 left out, its input stretched linearly (2560x1440 -> 2560x1440), RGBA16F output fixed: upscaler: Off: network fd029a317a9a4b94 left out, its input stretched linearly (1920x1080 -> 2560x1440), RGBA16F output fixed: upscaler: Off: network 6676619641320ba7 left out, its input stretched linearly (1707x960 -> 2560x1440), RGBA16F output ``` How to reproduce: choose Native HDR, PsychoV35, Off, FG Off, 100% render resolution; start without the compatibility flag, then try 75%/67% and switch Vanilla/PsychoV35. Expect the Off diagnostic at each size and matching RGBA16F output under PsychoV35. At equal input/output dimensions the existing shader uses `texelFetch`; at lower input sizes it samples linearly. No temporal AA is added. The new game-free dispatch fixture fails unchanged main at the native Off assertion and passes the fix. ### Flags and settings None. None added. Selecting Off with Native HDR and PsychoV35 now works without `RX_VK_PSYCHOV35_DLSS=1`; the DLSS/DLAA and FSR 4 compatibility default remains off. No default menu selection changes. No TAAU, FSR 3.1 or frame-generation support is added. ## Testing **Readiness validation on main7494ce4e:** clean main: 533 passed, 7 failed, 34 skipped in 119 s (windows, 24 at once). This PR: 534 passed, 7 failed, 34 skipped in 120 s (windows, 24 at once). The same seven failures occur on both: `tests/test_cpm_discovery.py`, `tests/test_linux_preflight.py`, `tests/test_make_game_cache.py`, `tests/test_oot_state_tap.py`, `tests/test_release.py`, `tests/test_tested_configurations.py`, `tests/test_walk_key.py`. **No PR-only failures.** The actual rebased Windows renderer, with the locally installed NGX SDK, compiles and links successfully (58.9 seconds end-to-end). The PR production files are byte-identical to the prior submitted head. All eight related PR screenshot links were checked anonymously with range GET: HTTP206 and valid PNG signatures; HEAD requests are rejected by the server and were not used as evidence of broken links. No new in-game or performance run is claimed. **Tested:** six focused checks pass. Complete `python -I -B tests/run_all.py`: **533 passed / 4 failed / 34 skipped** on this PR versus **532 passed / the same 4 failed / 34 skipped** on clean main 9c9d69ed. Shared failures: `test_oot_state_tap`, `test_release`, `test_tested_configurations`, `test_walk_key`. No fix-only failure. The dispatch fixture compiles and executes the actual functions with fake Vulkan, checking native/scaled/mip outputs, matched pipeline/layout, default decoding specialization, camera age/dimensions, mixed formats, rejected modes and pipeline-failure recovery. Existing exhaustive format-policy coverage remains. The renderer-only measurement pack builds and links with llvm-mingw and NGX, zero compiler failures. A separate renderer-only build of the actual PR source compiled and linked with zero failures (55 seconds). After rebasing onto 543846eb, the eight focused renderer and newly merged build-tool checks pass; git range-diff confirms both PR commits unchanged. The new main commits change the giant-function build and launcher SDK flag, not the measured renderer functions. Full-suite figures above remain the explicitly named pre-rebase runs, not fresh 543846eb suite results. All four game runs passed the option/state/HDR/route checks; no device-lost, output-shader-failure or validation-error line was logged. Screenshots inspected for coverage and obvious colour errors; they are not calibrated HDR measurements. New run fragments validate with `scripts/tested_configurations.py`. The disposable runtime's original module, manifest, settings and environment file were restored; shared bases and benchmark evidence were untouched. **Not tested:** Linux build/runtime, AMD/Intel GPUs, long gameplay, other scenes, motion/area transfers, active frame generation or calibrated HDR brightness. No performance gain is claimed. The existing main-table CRLF unit failure is unchanged. This PR does not fix the broader transition symptom in issue344. **External checks:** [Fork CI](https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/9050/jobs/1) remains blocked by required conditions; [Test Farm approval](https://beanstalk.magicbean.dev/prs/527) awaits a maintainer. These are pending, not passing. The Linux checkbox stays unticked; do not mark ready until required external coverage is settled. **Must be tested:** - Linux, clang or GCC: documented renderer-only build and psychov35_off, psychov35_dlss and upscaler_rows fixtures, expecting successful compilation and all relevant regressions passing (by hand: T-27BJ; Test Farm: @Beanstalk Linux renderer build and focused fixtures). - AMD GPU with a Native HDR monitor, Windows or Linux: Native HDR, PsychoV35, Upscaler Off; 100/75/67%, FG Off, compatibility flag 0. At the daylight Lon Lon Ranch alley, select Off and change render scale, then Vanilla/PsychoV35. Expecting off bypasses the network and preserves the selected tone mapper. (by hand: T-X7BT; compare logs, colours, history and errors). ## Screenshots The two approved captures show the same saved viewpoint at 100% with Native HDR and PsychoV35. Animation and world time are not frozen. Raw PQ captures are for relative image inspection, not calibrated HDR brightness. **Development base 514591a3 + PR400, original Off (game network still runs)** ![Original Off with PsychoV35](https://git.magicbean.dev/attachments/59efa1ac-02f5-4b16-a4aa-30be5bf91b0f) **Development base 514591a3 + PR400 + Off fix 5b9c7666 (network bypass verified)** ![Fixed Off with PsychoV35](https://git.magicbean.dev/attachments/e4d72b04-76b0-440c-81ea-39d51e12776b) ## Risks **What could break:** Incorrect decoding or a shader/view format mismatch could change colours or lose output. Off uses a distinct, lazily created pipeline retaining the default decode; DLSS/FSR 4's already-linear pipeline is unchanged. Matching format checks and the camera/size guards remain. Choose Vanilla or the game's upscaler to leave this path, or revert the commit. No public renderer API, shader source/SPIR-V or third-party file changes. **Turning it off:** Choose Vanilla or revert this isolated fix. **Compatibility:** No save migration, option-file schema, public renderer ABI or builder-tool requirement is introduced by this PR. No shader-cache format change is introduced by this PR. ## Reviewer notes Final upstream check: main advanced to **5d3ecc78** after the validated rebase at7494ce4e. `git merge-tree` reports a clean merge for this PR against that newer main; the full-suite/build numbers above remain tied to the validated7494ce4e base. No new measured result on5d3ecc78 is claimed. The combined-tree fixture run is prepared but deferred while another job holds the shared lock and for the17:30 Halifax autobuild priority window; standalone PR fixtures passed. Review the default square in `make_rgba_stretch` separately from the no-square specialization in `make_rgba_output`. The shared scene policy also supplies the correct sampled/storage views through both translated and rejected-network dispatch paths. Existing `upscaler_rows::takes_psychov35` remains the set of HDR temporal engines; Off is handled separately. Current readiness refresh rebases onto main7494ce4e; current branch head 3007c3d3. Historical game measurements retain their original measured commits. This rebase includes upstream build/profile changes, so no current-head performance claim is made. The relevant production functions are unchanged by this readiness refresh; no production changes were added in this readiness refresh. Each PR merges individually against current main; shared documentation requires preserving each path when the other PRs land. ## Issues Related compatibility work: https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/108 and https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/247. The common matcher fix used in both measurement arms is https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/400. The separate transition investigation remains https://git.magicbean.dev/MagicBeanDev/Longshot/issues/344. ## Checklist ### Everyone - [x] One topic. - [x] The title is a Conventional Commit (`type(scope): description`) of the status line's type. - [x] Why gives the reason plainly and links the issues that fit (the tracker searched). - [x] Measurements has a verdict, or one line saying why there is nothing to measure. - [x] Testing names what was tested, what wasn't, and what must still be tested, where and how. - [x] Rebased on current `main`. (Validated7494ce4e; final clean-merge check against5d3ecc78.) - [x] `python -I -B tests/run_all.py` passes (any failure that also fails on `main` is named). - [x] No game files, dumps, build output or generated files. - [x] `third_party/` untouched (a new folder with a `PROVENANCE.md` instead). - [x] The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled. ### When it applies - [x] AI assistance recorded with `Assisted-by:` / `Co-Authored-By:` trailers. - [x] Numbers from the same PC, scene and settings, at least 2 interleaved runs each, the median reported. - [x] Switches documented (docs/development.md; the README for a menu row) and shipped at their recommended value. - [x] Screenshots of the same spot, captioned like the Measurements columns, for a change that shows on screen. - [x] A file in `docs/tested/` for each new measured run (format in `docs/tested-configurations.md`). - [x] A game-free test added for the fix, failing on `main` and passing here. - [x] A check under `tests/` that reads changed source updated in this PR, not weakened. - [ ] Host code builds on both Windows (llvm-mingw) and Linux, with UTF-8 paths. (Rebased Windows renderer passes; Linux pending T-27BJ.) - [x] Docs updated.
Assisted-by: OpenAI Codex
docs(tested): record paired PsychoV35 Off checks
Some checks failed
PR description / Description follows the template (pull_request_target) Successful in 8s
Website / Website on Cloudflare (pull_request_target) Has been skipped
CI / Conventional Commit title (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been cancelled
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been cancelled
CI / Workflow lint (actionlint) (pull_request) Has been cancelled
Third-party parts / As their notes say (pull_request) Has been cancelled
Third-party parts / The same as upstream (pull_request) Has been cancelled
Website / Website on Cloudflare (pull_request) Has been cancelled
e101de0321
Assisted-by: OpenAI Codex
Author
Member

Posted the isolated upscaling-Off fix with two interleaved game comparisons at 100%, 75% and 67%, unchanged Vanilla controls, full-suite baseline comparison and the two approved before/after attachments. The actual current-source Windows renderer builds and links; post-rebase rebuild also passes. Linux renderer/check coverage T-27BJ and AMD Native HDR gameplay T-X7BT are open: could a maintainer add testing wanted so testers can claim them? The Linux checklist remains unticked and this PR remains WIP. TAAU, FSR 3.1 and any default-on rollout are separate work. No merge requested from automation.

Posted the isolated upscaling-Off fix with two interleaved game comparisons at 100%, 75% and 67%, unchanged Vanilla controls, full-suite baseline comparison and the two approved before/after attachments. The actual current-source Windows renderer builds and links; post-rebase rebuild also passes. Linux renderer/check coverage T-27BJ and AMD Native HDR gameplay T-X7BT are open: could a maintainer add testing wanted so testers can claim them? The Linux checklist remains unticked and this PR remains WIP. TAAU, FSR 3.1 and any default-on rollout are separate work. No merge requested from automation.
Author
Member

Corrected the Baseline line to name its exact measurement-table column. The remaining ready-check item is the explicitly pending Linux build result T-27BJ; no code or measurement changed.

Corrected the Baseline line to name its exact measurement-table column. The remaining ready-check item is the explicitly pending Linux build result T-27BJ; no code or measurement changed.
Author
Member

Readiness refresh: rebased onto main7494ce4e. The PR production files are byte-identical to the previously submitted head; historical game measurements remain tied to their measured commits. Fresh local main/branch suites and Windows builds are in progress under the shared-machine lock; no new gameplay or performance run is claimed.

@Beanstalk Linux renderer-only build and the psychov35_off, psychov35_dlss and upscaler_rows game-free fixtures. Expect successful compilation and native/scaled matching RGBA16F Off dispatch, with camera/format/failure guards passing. Build and run through the development guide; publish compiler/OS/hardware, exact tested commit, results and safe log excerpts on this PR. The existing manual test request remains open; no duplicate manual request is being created.

Readiness refresh: rebased onto main7494ce4e. The PR production files are byte-identical to the previously submitted head; historical game measurements remain tied to their measured commits. Fresh local main/branch suites and Windows builds are in progress under the shared-machine lock; no new gameplay or performance run is claimed. @Beanstalk Linux renderer-only build and the psychov35_off, psychov35_dlss and upscaler_rows game-free fixtures. Expect successful compilation and native/scaled matching RGBA16F Off dispatch, with camera/format/failure guards passing. Build and run through the development guide; publish compiler/OS/hardware, exact tested commit, results and safe log excerpts on this PR. The existing manual test request remains open; no duplicate manual request is being created.
futondestroyer force-pushed codex/psychov35-off from e101de0321
Some checks failed
PR description / Description follows the template (pull_request_target) Successful in 8s
Website / Website on Cloudflare (pull_request_target) Has been skipped
CI / Conventional Commit title (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been cancelled
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been cancelled
CI / Workflow lint (actionlint) (pull_request) Has been cancelled
Third-party parts / As their notes say (pull_request) Has been cancelled
Third-party parts / The same as upstream (pull_request) Has been cancelled
Website / Website on Cloudflare (pull_request) Has been cancelled
to 3007c3d365
Some checks failed
PR description / Description follows the template (pull_request_target) Failing after 3s
Website / Website on Cloudflare (pull_request) Has been cancelled
CI / Conventional Commit title (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been cancelled
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been cancelled
CI / Workflow lint (actionlint) (pull_request) Has been cancelled
Third-party parts / As their notes say (pull_request) Has been cancelled
Third-party parts / The same as upstream (pull_request) Has been cancelled
beanstalk/approval not approved yet
2026-11-14 21:15:17 +00:00
Compare
Member

@futondestroyer only members of BigBeans can start the farm. One of them can approve this request by reacting 👍 to it.

@futondestroyer only members of `BigBeans` can start the farm. One of them can approve this request by reacting 👍 to it.
Author
Member

Readiness audit completed: rebased onto7494ce4e; final clean-merge check also passes against newer main5d3ecc78. Refreshed the description to the current template, preserving the actual historical game-measurement commits and screenshots. Fresh full suites have no PR-only failures against the same seven failures reproduced on clean7494ce4e. All screenshot links return valid PNG data through anonymous range GET. Current-source Windows renderer builds and links successfully. The combined-tree fixture check is similarly deferred; no combined-runtime claim is made. Linux (and the listed AMD HDR checks where applicable) remain pending. Test Farm approval and fork CI jobs explicitly await maintainer authorization, so this remains WIP. Please approve the farm/fork jobs and enable the existing manual requests as appropriate. No PR was merged.

Readiness audit completed: rebased onto7494ce4e; final clean-merge check also passes against newer main5d3ecc78. Refreshed the description to the current template, preserving the actual historical game-measurement commits and screenshots. Fresh full suites have no PR-only failures against the same seven failures reproduced on clean7494ce4e. All screenshot links return valid PNG data through anonymous range GET. Current-source Windows renderer builds and links successfully. The combined-tree fixture check is similarly deferred; no combined-runtime claim is made. Linux (and the listed AMD HDR checks where applicable) remain pending. Test Farm approval and fork CI jobs explicitly await maintainer authorization, so this remains WIP. Please approve the farm/fork jobs and enable the existing manual requests as appropriate. No PR was merged.
futondestroyer changed title from WIP: fix(vk): support PsychoV35 with upscaling set to Off to fix(vk): support PsychoV35 with upscaling set to Off 2026-11-14 22:06:07 +00:00
Owner

Closing: this change is already on main through #608, which took it together with the other PsychoV35 changes and turned the compatibility path on by default. Rebased onto main, what is left of this branch is its earlier opt-in form (RX_VK_PSYCHOV35_DLSS=1), which would undo 608's default, so there is nothing more to merge. Thanks!

Closing: this change is already on main through https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/608, which took it together with the other PsychoV35 changes and turned the compatibility path on by default. Rebased onto main, what is left of this branch is its earlier opt-in form (`RX_VK_PSYCHOV35_DLSS=1`), which would undo 608's default, so there is nothing more to merge. Thanks!
HumanBean closed this pull request 2026-11-15 03:37:31 +00:00
Some checks failed
PR description / Description follows the template (pull_request_target) Failing after 3s
Website / Website on Cloudflare (pull_request) Has been cancelled
CI / Conventional Commit title (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been cancelled
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been cancelled
CI / Workflow lint (actionlint) (pull_request) Has been cancelled
Third-party parts / As their notes say (pull_request) Has been cancelled
Third-party parts / The same as upstream (pull_request) Has been cancelled
beanstalk/approval not approved yet

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot!527
No description provided.