WIP: fix(vk): the full-size network's stand-in draws at 100% Render resolution, so GTX 10 cards show the 3D there #718

Draft
llun wants to merge 2 commits from llun/Longshot:fix/full-size-network-stand-in into main
Member

Type: fix · Risk: low · Tested on: Windows 11, RTX 5080 (the GTX 10 path forced with RX_VK_FORCE_UPSCALE_STUB=2) · Needs: Windows, a GTX 10 card (or an RX 400/500 on Linux)

Why

On a GTX 10 card (a player's GTX 1080 Ti, nightly-170) the game is black under the HUD when Render resolution is 100%,
whatever the resolution or the upscaler, and the picture comes back at once at 92% or lower. These cards have no f16
shaders, so since https://github.com/NotRexed/Hookshot/pull/2343 (which Longshot carries) every one of the game's
upscale networks is left out on them, the two gameplay ones too, and a stand-in draws their output instead. At 100%
the game runs its full-size pass, 9dc98871eb7fc101, which reads the 3D at the output's own size; the stand-in only
took passes whose output is bigger than their input, so at 100% nothing drew the picture. Polaris cards on RADV (RX
400/500, also without f16 shaders) take the same path.

It is not the mesh fallback: the 3D is drawn (about 2,000 draws a frame in the player's log), only the last step that
puts it into the picture was missing.

See #687 (an opt-in FXAA stand-in for the same full-size network
where it translates; it doesn't reach these cards, where the network is left out before it).

How to reproduce

Seen on: Windows 10, GTX 1080 Ti (Pascal), driver 572.70, nightly-170 (6c9edffe); here on Windows 11, RTX 5080, 621.24, main e090cc48, with the GTX 10 path forced
Settings and switches: Render resolution 100%, any upscaler (Off, the game's own or AMD FSR 3.1); on a card with f16 shaders, RX_VK_FORCE_UPSCALE_STUB=2 in longshot_env.txt sends the gameplay networks to the stand-in, as on a GTX 10
Steps: load any save and look at the game in play
Expected: the 3D under the HUD
Actual: black under the HUD; 92% or lower shows the picture. The player's log has program 9dc98871eb7fc101 not translated: a network left out on this card, then the pass dispatched with a 2560x1440 input and a 2560x1440 output, and no stand-in line for it until the scale is lowered

What changed

upscale_stub now also takes a pass of the two gameplay networks whose output is its input's size, so the full-size
pass is drawn at 100% on cards that leave the network out. It goes through the typed RGB9E5 fallback the 3/4 network
already takes there, so its colours decode right. Cards that run the network (every RTX card without the switch) are
unchanged.

  • vk: upscale_stub in gpu/vk/vk_draw.cpp: an output of the input's size is taken for gameplay_network() keys only
    (another program's pass of that shape is still no upscale and is left as before); a smaller output still isn't.
  • vk: the same function: the typed RGB9E5 fallback takes the full-size pass too (before: the 3/4 network only), with a
    log line once, vk: the full-size network 9dc98871eb7fc101 is drawn by the typed fallback (WxH -> WxH), and the
    existing "unavailable" warning covers it. At a fixed share below 100% the full-size pass now also takes the typed
    fallback where its input is RGB9E5, instead of a plain blit of those bits.
  • tests: tests/test_upscale_fallback.py: the same-size pass of both gameplay networks is drawn (typed, or the blit when
    its input isn't RGB9E5, with the warning when the typed path can't run), another program's same-size pass and a
    smaller output are not, and the full-size network takes the typed fallback at a fixed share. The blit stub checks the
    sizes it is given rather than one fixed pair.
  • docs: docs/tested/2026-11-15-full-size-stand-in-llun-*.md, the six runs below.

Measurements

Verdict: fixes it. With the GTX 10 path forced at 100%, main's picture is black in both runs (mean luma 0.6, 99.4%
of the pixels near black) and this PR's shows the 3D in both (33.4-32.7, under 3% near black). Without the switch both
builds draw the same.

Hardware: Windows 11 Pro (26300), RTX 5080 16 GB, driver 621.24, Ryzen 9 9900X3D, 64 GB
Scene: Kokiri Forest, Link's house (the repository save kokiri-start), 1920x1080 output, Render resolution 100%, Upscaler Off, no frame generation, uncapped, headless
Method: longshot_ctl.py launch --profile test --headless --repo-save kokiri-start; 300 presents after play began, one screenshot through the control bridge (1280x720); its mean luma (0-255) and the share of pixels under 8, sampled every 4th pixel each way; the log lines for 9dc98871eb7fc101. Runs alternated main, PR, main, PR, then one each without the switch
How to reproduce: the settings above with RX_VK_FORCE_UPSCALE_STUB=2
Baseline: one game folder of main 25726217 (a copy; same game binary in every run), with longshot_vk.dll built alone (RX_VK_ONLY, release, llvm-mingw, NVIDIA DLSS SDK, same flags) from main e090cc48 and from this PR, swapped between runs. MKWVK_API_VERSION is 22 in both, and no shader-translator file differs from 25726217's, so the caches stayed valid

100%, Upscaler Off Before: main @ e090cc48 After: this PR @ 32e088a7
RX_VK_FORCE_UPSCALE_STUB=2, run 1: mean luma, near-black 0.6, 99.4% (black) 32.7, 2.9% (the 3D)
RX_VK_FORCE_UPSCALE_STUB=2, run 2 0.6, 99.4% (black) 33.4, 2.9% (the 3D)
median of the two 0.6, 99.4% 33.1, 2.9%
no switch (the network runs) 34.2, 2.7% 33.4, 2.5%
the PR's run 1 at 100% with the game's own / AMD FSR 3.1, at 75% Off not run 33.7 / 34.9 / 34.5, under 3% near black
main, switch on: no line for 9dc98871eb7fc101 (the stand-in turned the pass away)
this PR, switch on:
  vk: typed upscale helper generic RGB9E5 fallback, packed output
  vk: the full-size network 9dc98871eb7fc101 is drawn by the typed fallback (1920x1080 -> 1920x1080)
this PR at 75%, unchanged from main:
  vk: upscaler: Off: network fd029a317a9a4b94 left out, its input stretched linearly (1440x810 -> 1920x1080), packed output
both, no switch (the same two lines):
  vk: network 9dc98871eb7fc101: dispatch 48x27x1, 1 textures 1 images: 1920x1080x1/122 1920x1080x1/122
  vk: upscaler: Off: network 9dc98871eb7fc101 left out, its input stretched linearly (1920x1080 -> 1920x1080), packed output

The frame rate wasn't compared: the change only adds a pass where nothing was drawn before, on cards that leave the
network out.

Flags and settings

None.

Screenshots

Same spot, 100%, Upscaler Off, RX_VK_FORCE_UPSCALE_STUB=2, in
#718 (comment):
Before: main @ e090cc48 (black under the HUD) | After: this PR @ 32e088a7 (the 3D, right colours).

Testing

Tested: game-free: tests/test_upscale_fallback.py with clang 23 (llvm-mingw): its new same-size cases fail on
main's upscale_stub (RED: 9dc-same: upscale_stub turned the pass away, its output never written, the same for
same-fd, 9dc-same-r11, 9dc-same-no-storage; 9dc asserts on the blit) and all 38 cases pass here.
python -I -B tests/run_all.py (Windows) on this PR @ cc73b1fd, rebased on main 609889f2: 497 passed, 21 failed, 80 skipped: test_longshot_ctl (a timing check, it failed while three suites ran at once and passes alone, twice) and
the same 20 as main 609889f2 on this PC (test_appimage_player_build, test_bake_portability, test_cpp_preflight, test_crash_dialog, test_env_on, test_fpx_sticky, test_lift_cache, test_lift_cleanup_error, test_linux_preflight, test_make_game_cache, test_make_game_prepare, test_missing_nup, test_oot_state_tap, test_options_budget_once, test_readback_late, test_spawn_emit, test_tested_configurations, test_vk_occlusion_queries, test_vk_pgo, test_walk_key); test_taau_typed_dispatch, test_drawn_page_map and test_upscaler_rows,
which also read this function, pass. In the game: the runs in Measurements (Windows 11, RTX 5080, 621.24, headless).

Not tested: a real card without f16 shaders: this PC has none, so the path was forced with
RX_VK_FORCE_UPSCALE_STUB=2, which sends the same networks through the same function; what it can't show is a
Pascal driver's own behaviour. Not run: 2560x1440 or other outputs, Native HDR with PsychoV35 (that path is unchanged:
it stays the 3/4 network's alone), Linux.

Must be tested:

  • Linux, any GPU: start this branch into play, expecting the game to reach play (Test Farm: @Beanstalk linux; its first run, report rp_bca2d31bcc9a4c8a on an RTX 4070, built the PR and main and started both, but both timed out at "the game did not read the controller" before play, so nothing was judged)
  • Windows, a GTX 10 card (Pascal), any driver: Render resolution 100% with the Upscaler on Off, then the game's own, then
    AMD FSR 3.1, in play, expecting the 3D under the HUD each time and vk: the full-size network 9dc98871eb7fc101 is drawn by the typed fallback once in longshot_log.txt, and 92% and 75% as before (by hand: a GTX 10 owner, through a
    test request)
  • Linux, an RX 400/500 on RADV, if anyone has one: the same steps, expecting the same (by hand)

Risks

What could break: only the stand-in, which runs where the gameplay networks are left out (GTX 10, RX 400/500 on
RADV, RX_VK_NO_F16, RX_VK_FORCE_UPSCALE_STUB). There, a same-size pass of the two gameplay networks is now drawn
instead of skipped, and the full-size network at a fixed share takes the typed fallback instead of a blit when its
input is RGB9E5. Other programs, and every card that runs the networks, take the same path as before. At 100% FSR 3.1
does not take the pass on these cards (it turns away a same-size input it doesn't know), so the picture there is the
typed fallback's, without anti-aliasing, as the 3/4 network's stand-in already is.

Turning it off: revert the commit (RX_VK_NO_UPSCALE_STUB=1 turns off the whole stand-in, the black screen with it).

Compatibility: Nothing changes: no option, cache, save or MKWVK_API_VERSION change.

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.
  • 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.
  • 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. (Windows: the renderer built whole with
    llvm-mingw. Linux: the Test Farm built this PR @ 9d8356e1 on Ubuntu 26.04, RTX 4070, report rp_bca2d31bcc9a4c8a, and
    the game started; the change since is a rebase.)

🤖 Generated with Claude Code

**Type:** fix · **Risk:** low · **Tested on:** Windows 11, RTX 5080 (the GTX 10 path forced with `RX_VK_FORCE_UPSCALE_STUB=2`) · **Needs:** Windows, a GTX 10 card (or an RX 400/500 on Linux) ## Why On a GTX 10 card (a player's GTX 1080 Ti, nightly-170) the game is black under the HUD when Render resolution is 100%, whatever the resolution or the upscaler, and the picture comes back at once at 92% or lower. These cards have no f16 shaders, so since https://github.com/NotRexed/Hookshot/pull/2343 (which Longshot carries) every one of the game's upscale networks is left out on them, the two gameplay ones too, and a stand-in draws their output instead. At 100% the game runs its full-size pass, `9dc98871eb7fc101`, which reads the 3D at the output's own size; the stand-in only took passes whose output is bigger than their input, so at 100% nothing drew the picture. Polaris cards on RADV (RX 400/500, also without f16 shaders) take the same path. It is not the mesh fallback: the 3D is drawn (about 2,000 draws a frame in the player's log), only the last step that puts it into the picture was missing. See https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/687 (an opt-in FXAA stand-in for the same full-size network where it translates; it doesn't reach these cards, where the network is left out before it). ## How to reproduce **Seen on:** Windows 10, GTX 1080 Ti (Pascal), driver 572.70, nightly-170 (6c9edffe); here on Windows 11, RTX 5080, 621.24, main e090cc48, with the GTX 10 path forced **Settings and switches:** Render resolution 100%, any upscaler (Off, the game's own or AMD FSR 3.1); on a card with f16 shaders, `RX_VK_FORCE_UPSCALE_STUB=2` in `longshot_env.txt` sends the gameplay networks to the stand-in, as on a GTX 10 **Steps:** load any save and look at the game in play **Expected:** the 3D under the HUD **Actual:** black under the HUD; 92% or lower shows the picture. The player's log has `program 9dc98871eb7fc101 not translated: a network left out on this card`, then the pass dispatched with a 2560x1440 input and a 2560x1440 output, and no stand-in line for it until the scale is lowered ## What changed `upscale_stub` now also takes a pass of the two gameplay networks whose output is its input's size, so the full-size pass is drawn at 100% on cards that leave the network out. It goes through the typed RGB9E5 fallback the 3/4 network already takes there, so its colours decode right. Cards that run the network (every RTX card without the switch) are unchanged. - vk: `upscale_stub` in `gpu/vk/vk_draw.cpp`: an output of the input's size is taken for `gameplay_network()` keys only (another program's pass of that shape is still no upscale and is left as before); a smaller output still isn't. - vk: the same function: the typed RGB9E5 fallback takes the full-size pass too (before: the 3/4 network only), with a log line once, `vk: the full-size network 9dc98871eb7fc101 is drawn by the typed fallback (WxH -> WxH)`, and the existing "unavailable" warning covers it. At a fixed share below 100% the full-size pass now also takes the typed fallback where its input is RGB9E5, instead of a plain blit of those bits. - tests: `tests/test_upscale_fallback.py`: the same-size pass of both gameplay networks is drawn (typed, or the blit when its input isn't RGB9E5, with the warning when the typed path can't run), another program's same-size pass and a smaller output are not, and the full-size network takes the typed fallback at a fixed share. The blit stub checks the sizes it is given rather than one fixed pair. - docs: `docs/tested/2026-11-15-full-size-stand-in-llun-*.md`, the six runs below. ## Measurements **Verdict:** fixes it. With the GTX 10 path forced at 100%, main's picture is black in both runs (mean luma 0.6, 99.4% of the pixels near black) and this PR's shows the 3D in both (33.4-32.7, under 3% near black). Without the switch both builds draw the same. Hardware: Windows 11 Pro (26300), RTX 5080 16 GB, driver 621.24, Ryzen 9 9900X3D, 64 GB Scene: Kokiri Forest, Link's house (the repository save `kokiri-start`), 1920x1080 output, Render resolution 100%, Upscaler Off, no frame generation, uncapped, headless Method: `longshot_ctl.py launch --profile test --headless --repo-save kokiri-start`; 300 presents after play began, one screenshot through the control bridge (1280x720); its mean luma (0-255) and the share of pixels under 8, sampled every 4th pixel each way; the log lines for `9dc98871eb7fc101`. Runs alternated main, PR, main, PR, then one each without the switch How to reproduce: the settings above with `RX_VK_FORCE_UPSCALE_STUB=2` Baseline: one game folder of main 25726217 (a copy; same game binary in every run), with `longshot_vk.dll` built alone (`RX_VK_ONLY`, release, llvm-mingw, NVIDIA DLSS SDK, same flags) from main e090cc48 and from this PR, swapped between runs. `MKWVK_API_VERSION` is 22 in both, and no shader-translator file differs from 25726217's, so the caches stayed valid | 100%, Upscaler Off | Before: main @ e090cc48 | After: this PR @ 32e088a7 | |---|---|---| | `RX_VK_FORCE_UPSCALE_STUB=2`, run 1: mean luma, near-black | 0.6, 99.4% (black) | 32.7, 2.9% (the 3D) | | `RX_VK_FORCE_UPSCALE_STUB=2`, run 2 | 0.6, 99.4% (black) | 33.4, 2.9% (the 3D) | | median of the two | **0.6, 99.4%** | **33.1, 2.9%** | | no switch (the network runs) | 34.2, 2.7% | 33.4, 2.5% | | the PR's run 1 at 100% with the game's own / AMD FSR 3.1, at 75% Off | not run | 33.7 / 34.9 / 34.5, under 3% near black | ``` main, switch on: no line for 9dc98871eb7fc101 (the stand-in turned the pass away) this PR, switch on: vk: typed upscale helper generic RGB9E5 fallback, packed output vk: the full-size network 9dc98871eb7fc101 is drawn by the typed fallback (1920x1080 -> 1920x1080) this PR at 75%, unchanged from main: vk: upscaler: Off: network fd029a317a9a4b94 left out, its input stretched linearly (1440x810 -> 1920x1080), packed output both, no switch (the same two lines): vk: network 9dc98871eb7fc101: dispatch 48x27x1, 1 textures 1 images: 1920x1080x1/122 1920x1080x1/122 vk: upscaler: Off: network 9dc98871eb7fc101 left out, its input stretched linearly (1920x1080 -> 1920x1080), packed output ``` The frame rate wasn't compared: the change only adds a pass where nothing was drawn before, on cards that leave the network out. ### Flags and settings None. ## Screenshots Same spot, 100%, Upscaler Off, `RX_VK_FORCE_UPSCALE_STUB=2`, in https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/718#issuecomment-23295: **Before: main @ e090cc48** (black under the HUD) | **After: this PR @ 32e088a7** (the 3D, right colours). ## Testing **Tested:** game-free: `tests/test_upscale_fallback.py` with clang 23 (llvm-mingw): its new same-size cases fail on main's `upscale_stub` (`RED: 9dc-same: upscale_stub turned the pass away, its output never written`, the same for `same-fd`, `9dc-same-r11`, `9dc-same-no-storage`; `9dc` asserts on the blit) and all 38 cases pass here. `python -I -B tests/run_all.py` (Windows) on this PR @ cc73b1fd, rebased on main 609889f2: 497 passed, 21 failed, 80 skipped: test_longshot_ctl (a timing check, it failed while three suites ran at once and passes alone, twice) and the same 20 as main 609889f2 on this PC (test_appimage_player_build, test_bake_portability, test_cpp_preflight, test_crash_dialog, test_env_on, test_fpx_sticky, test_lift_cache, test_lift_cleanup_error, test_linux_preflight, test_make_game_cache, test_make_game_prepare, test_missing_nup, test_oot_state_tap, test_options_budget_once, test_readback_late, test_spawn_emit, test_tested_configurations, test_vk_occlusion_queries, test_vk_pgo, test_walk_key); `test_taau_typed_dispatch`, `test_drawn_page_map` and `test_upscaler_rows`, which also read this function, pass. In the game: the runs in Measurements (Windows 11, RTX 5080, 621.24, headless). **Not tested:** a real card without f16 shaders: this PC has none, so the path was forced with `RX_VK_FORCE_UPSCALE_STUB=2`, which sends the same networks through the same function; what it can't show is a Pascal driver's own behaviour. Not run: 2560x1440 or other outputs, Native HDR with PsychoV35 (that path is unchanged: it stays the 3/4 network's alone), Linux. **Must be tested:** - Linux, any GPU: start this branch into play, expecting the game to reach play (Test Farm: @Beanstalk linux; its first run, report rp_bca2d31bcc9a4c8a on an RTX 4070, built the PR and main and started both, but both timed out at "the game did not read the controller" before play, so nothing was judged) - Windows, a GTX 10 card (Pascal), any driver: Render resolution 100% with the Upscaler on Off, then the game's own, then AMD FSR 3.1, in play, expecting the 3D under the HUD each time and `vk: the full-size network 9dc98871eb7fc101 is drawn by the typed fallback` once in `longshot_log.txt`, and 92% and 75% as before (by hand: a GTX 10 owner, through a test request) - Linux, an RX 400/500 on RADV, if anyone has one: the same steps, expecting the same (by hand) ## Risks **What could break:** only the stand-in, which runs where the gameplay networks are left out (GTX 10, RX 400/500 on RADV, `RX_VK_NO_F16`, `RX_VK_FORCE_UPSCALE_STUB`). There, a same-size pass of the two gameplay networks is now drawn instead of skipped, and the full-size network at a fixed share takes the typed fallback instead of a blit when its input is RGB9E5. Other programs, and every card that runs the networks, take the same path as before. At 100% FSR 3.1 does not take the pass on these cards (it turns away a same-size input it doesn't know), so the picture there is the typed fallback's, without anti-aliasing, as the 3/4 network's stand-in already is. **Turning it off:** revert the commit (`RX_VK_NO_UPSCALE_STUB=1` turns off the whole stand-in, the black screen with it). **Compatibility:** Nothing changes: no option, cache, save or `MKWVK_API_VERSION` change. ## 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`. - [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] 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. - [x] Host code builds on both Windows (llvm-mingw) and Linux, with UTF-8 paths. (Windows: the renderer built whole with llvm-mingw. Linux: the Test Farm built this PR @ 9d8356e1 on Ubuntu 26.04, RTX 4070, report rp_bca2d31bcc9a4c8a, and the game started; the change since is a rebase.) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
On a GPU without f16 shaders (GTX 10, Polaris on RADV) every upscale network is left out (vk_shader.cpp), the two
gameplay networks too, and upscale_stub stands in for them. It turned away any pass whose output was not larger than
its input. At 100% Render resolution the game's full-size pass, 9dc98871eb7fc101, reads the 3D at the output's own
size, so nothing wrote its output and the 3D stayed black under the HUD, at 100% only.

- upscale_stub takes a pass of the gameplay networks whose output is its input's size; other programs' passes of that
  shape are still no upscale.
- The full-size pass takes the typed RGB9E5 fallback the 3/4 network already takes (its input is RGB9E5 bits in the
  B10G11R11 image, which a plain blit copies as the wrong colours), logged once; the warning when that fallback is
  unavailable covers it too.
- tests/test_upscale_fallback.py: the same-size pass of both gameplay networks is drawn, another program's is not, a
  smaller output is not, and 9dc98871 at a fixed share takes the typed fallback.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
docs(tested): the full-size network's stand-in at 100% on an RTX 5080, main and this change alternated
Some checks reported errors
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 12s
CI / Workflow lint (actionlint) (pull_request) Successful in 19s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 16s
Third-party parts / As their notes say (pull_request) Successful in 26s
Website / Website on Cloudflare (pull_request_target) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 15s
beanstalk/approval approved by llun (reviewed)
beanstalk/linux 0/1 pass, 1 error
9d8356e1b3
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Author
Member

Screenshots for the description: the same spot (Kokiri Forest, Link's house, kokiri-start), 1920x1080 output, Render resolution 100%, Upscaler Off, RX_VK_FORCE_UPSCALE_STUB=2 (the GTX 10 path), RTX 5080, Windows 11. Screenshots through the control bridge, 1280x720.

Before: main @ e090cc48: black under the HUD (run main1: mean luma 0.6, 99.4% near black).

Before: main @ e090cc48

After: this PR @ 32e088a7: the 3D, right colours (run fix1: mean luma 32.7, 2.9% near black).

After: this PR @ 32e088a7

Screenshots for the description: the same spot (Kokiri Forest, Link's house, `kokiri-start`), 1920x1080 output, Render resolution 100%, Upscaler Off, `RX_VK_FORCE_UPSCALE_STUB=2` (the GTX 10 path), RTX 5080, Windows 11. Screenshots through the control bridge, 1280x720. **Before: main @ e090cc48**: black under the HUD (run main1: mean luma 0.6, 99.4% near black). ![Before: main @ e090cc48](https://git.magicbean.dev/attachments/27b2309a-6f62-48b0-bb31-e3d2b39bde7e) **After: this PR @ 32e088a7**: the 3D, right colours (run fix1: mean luma 32.7, 2.9% near black). ![After: this PR @ 32e088a7](https://git.magicbean.dev/attachments/b8624fc3-8ff9-4b31-84dc-25cb84fb836a)
Author
Member

Description: the screenshots linked (comment 23295); Must be tested gains the Test Farm's Linux build, with an expected result on each item; the Linux build box is added, unticked until that build reports (no Linux compiler on this PC).

Description: the screenshots linked (comment 23295); Must be tested gains the Test Farm's Linux build, with an expected result on each item; the Linux build box is added, unticked until that build reports (no Linux compiler on this PC).
Author
Member

Description: the Linux build item says what to expect.

Description: the Linux build item says what to expect.
Author
Member

@Beanstalk linux, build this PR and start it into play (kokiri-start), Render resolution 100%, Upscaler Off: expecting the build to finish and the 3D under the HUD in play

@Beanstalk linux, build this PR and start it into play (kokiri-start), Render resolution 100%, Upscaler Off: expecting the build to finish and the 3D under the HUD in play
Member

Beanstalk test farm

Commit 6dcc2fa · tier untrusted · approved by nobody yet · dashboard

A member of BigBeans can review this commit and comment @Beanstalk to test it.

<!-- beanstalk:sticky --> ### Beanstalk test farm Commit `6dcc2fa` · tier **untrusted** · approved by nobody yet · [dashboard](https://beanstalk.magicbean.dev/prs/718) A member of `BigBeans` can review this commit and comment `@Beanstalk` to test it.
llun force-pushed fix/full-size-network-stand-in from 9d8356e1b3
Some checks reported errors
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 12s
CI / Workflow lint (actionlint) (pull_request) Successful in 19s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 16s
Third-party parts / As their notes say (pull_request) Successful in 26s
Website / Website on Cloudflare (pull_request_target) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 15s
beanstalk/approval approved by llun (reviewed)
beanstalk/linux 0/1 pass, 1 error
to 67fb71be59
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 13s
CI / Workflow lint (actionlint) (pull_request) Successful in 19s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 17s
Third-party parts / As their notes say (pull_request) Successful in 29s
beanstalk/approval not approved yet
PR description / Description follows the template (pull_request_target) Successful in 16s
2026-11-15 17:20:19 +00:00
Compare
Author
Member

Rebased onto main c9fbb0d6 (67fb71be, no code change); full suite on Windows 494 passed, 20 failed = main c9fbb0d6's own 20. Linux-build box ticked: the Test Farm's run (report rp_bca2d31bcc9a4c8a, Ubuntu 26.04, RTX 4070) built this PR and main and started both; both then timed out at 'the game did not read the controller', a farm step, so play on Linux is still to be shown and the PR stays WIP.

Rebased onto main c9fbb0d6 (67fb71be, no code change); full suite on Windows 494 passed, 20 failed = main c9fbb0d6's own 20. Linux-build box ticked: the Test Farm's run (report rp_bca2d31bcc9a4c8a, Ubuntu 26.04, RTX 4070) built this PR and main and started both; both then timed out at 'the game did not read the controller', a farm step, so play on Linux is still to be shown and the PR stays WIP.
llun force-pushed fix/full-size-network-stand-in from 67fb71be59
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 13s
CI / Workflow lint (actionlint) (pull_request) Successful in 19s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 17s
Third-party parts / As their notes say (pull_request) Successful in 29s
beanstalk/approval not approved yet
PR description / Description follows the template (pull_request_target) Successful in 16s
to cc73b1fd59
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
beanstalk/approval not approved yet
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 7s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 7s
Third-party parts / As their notes say (pull_request) Successful in 13s
PR description / Description follows the template (pull_request_target) Successful in 5s
2026-11-15 18:19:44 +00:00
Compare
Author
Member

Rebased onto main 609889f2 (13 new commits, clean): head cc73b1fd. Full suite: the same 20 failures as main 609889f2 on this PC, plus test_longshot_ctl (a timing check that failed with three suites running at once; it passes alone, twice; this PR doesn't touch it). Still WIP for a Linux play run and a GTX 10 tester (T-42YH).

Rebased onto main 609889f2 (13 new commits, clean): head cc73b1fd. Full suite: the same 20 failures as main 609889f2 on this PC, plus test_longshot_ctl (a timing check that failed with three suites running at once; it passes alone, twice; this PR doesn't touch it). Still WIP for a Linux play run and a GTX 10 tester (T-42YH).
HumanBean force-pushed fix/full-size-network-stand-in from cc73b1fd59
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
beanstalk/approval not approved yet
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 7s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 7s
Third-party parts / As their notes say (pull_request) Successful in 13s
PR description / Description follows the template (pull_request_target) Successful in 5s
to 5c98eeffad
Some checks failed
beanstalk/approval not approved yet
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 5s
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 5s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 4s
Third-party parts / As their notes say (pull_request) Successful in 8s
2026-11-15 18:44:58 +00:00
Compare
Owner

Rebased onto main @ bbe6fdf2. No tests were run here; the test boxes stay yours. No conflicts.

Rebased onto `main` @ bbe6fdf2. No tests were run here; the test boxes stay yours. No conflicts.
llun force-pushed fix/full-size-network-stand-in from 5c98eeffad
Some checks failed
beanstalk/approval not approved yet
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 5s
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 5s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 4s
Third-party parts / As their notes say (pull_request) Successful in 8s
to 6dcc2fa9d4
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
beanstalk/approval not approved yet
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 4s
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 5s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 5s
Third-party parts / As their notes say (pull_request) Successful in 9s
2026-11-15 19:17:38 +00:00
Compare
Author
Member

Thanks @HumanBean. Rebased again onto main d652bbb4 (11 more since bbe6fdf2): 6dcc2fa9, no conflicts. Full suite (Windows, RTX 5080 PC): 508 passed / 22 failed, the same failing files as main d652bbb4 here. Still WIP for a Linux play run and a GTX 10 tester (T-42YH).

Thanks @HumanBean. Rebased again onto main d652bbb4 (11 more since bbe6fdf2): 6dcc2fa9, no conflicts. Full suite (Windows, RTX 5080 PC): 508 passed / 22 failed, the same failing files as main d652bbb4 here. Still WIP for a Linux play run and a GTX 10 tester (T-42YH).
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
beanstalk/approval not approved yet
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 4s
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 5s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 5s
Third-party parts / As their notes say (pull_request) Successful in 9s
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u 'fix/full-size-network-stand-in:llun-fix/full-size-network-stand-in'
git switch 'llun-fix/full-size-network-stand-in'
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!718
No description provided.