Skip to content

build(release): adult areas and dungeons added to jarynclouatre-most-of-the-game, 1406 pipelines - #2064

Merged
hckrman101 merged 2 commits into
NotRexed:mainfrom
jarynclouatre:build/pipeline-list-adult
Nov 11, 2026
Merged

hckrman101 merged 2 commits into
NotRexed:mainfrom
jarynclouatre:build/pipeline-list-adult

Conversation

@jarynclouatre

@jarynclouatre jarynclouatre commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

More play added to my contributed list from #2029, mostly adult areas and dungeons I had not reached before. The data, plus one test change.

The list file was re-made with the tool from #2040:

python -I nx2/pipeline_states.py add jarynclouatre-most-of-the-game <my lists> --build ... --settings ... --route ...

It keeps only pipelines no other contributed list has. Of 8,021 pipelines in my recordings, 1,406 are new, so my file goes from 7,251 to 8,657 pipelines and the merged list from 12,800 to 14,206. The .md note lists the new areas: Graveyard, Hyrule Field, Kokiri Forest, Lost Woods, Sacred Forest Meadow, Forest Temple, Death Mountain Trail and Crater, Goron City, Fire Temple and its boss, Zora's River, Domain and Fountain, and the Ice Cavern, all as adult.

Recorded on Windows 11, RTX 4070 Ti SUPER (driver 621.14), no mods, 2560x1440 with dynamic resolution, on main with #1961 (some runs also with #2020 and #2050, which change no shaders). As before it holds only hashes, formats and draw state, no game code.

Checked:

test_split_list_lost_nothing pinned each migrated list's exact size, so growing a list failed it. It now takes each list's first n pipelines, since add keeps a list's own pipelines first, and still checks their count, that they don't overlap, and their hash. The same file grown by add passes, and main's form of the test fails on it.

I have not timed the first start's shader preparation with this list yet.

@jarynclouatre

jarynclouatre commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor Author

Checked against main with the tour list (#2065): check passes, and the merged list goes from 19,038 to 20,095 pipelines with this, so 1,057 of the new ones are not in the tour either. The branch merges cleanly as it is.

@hckrman101 hckrman101 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Game-files check (CONTRIBUTING.md): clean. The only files are the contributed list and its note. I decompressed the .bin.xz: it is HKSTATE1, record size 528, exactly 8,657 fixed-size records (12-byte header, no trailing bytes), which matches the Pipelines: 8657 in the note. So it holds only the hashes, formats and draw state that the format describes, nothing else, and the change is data only. The .md edit is consistent with the PR description.

One thing to fix: CI is red on tests/test_pipeline_state_sources.py (test_split_list_lost_nothing): AssertionError: 8657 != 7251 : jarynclouatre-most-of-the-game. That test pins MIGRATED["jarynclouatre-most-of-the-game"] = 7251 and a sha256 of the three lists joined (MIGRATED_SHA256), as a one-time check that the split of the old assets/pipeline_states.bin.xz lost nothing. Growing this list breaks both the count and the hash, so the PR needs to touch the test as well (it is not data only, and the description says the tests pass, which was not true of this one). It can't just bump 7251 to 8657, because the hash would still fail. Options: check that the original 7251 records are all still in the file (keep them in the test as a hash of the sorted original records, not of the whole list), or assert >= the original counts. Please don't weaken it beyond that, per AGENTS.md. Note the same will apply to anything else that grows these lists, so a form that tolerates growth is better than another number to bump.

Python source checks (ubuntu-24.04) also fails tests/test_make_game_ngx.py ('SimpleNamespace' object has no attribute 'switching'). That is in a builder DLSS test this PR does not touch, so I'm not blaming the PR for it, but the windows jobs are red too and I did not check whether they are the same test or this one.

On the content: the author already checked the overlap with the tour list in #2065 (1,057 of these are not in the tour either), so the dedupe looks fine. Still open from the description: first-start shader preparation time with this list is not measured. With 14k+ pipelines it is worth a number before this ships, not a blocker for the data itself. The decision to merge stays with @NotRexed.

@jarynclouatre

Copy link
Copy Markdown
Contributor Author

Thanks, and sorry, I missed that test. e1720ae takes each migrated list's first n pipelines (add keeps a list's own pipelines first, "after the ones it holds already"), asserts >= on the count, and keeps the overlap and hash checks on those n, so a grown list passes and a changed or reordered original part still fails. Main's form of the test fails on this branch and the new one passes; the description is corrected. I'll post the preparation time once I have it.

@jarynclouatre

Copy link
Copy Markdown
Contributor Author

Preparation time, on the same PC (Windows 11, RTX 4070 Ti SUPER, driver 621.14), prepare-only runs on main f915af9's merged list, without and with this file.

With the pipeline cache and the driver's shader cache emptied first, as on a first start: 15,323 graphics pipelines precompiled in 108.1 s, and 15,763 in 110.9 s. So the 440 this adds on top of current main cost about 3 s at a first start. With the caches an earlier session left, 115.1 s and 115.9 s.

hckrman101 pushed a commit that referenced this pull request Nov 11, 2026
…, 921 pipelines (#2429)

A new contributed list for #2029: the pipelines my test runs and a short
play recorded that no list holds yet.

The runs are scripted test routes on a test save (teleports through
overworld areas and dungeons, among them Gerudo Valley, Dodongo's Cavern
and Ganon's Castle, as child and as adult, with a short walk or stand at
each), plus a short adult play in Ganon's Castle and Dodongo's Cavern.
Made with:
```
python -I nx2/pipeline_states.py add jarynclouatre-test-routes <28 lists> --who ... --gpu ... --build ... --settings ... --route ...
```
Of 12,606 pipelines in those recordings, 1,296 were in no other
contributed list (counted with #2064's version of my other file in
place, so the two do not overlap). 375 of those had no render targets
(samples 0); the game's reader skips such records (`targets_ok` in
`vk_draw.cpp`), so I left them out, which leaves 921. Against main as it
is, 542 of them are in no list main ships: the merged list goes from
25,251 to 25,793 pipelines, and from 9,948 to 9,963 programs.

Recorded on Windows 11, RTX 4070 Ti SUPER (driver 621.14), no mods, on
main between fc375e9 and 49f75dc; some runs had renderer changes from
open pull requests, none of which touch shaders. The file is version 2
(HKSTATE2), so it holds what the game asked for, not my GPU's choices.
As with the other lists it holds only hashes, formats and draw state, no
game code.

**Checked:**
- `nx2/pipeline_states.py check` passes.
- `tests/test_pipeline_state_sources.py`,
`tests/test_pipeline_states.py` and `tests/test_ship_state_list.py`
pass.

`check` does not flag records with samples 0, so one of my test lists
carried them through it. I have not timed the first start's shader
preparation with this list. #2064's comment measured about 3 s for 440
more pipelines on this PC.
hckrman101 added a commit that referenced this pull request Nov 11, 2026
Adds the three pipeline lists posted in #2034 that aren't in `main` or
in an open pull request yet. I added each one with
`nx2/pipeline_states.py add`, so each list keeps only the pipelines that
no other contributed list already has. Each one has a note beside it.

## What's added

