Repository navigation
Conversation
…000) profile (LNPANDY#377) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@nuno5645 Thanks for the PR. The profile patch is marked The change itself is the same in both places, only without the |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Done: the matching upstream PR is seedds/nxnative#843 (the same commit cherry-picked onto seedds/main; |
|
Thanks for the profile. The patch waits for seedds/nxnative#843, which is still open. When seedds takes it, the next engine bump brings it here and the patch is dropped. It stays in v1.1.3. |
v0lumehi
left a comment
There was a problem hiding this comment.
Thanks @nuno5645 for the South Park profile and the bare zlib cache support. The header is valid (forwarded seedds/nxnative#843), and the two new tests cover the cut-short case as well.
- The PR conflicts with main in
patches/series, and number 0055 is taken. Please update with main. I renumber at merge. game.tsvand thesdk_patches.pycomment say the memory is cut to 3 GB, but the patch cuts to 4 GB (1.5 GB, 512 MB and 2 GB). Please fix the comments.snowdrop_zlibscans the whole data slice for every byte that can start a zlib stream. On multi-GB.sdfdataslices that may be slow, and it now also runs for the other Snowdrop games. Please measure the time on a large slice and put the number in the PR.- Please remove the
Co-Authored-By: Claude Opus 5.5line from the patch message.
Next: I wait for seedds/nxnative#843 as planned. After that and the changes above I will ask @LNPANDY for the go. It stays in v1.1.3.
|
@nuno5645 this PR conflicts with main in My review from Nov 5 still has three open points.
The patch also waits for seedds/nxnative#843, which is still open. |
|
Per CONTRIBUTING.md (Helping with games), new game profiles belong in upstream seedds/nxnative first. Please open a pull request there. Thank you! |
Fix or feature
What and why
Closes #377. South Park: The Fractured But Whole (update 1.05, v327680; Snowdrop on NVN, SDK 3.5.1) had no profile. Its build stopped twice: the shader split found no shaders, and the address region check showed a 12 GB reservation.
Patch
0055-south-park-profile.patch:dm/gfx/tools/shader_split.py). The game'scamel/shadercache/nx/*.mcachefiles are bare zlib streams (a 1 KB window, 64 KB blocks), without the 20-byte record header that the Mario + Rabbids games have. The newsnowdrop_zlibfinds them, checks the decoded0xabcd00d4head and decodes the chained blocks. A file that is cut short is reported in red. The split finds 4,614 stages (4,072 vertex, 467 fragment, 75 compute).dm/games/01008F2005154000/patches.py). Snowdrop's three-pool page allocator reserves 12 GB. The cuts keep its layout but shrink it to 4 GB: 1.5 GB for large allocations, 512 MB of 512 KB pages, 2 GB of 64 KB pages.dm/tools/sdk_patches.py). SDK build8bb65519…takes Kingdom Battle's cuts: the node area goes from 1 GB to 64 MB, with 32 MB alignment.docs/reference/shaders.mdandmemory.md, the games table, and the regenerateddocs/agents/game-patches.md.Checked
python3 tools/engine.py checkpasses.dm/gfx/tests/test_snowdrop.pypasses, with two new tests (bare zlib cache files, and a cut-short file that is reported in red); both fail on the old code.test_docspasses.nvnCommandBufferGetControlMemoryFreeis reported as unimplemented, with no effect seen so far. These are listed under Open in the game README.Screenshots
None, no visible change.
Scope
dm/,scripts/,docs/,ref/) is added to the repository: a change there is a patch inpatches/(a commit inengine/, thentools/engine.py export, andtools/engine.py checkpasses), with itsUpstream-Statusforwarded seedds/nxnative#..., orpendinguntil that PR is open. It ispending: there is no upstream PR yet.dm/gamescarries.This PR and #378 each add one line at the end of
patches/series, so whichever merges second needs a one-line rebase.🤖 Generated with Claude Code