Skip to content

Ocarina of Time's prewarm list gets 15 more task / mesh pipelines recorded on a MacBook M1 - #2280

Open
JoseHuertasDev wants to merge 1 commit into
seedds:mainfrom
JoseHuertasDev:prewarm/oot-m1-mesh-rows
Open

JoseHuertasDev wants to merge 1 commit into
seedds:mainfrom
JoseHuertasDev:prewarm/oot-m1-mesh-rows

Conversation

@JoseHuertasDev

Copy link
Copy Markdown
Contributor

What and why

On a MacBook M1 (8-core GPU, 16 GB) first looks at new places still stall on pipelines no list names. This Mac's pso_user.tsv holds 37 M rows (native task / mesh pipelines); 22 are already in pso_manifest.tsv on main, and this appends the other 15 with a header line, as #2083 did. All 15 are model pipelines behind the task shader a5288d0a6c4971fd_b, the same one as 39 of #2083's rows.

They were built at their first draw in the first hours of a new game: Kokiri Forest, the way out of the forest and Hyrule Field among it. The areas were not noted row by row.

The same list also has about 3,500 S / R / C rows main lacks. They are left out here: a longer list lengthens a cold first start's prepare step (#2017), and I cannot measure that on this Mac. Happy to send them separately if they are wanted.

The game note's count goes from 164 to 179 M rows.

Checked

Docs

  • The finding is in its game note (the M row count under "Found on this game"); the symptom index does not change
  • No game files, keys or data extracted from a game in the change or the attachments

🤖 Generated with Claude Code

…m a MacBook M1: model pipelines behind the task shader a5288d0a6c4971fd_b that this Mac's pso_user.tsv holds and pso_manifest.tsv lacks, built at their first draw in the first hours of a new game (Kokiri Forest, the way out of the forest and Hyrule Field among it; the areas were not noted row by row); 179 M rows in all. The rows were recorded on v131072 with host 04811a6 plus PR 1951 (chain 39eb2f781d07); each one's task, mesh and pixel shader key is in shader_map.tsv with that stage, none repeats a row here or in PR 2017, and the key is 456 bytes as the 164 before. Not measured: the stall each caused and the prepare step's added time (the game's files are not on this Mac any more, so no cold first start was run)

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@github-actions github-actions Bot added docs Documentation game: 0400486024DEC000 A game labels Nov 11, 2026
Aznracer pushed a commit to Aznracer/Mighty-Green-Kokiri-Kid that referenced this pull request Nov 11, 2026
…ecorded in a sweep of 33 areas and in long play on an M3 Max (not measured on main)

166 pipelines behind the task shader a5288d0a6c4971fd_b and 5 behind three others (b43c34b2a11c2142_b, efaa4fa6a80ba719_b, 2d3240242e2ec411_b); 335 M rows in all. A task / mesh pipeline that no list names is compiled at its first draw (Native mesh pipelines compiled at their first draw). These were recorded on v131072 by a fork whose host writes the same rows (the key without the border field, the length of main's 164 M rows) as it built them. One of them, task a5288d0a6c4971fd / mesh 53dc93ba404ae78c / pixel 1ac5c1ed2feed1bc, froze adult Zora's Domain for 824 ms at its first draw on that fork.

Checked against main: every row parses with pso_mesh_skey_parse and is byte for byte its normalized form; none is on main already or repeats another (task key and normalized key compared); every task, mesh and pixel key is in shader_map.tsv with that stage; none is among PR seedds#2280's 15 rows. Tests: test_docs, test_game_profile, test_pso_offline, test_nsp_incremental; t_pso_skey and t_shmap_warm (make -C dm/gfx/tests GAME=0400486024DEC000); the Mac host builds. Not run: a game on main, so neither the stalls the rows avoid nor the prepare step's added time is measured (PR seedds#2083's 41 rows added about 2 s on an M4 Pro); iOS.

(cherry picked from commit 81b3971)
UserDerezzed pushed a commit to UserDerezzed/nxnative that referenced this pull request Nov 12, 2026
…ecorded in a sweep of 33 areas and in long play on an M3 Max (not measured on main)

166 pipelines behind the task shader a5288d0a6c4971fd_b and 5 behind three others (b43c34b2a11c2142_b, efaa4fa6a80ba719_b, 2d3240242e2ec411_b); 335 M rows in all. A task / mesh pipeline that no list names is compiled at its first draw (Native mesh pipelines compiled at their first draw). These were recorded on v131072 by a fork whose host writes the same rows (the key without the border field, the length of main's 164 M rows) as it built them. One of them, task a5288d0a6c4971fd / mesh 53dc93ba404ae78c / pixel 1ac5c1ed2feed1bc, froze adult Zora's Domain for 824 ms at its first draw on that fork.

Checked against main: every row parses with pso_mesh_skey_parse and is byte for byte its normalized form; none is on main already or repeats another (task key and normalized key compared); every task, mesh and pixel key is in shader_map.tsv with that stage; none is among PR seedds#2280's 15 rows. Tests: test_docs, test_game_profile, test_pso_offline, test_nsp_incremental; t_pso_skey and t_shmap_warm (make -C dm/gfx/tests GAME=0400486024DEC000); the Mac host builds. Not run: a game on main, so neither the stalls the rows avoid nor the prepare step's added time is measured (PR seedds#2083's 41 rows added about 2 s on an M4 Pro); iOS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation game: 0400486024DEC000 A game

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants