Repository navigation
Conversation
56a3f84 to
6552a8a
Compare
… RG11B10F non-finite clamp (white bloom), seedds#1876, DM_NVN_LEDGER
…carry: seedds#1876's split-span entry came along with seedds#1824's README context when the branch moved onto main, where seedds#1920 (c06d1e7) fixes the same terrain holes instead Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U35V38c6UYLbzyyPx6Up7P
# Conflicts: # dm/games/0400486024DEC000/README.md
|
Thanks for tracking this down. The 2,560-byte remnant inside a protected 16 KB page is exactly what was going wrong. It's now fixed on main by c06d1e7 (#1920), which landed after this PR's base ( I applied your The rest of the change doesn't apply to main any more. So I'm closing this as superseded by #1920. If you still see flat or empty terrain on a build that includes c06d1e7, please open an issue with the tile's first-use trace. That would be a different cause. |
Ocarina of Time can develop flat or missing terrain after streaming through Hyrule Field. The captured 260×260 height tile contained valid CPU heights, while its Metal texture contained 67,600 zero floats: a stale GPU-ownership decision prevented the upload.
Splitting a GPU-written storage interval left a 2,560-byte remnant inside an originally protected 16 KB page. Rounding that remnant inward discarded every page, so it could never report a later CPU write. Preserve the original protected page bounds through splits and shared-buffer re-protection. A queried texture must still cover the entire boundary page; a write to a neighbouring partial-page texture does not authorize ownership. New GPU writes receive new bounds and stamps as before. No game-specific dimensions or formats are added.
Validation on Apple M3 Max, macOS 27.0.1:
t_cpu_storagepasses all 67 checks, including re-protection and neighbouring partial-page isolation, with Metal validation enabled.d8b2b64a1fc5:t_nvnpasses 259 checks; dirty-slot and dirty-race tests pass; documentation tests pass (11); generated symptom index and diff checks are clean.028a263, chain3f35b514643e, with existing local fixes, not a pristine-main gameplay comparison or proof that every long-session terrain fault is resolved.Regression scope:
regress.py impactidentifies Breath of the Wild, Tears of the Kingdom and Pokémon Scarlet through shared NVN callers. A check requested for those games plus Ocarina cannot run: no standalone Mac builds remain in the local game folders (only packaged apps). No cross-game runtime or iOS validation is claimed.This does not address the separately observed black ivy/rock patches in shadow, nor startup prewarm duration. The player's real saves and installed app were not changed for this test.
Front-ends: no changes required.
Finding and mechanism are documented in the game note and NVN objects reference. No game assets, binaries, keys or saves are included.