build(release): two contributed pipeline lists from #2034 (RTX 5090, Kokiri Forest) #2143
No reviewers
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
2 participants
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot!2143
Loading…
Reference in a new issue
No description provided.
Delete branch "contrib/pipeline-states-2034"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds two contributed pipeline lists for #2034, recorded on an NVIDIA GeForce RTX 5090 (driver 621.14, Windows 11 Pro) in Kokiri Forest.
contrib/brett-d-rtx-5090-fork-fg-2xcontrib/brett-d-rtx-5090-main-1152p-fg51d468f(v2.1.0-rc.3-5-g51d468f), version 2Written with
nx2/pipeline_states.py add.nx2/pipeline_states.py checkpasses. The merge grows to 25,425 pipelines. No other files changed.Refs #2034
Checked against a Kokiri Forest route on Linux with an RTX 4090: this adds 12-13 of the pipelines that route still had to build in play. Head
e6ced4fmerged onto main364d199; NVIDIA 615.78.08, i9-13900K, Arch Linux, headless at the game's own output size (2048x1152), defaults, no mods.How: two runs of main with the precompile off (
RX_VK_PRECOMPILE=0), the driver's caches deleted and no state list of its own in the folder, so every pipeline the run draws is built in play and goes into itshookshot_pipeline_states.bin: the title, a child save in Kokiri Forest by Link's house, 45 s of camera turns. Then the recorded records were compared with the merged shipped list of each tree (pipeline_states.merged, records converted to version 2 as the merge does). No game needed for that step.364d199nx2/pipeline_states.py checkpasses on the merge and the merged list is 25,425 pipelines, as you wrote;tests/run_all.py pipeline_statepasses (4 checks).Thanks for recording these. The PR has the shape
assets/pipeline_states/README.mdasks for: twocontrib/lists, each with its note, no other files touched, and CI is green. mooki000's comparison on a Kokiri Forest route (12-13 of the ~90 pipelines no list named, now covered) shows they help. The 1152p list recorded on main at51d468fis fine as it is.question
assets/pipeline_states/contrib/brett-d-rtx-5090-fork-fg-2x.md:7: this list (227 pipelines, 159 of them new to the merge) was recorded on "a local fork of main (source 3ecec3ea)". That commit isn't on main or anywhere I can fetch, and step 1 of the contrib README asks for lists from currentmain, because a different build can ask for pipelines main never does. What does the fork change? If it touches anything that ends up in a record (shaders, the program variants, target formats, draw state, for example a frame generation or present change), some of those 159 are pipelines no player's build will ever ask for, and every player's first start pays to prepare them. If the fork only changes host-side code (the builder, menus, logging), say so in the note and this is fine. Otherwise the simplest fix is to record the same route again on main with frame generation at 2x, under a new name, and drop this list.minor: since the measured gain comes from both lists together, it would help to know how much the fork list adds on its own. mooki000's comparison could be repeated with only the main list merged. It isn't needed to merge, but it would settle the question above.
The format is fine (
pipeline_states.py checkpasses, hashes and draw state only), and the 15-pipelinemain-1152p-fglist is good. The 227-pipeline list incontrib/brett-d-rtx-5090-fork-fg-2x.md:7was recorded on "a local fork of main (source 3ecec3ea)", which isn't fetchable, and the contrib README asks for lists from main. Could you confirm the fork only changed host-side code, or drop that list and keep the main one?Thanks for the recordings. Checked against CONTRIBUTING.md and the pipeline_states README: only the two
contrib/lists and their notes change, nothing else. I unpacked both lists to look at them: they areHKSTATE1andHKSTATE2files of fixed-size records (hashes, formats, draw state), no shader code, no game files or saves. The notes carry who, GPU and driver, build, settings, route and count, as the README asks. CI is green.brett-d-rtx-5090-main-1152p-fg(15 pipelines, main at51d468f, version 2) is fine as it is. I agree with Joey-Magnus here.brett-d-rtx-5090-fork-fg-2xis still open: Joey-Magnus's question about the unfetchable fork (source 3ecec3ea) has no answer yet. The README asks for lists built from currentmain. If the fork only changed host-side code, say so in the note and it is fine. If it touched shaders, program variants, target formats or the frame generation/present path, some of the 159 new records may never be asked for by a player's build, and every first start pays to prepare them. The fix is then to record the route again on main with frame generation 2x under a new name and drop this list. mooki000's measurement (12-13 of ~90 missing pipelines covered, both lists together) shows the pair helps, but not how much comes from the fork list, and his run had no frame generation, so it can't tell either.The decision on the fork list stays with NotRexed. I would not merge it until the fork question is answered; the main list could go in on its own.
github-sync referenced this pull request2026-11-12 06:22:54 +00:00
github-sync referenced this pull request2026-11-12 07:28:03 +00:00
Thanks for checking these. On the question about
brett-d-rtx-5090-fork-fg-2x: the "fork" was local builds of main at0828863(9 Nov) plus my own changes, none of which touch what goes into a record:There are no changes to shader translation, program variants, target formats or draw state. Earlier sessions in that folder (from 7 Nov) ran the same changes on older main. #2143 had already merged, so the note change is in #2703;
pipeline_states.py checkstill passes. If you'd rather only take lists recorded on main, I can drop that list in a follow-up.