| List | From | GPU, OS | Build and settings | Route | Pipelines sent |
Kept in the list | New to the shipped list |
|---|---|---|---|---|---|---|---|
| `contrib/yeetbot90-amd-rx-9070-xt-fsr3-4k` | @yeetbot90 (second list,
"MORE PIPELINES") | AMD RX 9070 XT, driver 32.0.32015.7029, Windows 11 |
v2.1.0, 3840x2160, FSR 3.1 Auto, frame generation 3x, HDR on | Kokiri
Forest through Jabu-Jabu's Belly | 2,047 | 1,013 | 992 |
| `contrib/jabbaxipil-rtx-4070-linux-dlaa` | @jabbaxipil | NVIDIA RTX
4070, driver 615.71.09, Ubuntu 26.04.1 (Wayland) | nightly
v2.1.0-rc.3-46, 2560x1440, DLAA (model K), frame generation 3x | child,
by day: Kokiri Forest out to Gerudo Valley | 960 | 778 | 710 |
| `contrib/disgustingusting-web-intel-uhd-intro` | @disgustingusting-web
| Intel UHD (i3-1115G4, integrated), driver 32.0.101.7088, Windows 11 |
v2.1.0, 1920x1080, no frame generation | the intro only | 9 | 6 | 0 (the
tour's list already has all 6) |

All three are version 2 lists (`HKSTATE2`). The merged list grows from
25,793 to 27,441 pipelines (1,648 new; the two big lists share 54). I
kept the Intel list even though it adds nothing today: the tour's list
is replaced whole each time, and this one holds pipelines no other
contributed list has.

## What's left out

- @pmwork-personal's first list, @yeetbot90's first list and @Imasvpp's
list: already in `main` (#2075 and #2082).
- Lists from @Brett-D (#2143), @pmwork-personal (#2133) and
@jarynclouatre (#2064): each is in its contributor's own open pull
request.
- @disgustingusting-web's `hookshot_log.txt`: it's a log, not a list.

## How it was checked

- I downloaded each zip into its own empty folder outside the repository
and listed it without extracting. Each one held a single
`hookshot_pipeline_states.bin`: no paths, no symlinks, nothing
encrypted, and sane sizes and compression ratios. Only that one file was
extracted, with a size cap.
- Each file starts with `HKSTATE2`, uses 552-byte records, has a whole
number of records, and has no duplicates.
- I also checked every field of every record: mesh, sample, depth and
flag fields in range, no attributes or answers past their counts,
padding zero, and each variant matching its answers' hash. The only
exceptions were records written with no answers, which `tour.bin.xz` has
in the same form.
- `python -I nx2/pipeline_states.py check`: passes. The merge gives the
same bytes twice.
- Tests: `tests/test_pipeline_state_sources.py`,
`test_ship_state_list.py`, `test_pipeline_states.py`,
`test_pipeline_notes_open.py`, `test_pipeline_state_counts.py` and
`test_pipeline_state_portable.py` all pass.

## Not tested

- I didn't run the game: no first-start shader preparation with the new
shipped list, no game build, and no check that these pipelines remove
stutter on these GPUs.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Erfboom pushed a commit to Erfboom/longshot that referenced this pull request Nov 11, 2026
…s) (NotRexed#2445)

Adds the three pipeline lists posted in NotRexed#2034 that aren't in `main` or
in an open pull request yet. I added each one with
`nx2/pipeline_states.py add`, so each list keeps only the pipelines that
no other contributed list already has. Each one has a note beside it.

## What's added

| List | From | GPU, OS | Build and settings | Route | Pipelines sent |
Kept in the list | New to the shipped list |
|---|---|---|---|---|---|---|---|
| `contrib/yeetbot90-amd-rx-9070-xt-fsr3-4k` | @yeetbot90 (second list,
"MORE PIPELINES") | AMD RX 9070 XT, driver 32.0.32015.7029, Windows 11 |
v2.1.0, 3840x2160, FSR 3.1 Auto, frame generation 3x, HDR on | Kokiri
Forest through Jabu-Jabu's Belly | 2,047 | 1,013 | 992 |
| `contrib/jabbaxipil-rtx-4070-linux-dlaa` | @jabbaxipil | NVIDIA RTX
4070, driver 615.71.09, Ubuntu 26.04.1 (Wayland) | nightly
v2.1.0-rc.3-46, 2560x1440, DLAA (model K), frame generation 3x | child,
by day: Kokiri Forest out to Gerudo Valley | 960 | 778 | 710 |
| `contrib/disgustingusting-web-intel-uhd-intro` | @disgustingusting-web
| Intel UHD (i3-1115G4, integrated), driver 32.0.101.7088, Windows 11 |
v2.1.0, 1920x1080, no frame generation | the intro only | 9 | 6 | 0 (the
tour's list already has all 6) |

All three are version 2 lists (`HKSTATE2`). The merged list grows from
25,793 to 27,441 pipelines (1,648 new; the two big lists share 54). I
kept the Intel list even though it adds nothing today: the tour's list
is replaced whole each time, and this one holds pipelines no other
contributed list has.

## What's left out

- @pmwork-personal's first list, @yeetbot90's first list and @Imasvpp's
list: already in `main` (NotRexed#2075 and NotRexed#2082).
- Lists from @Brett-D (NotRexed#2143), @pmwork-personal (NotRexed#2133) and
@jarynclouatre (NotRexed#2064): each is in its contributor's own open pull
request.
- @disgustingusting-web's `hookshot_log.txt`: it's a log, not a list.

## How it was checked

- I downloaded each zip into its own empty folder outside the repository
and listed it without extracting. Each one held a single
`hookshot_pipeline_states.bin`: no paths, no symlinks, nothing
encrypted, and sane sizes and compression ratios. Only that one file was
extracted, with a size cap.
- Each file starts with `HKSTATE2`, uses 552-byte records, has a whole
number of records, and has no duplicates.
- I also checked every field of every record: mesh, sample, depth and
flag fields in range, no attributes or answers past their counts,
padding zero, and each variant matching its answers' hash. The only
exceptions were records written with no answers, which `tour.bin.xz` has
in the same form.
- `python -I nx2/pipeline_states.py check`: passes. The merge gives the
same bytes twice.
- Tests: `tests/test_pipeline_state_sources.py`,
`test_ship_state_list.py`, `test_pipeline_states.py`,
`test_pipeline_notes_open.py`, `test_pipeline_state_counts.py` and
`test_pipeline_state_portable.py` all pass.

## Not tested

- I didn't run the game: no first-start shader preparation with the new
shipped list, no game build, and no check that these pipelines remove
stutter on these GPUs.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

@Joey-Magnus Joey-Magnus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I merged this into today's main, which has gained the #2075, #2082, #2429, #2445 and #2133 lists since you rebased. nx2/pipeline_states.py check passes. Your file goes from 7,251 to 8,657 pipelines, and the merged list from 28,902 to 29,688, so 786 of the new ones are still not in any other source. test_pipeline_state_sources, test_pipeline_states and test_ship_state_list pass, and so does the full run_all (376 passed, 0 failed, Linux).

The new test_split_list_lost_nothing is the growth-tolerant form that was asked for. It checks the first n records of each migrated list against the original hash and count, so a grown list passes and a reordered or changed original part still fails. The preparation-time numbers (about 3 s more on a first start) answer the last open point.

The red checks are from the run on e1720ae's base. actionlint's SC2012 and test_make_game_ngx come from main at the time, not from this diff. A re-run on current main should clear them.

@hckrman101
hckrman101 merged commit d335339 into NotRexed:main Nov 11, 2026
10 of 13 checks passed
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.

3 participants