Repository navigation
Conversation
bmjask
marked this pull request as ready for review
November 9, 2026 01:14
bmjask
force-pushed
the
codex/shader-conservative-load-lowering
branch
from
November 9, 2026 13:49
917379a to
918c218
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extract two conservative shader-lowering experiments from #1663 without replacing current main's translator or undoing its newer vector loads and scalar extended-multiply overloads.
DMSH_RAW_LOAD_QUADS=1: combine four proven adjacent reads through a strictly recognized legacy raw-memory helper in read-only ordinary Ampere compute. One lookup is shared only when the whole 16-byte span resolves to the same winning range. Boundaries, overlaps, wrap and unknown helper forms retain scalar behavior.This is a deliberately narrower extraction than the integration branch's pointer-site cache and mesh/compute grouping implementation. Those newer helper-ABI changes are not included. No image-quality settings are reduced; no translator binary or lockfile is replaced.
Historical A/B evidence — not this extraction's performance result
Campaign chat, 2026-11-08 02:42–02:46 UTC: the broader ordinary-compute grouped-load implementation reduced median GPU time 11.77 → 11.09 ms (5.8%), with 5.5% reported in reverse test order, matching GPU clocks and no shader compilation during measurement. Those numbers belong to the combined branch's pointer-site implementation. They do not establish a speedup for this legacy-helper extraction against current main. New measurements are pending.
Current checks
dc2cecb15d7f; the opt-in flag changes the chain identity too.check_thread_cuts.py,test_astral_fps.py, andunity_bucket.pyprevent a clean overall ratchet result. No findings reported in the changed files. Baseline was not relaxed.Regression status: incomplete, not a pass
regress.py impact origin/main..HEADwas run. Five-game check selected Ocarina (Ampere/raw loads), Breath of the Wild and Tears of the Kingdom (other NVN rendering), Pokémon Scarlet (different NVN engine), and Hades (other shader coverage). The harness stopped before shader builds/game runs:Outstanding validation: full Ocarina shader rebuild, host rebuild, gameplay/image comparison, matched A/B measurements and other-game validation. The user's current playable app was not rebuilt or replaced. This PR is for review of the extraction, not a ready-to-merge performance claim.
Front-ends: rebuild matching shader libraries and host for this chain; enabling
DMSH_RAW_LOAD_QUADSrequires a header generated with the same option. Do not mix these shaders with an existing app's older chain.Reproducible evidence
Tested extraction:
917379a2d0672358a9caab0b90498a596ef44785. Test source at that commit; game note at that commit. Run on an Apple-silicon Mac with the repository's build dependencies configured:Saved local test-output excerpt (not a new test run or a CI result):
Historical A/B figures above describe the older combined branch. They are not fresh performance validation of this extracted commit. The remaining gameplay/regression limitations above still apply.
Rebase validation — 2026-11-09
Current head:
918c2182251d72ddec02ec34f4b187758db5cd9c, one commit above upstream9983d659e6101867215e4afe5dd6287ad8e0d4a3.Focused Python shader/chain/docs checks passed 45 tests. The raw-load GPU oracle passed 19,584 word comparisons. Regenerated DMSH_CHAIN is 26bc96c08027. Full graphics suite and full game shader/runtime regression on this shader extraction remain pending.
Mac fixtures were tested before the final upstream iOS-linker-only commit; verified that
dm/ios/tools/gen_build.pyis the sole subsequent file difference. Impact analysis was also run. No new gameplay A/B performance claim: historical figures above still describe the combined branch. Full current-chain game rebuild and gameplay regression remain pending; only Ocarina assets are locally available, and other titles/iOS are untested. The installed app andcodex/ocarina-playabilitywere preserved.