Skip to content

build(release): a contributed pipeline list from an AMD card with FSR 4, 1273 pipelines - #2044

Merged
hckrman101 merged 1 commit into
NotRexed:mainfrom
madebyjordan:pipelines/amd-rx6700xt-fsr4
Nov 11, 2026
Merged

hckrman101 merged 1 commit into
NotRexed:mainfrom
madebyjordan:pipelines/amd-rx6700xt-fsr4

Conversation

@madebyjordan

Copy link
Copy Markdown
Contributor

The shipped pipeline lists come from NVIDIA cards, so a first start on an AMD card with FSR 4 still builds many pipelines in play. This adds a list from an RX 6700 XT for #2034: 1,273 pipelines no other list holds (the merged list goes from 11,527 to 12,800), 432 of them for programs the lists don't have yet.

What changed

Two files, written by nx2/pipeline_states.py add:

  • assets/pipeline_states/contrib/madebyjordan-amd-fsr4-field-castle-town.bin.xz
  • assets/pipeline_states/contrib/madebyjordan-amd-fsr4-field-castle-town.md
GPU and driver AMD Radeon RX 6700 XT (12 GB), Adrenalin 26.10.1 (Vulkan driver 2.0.353), Windows 11 Home 25H2
Output resolution 2560x1440
Upscaler + render resolution AMD FSR 4 (4.1.2), 1280x720
Frame generation / HDR off / off
Mods or texture packs none
Where Hyrule Field by day, the bridge and the way into Castle Town, Castle Town, a village at night. About an hour of play, plus replays of a recorded six-minute route from the Hyrule Field bridge into Castle Town

Two things to know before merging

It is not from a stock main build. The README asks for a build of current main; this list was written by Longshot dev builds of 2026-11-10 (pre-1.1.0 a604927): main at 0828863 (2026-11-09) plus AMD changes. Those changes leave the shader translation and the record as they are (gpu/vk/eden untouched, vk_shader.cpp only where the cache files live, the record code only the list's folder and a read-only switch).

That build is from before #1627, which changed what the translation asks about some textures. What I did about it:

  • Compared with the lists here, by program and variant: 1,678 of the recorded pipelines have a program variant another list holds with the same question list, and 117 have one with a different list (mostly 03 where the current lists have 02). I left those 117 out.
  • Some of the 1,273 may be out of date in the same way, where no list here has the same program variant to compare with. The ratio above suggests a few percent.
  • As I read state_list_prepare, such a record is skipped at the first start: its variant is translated from the recorded questions and only used when it comes out with the recorded hash. So it would cost list size and one translation, and build nothing wrong. Say if you would still rather have a list recorded on current main, and I'll record one.

The list is also two lists from the same PC and settings merged into one: the game folder's, and the one written by the route replays.

Tested

  • python -I nx2/pipeline_states.py check: passes, merged: 12800 pipelines (graphics 12159, mesh 641) of 7104 programs
  • tests/test_pipeline_state_sources.py (8 tests), tests/test_pipeline_states.py, tests/test_ship_state_list.py (1 skipped), tests/test_pipeline_state_counts.py: pass
  • Not tested: a first start of a main build with the merged list.

Refs #2034

🤖 Generated with Claude Code

… 4, 1273 pipelines

From an RX 6700 XT at 1440p with FSR 4: Hyrule Field, the way into
Castle Town, Castle Town and a village at night. Added with
nx2/pipeline_states.py add; the merged list goes from 11527 to 12800
pipelines.

Recorded on a Longshot dev build (main at 0828863 plus AMD changes), not
a stock main build, from before NotRexed#1627: 117 records whose question list
differs from the one another list holds for the same program variant
were left out.

Assisted-by: Claude Code
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@hckrman101
hckrman101 merged commit f8efe05 into NotRexed:main Nov 11, 2026
8 of 10 checks passed
@Kirkidoo

Copy link
Copy Markdown

My pipeline list is attached: hookshot_pipeline_states.zip (only that one file). It holds 1,654 pipelines. Checked with nx2/pipeline_states.py against the list on main (4,276 pipelines): 797 of mine aren't in it yet.

  • Hookshot version: main-abd5e5f (built from main, commit abd5e5f). The list also carries over sessions on v2.0.13 / v2.0.14 in the same game folder.
  • OS, GPU and driver: Windows 11 Pro, AMD Radeon RX 9070 XT, driver 32.0.32015.7029
  • Output resolution: 2560x1440, fullscreen (monitor is 3440x1440)
  • Upscaler + render resolution: game's (Lanczos), 100%. Some earlier sessions used FSR 3.1.
  • Frame generation / HDR: off / off
  • Mods or texture packs: none
  • Where you played: Kokiri Forest

hookshot_pipeline_states.zip

NotRexed pushed a commit that referenced this pull request Nov 11, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.1.0-rc.2](v2.1.0-rc.1...v2.1.0-rc.2)
(2026-11-11)


### Features

* **vk:** GPU- and settings-independent pipeline state list (HKSTATE2)
([#2046](#2046))
([667ba79](667ba79))


### Bug Fixes

* **vk:** handle RDNA 1 wave32 and wave64 shader stages
([#1657](#1657))
([fc8c858](fc8c858))


### Build System

* **release:** a contributed pipeline list from an AMD card with FSR 4,
1273 pipelines
([#2044](#2044))
([f8efe05](f8efe05))


### Continuous Integration

* **release:** list every commit type in the changelog
([#2055](#2055))
([737e4f5](737e4f5))


### Tests

* **display:** the startup fixture stubs driver_cache_room (main is red
since [#2033](#2033))
([#2051](#2051))
([d47206e](d47206e))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
madebyjordan added a commit to madebyjordan/Longshot that referenced this pull request Nov 11, 2026
48 commits of Hookshot's, by hand (docs/merging-hookshot.md): its release candidates (release-please, Promote, the nightly),
the update track, the pipeline state list in separate sources and its version 2 records, one start-up bar. 17 files clashed:

.github/workflows/release.yml: Hookshot's new workflow, still started by hand only (dev's side: no push starts it). With no
push, release-please opens no release pull request and makes no release candidate; by hand it is now Promote, which stops
when there is no published release candidate. Its publish job names LongshotBuilder.exe.
.github/workflows/windows-builder.yml, linux-appimage.yml: Hookshot's new jobs (called by the Release workflow, the nightly,
SHA256SUMS, the build provenance) with Longshot's file names, and the checks still on pushes to dev. Nothing is published
that was not before: the Windows release job stays on only with vars.CI_RELEASE_WINDOWS = 'true' (as it was here; Hookshot
made it on unless 'false'), the Linux one only with vars.CI_RELEASE_LINUX = 'true', and the nightly of a push to main is
behind a new switch, vars.CI_RELEASE_NIGHTLY = 'true', in both (without it the setup of a run that is no release installs
the latest release, as before, not a nightly that is not there).
CHANGELOG.md: kept dev's (Longshot's releases; nx2/version.py reads its unreleased heading). Hookshot's, which release-please
now writes, is kept as docs/hookshot-changelog.md, and rule 4 says so.
readme.md: kept dev's. docs/hookshot-readme.md is brought up to Hookshot's readme at 6cecdd1, links as seen from docs/.
docs/development.md: Hookshot's new text on the list's sources, with Longshot's paragraph on lists/pipeline_states.bin.
nx2/make_game.py, tests/test_pipeline_states.py: Hookshot's ship_state_list (the sources in assets/pipeline_states/ merged).
Longshot's lists/pipeline_states.bin still ships in the merged list's place when the source has one; the test checks both.
Hookshot's sources (12800 pipelines, among them 1273 from this PC, Hookshot NotRexed#2044) hold 1646 of its 2648.
gpu/vk/vk_draw.cpp: Hookshot's version 2 state list. The player's own list and the version 1 one kept beside it go through
cache_path() (RX_VK_CACHE_DIR), in state_open_locked, state_list_prepare and prepare_guess; read-only
(RX_VK_CACHE_READONLY), state_open_locked neither moves a version 1 list aside nor starts a new one. state_list_noted is
set as before, and prepare_guess leaves the predicted pipelines out of the one bar's total when a state list will leave
them out. predict_run takes Hookshot's thread count and still counts its workers (prep_workers_n).
gpu/vk/vk_main.cpp: Hookshot's one bar (StartupState::whole) and Longshot's diagnostics lines, both.
gpu/vk/vk_menu.cpp: Hookshot's version line that shrinks to fit, saying Longshot.
host/hos_update.c, builder/linux/linux_update.py, builder/setup/setup.c: Hookshot's update tracks, asking Longshot's
releases (madebyjordan/longshot) under Longshot's name. The setup keeps --engine --tag and the 127.0.0.1 exception.
builder/HookshotBuilder/Updater.cs: Hookshot's tracks (TrackOf, Newer, Target, LatestTag(track)) on Longshot's repository,
beside the launcher's list of releases, now ReleaseList() (Hookshot's Releases is the API's address). UpdateFolder's
"exact" is Hookshot's "named": the release its tag names.
builder/HookshotBuilder/MainWindow.xaml: kept dev's (the launcher's window; Hookshot's change was to the installer page it
no longer has). Hookshot's Update track choice is a row of the menu's build options, under a heading of its own (Updates).
builder/HookshotBuilder/MainWindow.xaml.cs: Hookshot's Track, TrackChanged and OlderOk on the build's own screen
(RefreshMode, StartBuild); its old launch page's ShowLauncher and buttons are not brought back. Launcher.cs: back from a
build's choices, the launcher's latest is the latest release again, whatever track was asked for there.

Not in a clash, by hand: scripts/release_files.sh and scripts/release_upload.sh name LongshotBuilder.exe and
Longshot-*-Windows-x64.zip; the Windows workflow's provenance step names them too; linux_update.py's list_url asks
Longshot's releases.

Tests adjusted to Longshot's code: test_update_tracks.py expects Longshot's addresses; test_pipeline_notes_open.py expects
the version 1 list through cache_path(). docs/merging-hookshot.md and lists/README.md say which pipeline list ships.

Checked on Windows: python -I -B tests/run_all.py fails on the six checks that fail on Hookshot's main (6cecdd1) here
(test_nup_paths, test_nup_read_name, test_fpx_sticky, test_precompile_compute_guard, test_recorder_sync, test_make_game_ngx)
and no other (326 pass, 27 skipped); scripts/build-vk.ps1 builds and links hookshot_vk.dll, in a work folder of its own;
the builder compiles with no warnings; tests/builder_launcher (27 + 25 + 27 checks) and its rig pass. The workflows were
not run. Not played yet: the first start after it prepares every shader again (Hookshot's translator stamp changed, and
its AMD subgroup sizes with it, NotRexed#1657), on one bar.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants