Repository navigation
Add LOLLIPOP CHAINSAW RePOP 1.21.1 support - #684
Open
thehobbit85 wants to merge 11 commits into
Open
thehobbit85 wants to merge 11 commits into
thehobbit85 wants to merge 11 commits into
Conversation
thehobbit85
force-pushed
the
codex/lollipop-chainsaw-repop
branch
6 times, most recently
from
October 30, 2026 17:19
b490cb6 to
5e641c2
Compare
This was referenced Oct 30, 2026
thehobbit85
force-pushed
the
codex/lollipop-chainsaw-repop
branch
5 times, most recently
from
October 31, 2026 13:27
ede2ea7 to
bcad2e0
Compare
thehobbit85
force-pushed
the
codex/lollipop-chainsaw-repop
branch
4 times, most recently
from
November 1, 2026 06:29
3e818bc to
70a51db
Compare
This was referenced Nov 1, 2026
thehobbit85
force-pushed
the
codex/lollipop-chainsaw-repop
branch
from
November 1, 2026 12:33
70a51db to
2e3529c
Compare
thehobbit85
force-pushed
the
codex/lollipop-chainsaw-repop
branch
8 times, most recently
from
November 2, 2026 01:28
04731ec to
4176f95
Compare
thehobbit85
force-pushed
the
codex/lollipop-chainsaw-repop
branch
7 times, most recently
from
November 3, 2026 00:44
cfa046c to
b2e73e8
Compare
ATOM.CAS silently omitted a feedback hash insertion. Emit the verified 32-bit atomic, preserve the old value and predication, and sign-extend global address displacements before adding carry. Reject unverified forms and publish the updated translator chain. Verified 11 Mac GPU cases, both Metal SDKs and signed-address IR fixtures. All RePOP and Z-A shaders build; only the three expected RePOP shaders change. Mac smoke and combat pass, and the unsigned iOS IPA passes archive verification.
The upstream SDK matching rules reproduce all three patched module images byte for byte. Record the full Mac comparison on the rebased hosts and the rebuilt IPA size; archive CRCs, version, shader stamp and arm64 architecture pass verification.
thehobbit85
force-pushed
the
codex/lollipop-chainsaw-repop
branch
2 times, most recently
from
November 3, 2026 03:13
0a2c24b to
0cb39d7
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.
Add LOLLIPOP CHAINSAW RePOP 1.21.1 (
0100DD301A686000, v1245184) and verified Maxwell 32-bit globalATOM.CAStranslation. Main still lacks the profile and global CAS implementation. Signed displacements, predication and the returned old value are preserved; unsupported forms fail explicitly.Current head
0cb39d7b2b71d1a533aee6e2bcd000f7449e838b.python3 -m unittest dm.tools.tests.test_docs dm.tools.tests.test_nsp_chain dm.tools.tests.test_profile_guesspassed on this revision (45 tests). The feature sources, tests and documentation match the previously validated revision0a2c24babd82byte for byte.This PR incorporates pinned main
6136418bcd564f086cf57cb0a59e8f997d36445e. Exact-head merge simulation confirmed conflicts before rebase. The combined publication contains upstream Pokopia's Ampere changes and this PR's CAS implementation. Five rebuilt managed/PDB files match fresh publish output; the universal launcher and runtime/dependency metadata remain unchanged. Generated chain:26829bb0be3f; embedded source digest:bff706efc1b71e0e. Compiler pins are preserved.Main supplies the logic-generator type repair. The combined branch retains the RePOP profile, CAS translation and HMMA regression coverage.
Earlier integration validation on
0a2c24babd82DMSH_TEST_GPU=1 DMSH_TEST_METAL=1 DMSH_TEST_METAL_SDKS=macosx,iphoneos: docs, chain, profile guessing, CAS, toolchain cache, Pokopia/Ampere memory, HMMA, logic and control flow. This includes all 11 CAS GPU cases.make -C dm/host GAME=0100DD301A686000 -j2and the full native host test run passed, including UE virtual-span alignment/realloc and filesystem cases.make -C dm/gfx/tests GAME=0100DD301A686000 -j2 runpassed every executed case. Six optional Wonder reflection-sample checks were skipped because their game-derived inputs are absent. Existing local-SDK build warnings remain.Impact and limitations
RePOP directly exercises three CAS shaders. Scarlet (
0100A3D008C5C000) and Tears of the Kingdom (0100F2C0115B6000) have recorded buffer-atomic use; Fortune's Weave (04007EF01F8AE000) covers Ampere translation; Z-A (0100F43008C44000) supplies a separate NVN cache. The five-titleregress.py check --no-smokeattempt exited 2 at discovery: the first four builds were absent, with only Z-A installed. No five-title comparison ran; other games remain unchecked.The strict tool check stops on local Metal
32023.921versus pinned32023.922for both SDKs; translator, source and SPIRV-Cross fingerprints match. Synthetic compilation does not validate supported-toolchain game libraries. No lock override, RePOP launch, extraction rebuild, per-game shader rebuild or device run occurred. The user's manual confirmation and stop on automated RePOP gameplay remain in force.validated.tsvstill applies only to its historical chain. Native arm64 execution and the universal apphost signature were checked; no fresh x86_64 managed run is claimed.Long sessions, later stages/checkpoints, audio listening and iOS device behavior remain open. Upstream canonical developer/archive-key docs and archive implementation remain unchanged; this integration adds no archive-key behavior. Detailed validation stays here; durable findings and references remain in the game note.
Earlier PR evidence and limitations, historical revisions only
Add LOLLIPOP CHAINSAW RePOP 1.21.1 (
0100DD301A686000, v1245184) with its profile, shader inventory, prewarm seed and Mac gallery entry. The shared Maxwell translator now implements verified 32-bit globalATOM.CAS, including signed displacement, predication and the old-value result; unsupported forms fail explicitly. Main still lacks this profile and compare-and-swap implementation. Upstream allocator/region discovery replaces the obsolete fixed cuts and game argument.Revision
b2e73e865290d13eec73bf9ede35df6871c006e3includes mainb1dee89c2114b89154a659b5af231fa98c1c6a1f. Main adds Skyward Sword HD and normalized-target logic shaders. It still lacks the RePOP profile and Maxwell global CAS support.Regenerated the gallery from the combined table. Both RePOP and Skyward Sword HD appear once. The RePOP profile, Maxwell CAS translator sources, binaries and lock match the previous PR revision. Regenerating the header from the combined sources produces
caf4c6e250eb.Local validation on the M2 Max.
python3 -m unittest dm.tools.tests.test_docs dm.tools.tests.test_nsp_chain dm.tools.tests.test_profile_guess dm.tools.tests.test_global_atomic_cas dm.gfx.tests.test_dmsh_logic dm.gfx.tests.test_dmsh_control_flow dm.gfx.tests.test_dmsh_ampere_mempassed 76 tests with the PR translator, synthetic GPU cases and Metal compilation for macOS and iOS enabled. The host built. The full native graphics command passed its executed cases, including the normalized-target logic replay. The compiler was Metal 32023.921; the supported lock remains 32023.922.6 optional Wonder reflection samples were unavailable. No fresh RePOP gameplay, game-library rebuild, or device run was performed.
Pinned Python lint failed on this revision and exact main with the same new Pyright finding in
dm/gfx/tools/dmsh_logic.py:83. The file is identical on both revisions. Pyright infers a possible list where the replacement callback concatenates a string. No lint baseline or assertion was changed.scripts/regress.py check --no-smoke --games 01002DA013484000,0100000000010000,010015100B514000,04007EF01F8AE000,0100F43008C44000exited 2 at discovery. Skyward Sword directly exercises normalized-target logic operations. Odyssey and Wonder provide other NVN material and shader paths, Fortune’s Weave exercises the Ampere translator, and Z-A covers a separate NVN cache. Only Z-A was installed, so no five-title comparison ran.GitHub checks for this revision
Earlier integration tests on
45171708025f.DMSH_TEST_XLATE="$PWD/dm/gfx/tools/dmsh_xlate_bin/dmsh_xlate" DMSH_TEST_METAL=1 DMSH_TEST_GPU=1 DMSH_TEST_METAL_SDKS=macosx,iphoneos DM_GAME=0100DD301A686000 python3 -m unittest dm.tools.tests.test_docs dm.tools.tests.test_nsp_chain dm.tools.tests.test_shader_toolchain_cache dm.tools.tests.test_global_atomic_cas dm.gfx.tests.test_dmsh_pairs dm.gfx.tests.test_unity_compute dm.gfx.tests.test_unity_known_trees. All 62 tests passed. The native host built forGAME=0100DD301A686000. Eight native graphics targets passed, exercising finalized memory pools, empty vertex streams, draw hazards, readbacks, image aliases, initial contents, texture views and direct uploads. The CAS tests exercised the synthetic Mac GPU path and compiled for Mac and iOS with the installed Metal 32023.921 compiler. The lock remains at 32023.922. Pinned Python lint passed with zero new or stale findings.Earlier local validation on
eec4ad9e2710.DMSH_TEST_XLATE="$PWD/dm/gfx/tools/dmsh_xlate_bin/dmsh_xlate" DMSH_TEST_GPU=1 DMSH_TEST_METAL=1 DMSH_TEST_METAL_SDKS=macosx,iphoneos python3 -m unittest dm.tools.tests.test_docs dm.tools.tests.test_nsp_chain dm.tools.tests.test_global_atomic_cas dm.gfx.tests.test_dmsh_control_flow dm.gfx.tests.test_dmsh_ampere_mem dm.gfx.tests.test_dmsh_first_store. All 41 tests passed.make -C dm/host GAME=0100DD301A686000built the host.make -C dm/gfx/tests GAME=0100DD301A686000 -j4 runpassed every executed fixture. Six optional Wonder reflection samples were unavailable. The 41 focused tests used the combined translator, enabled Mac GPU execution and compiled the synthetic shaders for Mac and iOS. They include 11 CAS GPU cases, signed addressing, unsupported forms, Ampere memory, control flow and compute first-store behavior. The installed Metal compiler is 32023.921. The supported lock remains 32023.922.Historical validation and limits:
d54f11c2255cand the former 4064 MiB region covered the startup movie, menus, prologue gates, movement/camera, first combat and parking-lot transition. The 95-second route reached 5,388 frames at 59.6 fps, p99 18.03 ms, with no new red-line or shader/interface failures; typical p50 was 16.7 ms, resident memory 4.0–4.2 GiB and Metal allocations 2.6–2.8 GiB. This was functional coverage, not a controlled performance benchmark. Save creation/relaunch worked, and direct audio produced PCM without reported callback underruns; later-checkpoint persistence and listening quality remain unverified.0xae550, call0x137f0, vtable0x63b10b8, getter slot 26 and region gate at0x137cc; rewrite/fixups and focused native sizing tests passed at their recorded earlier revisions. The historical gameplay used a smaller fixed region and does not prove the current automatic region behavior.Game impact: RePOP directly exercises the three CAS shaders; the signed-address helper affects translated global accesses generally. Earlier broad host/graphics checks and the limited game comparisons retain their original revision scope. Full RePOP game-library rebuilds on the supported toolchain remain unverified. This run exercised the rebuilt translator on synthetic inputs with Xcode 27.0 and Metal 32023.921. The game-library lock calls for Metal 32023.922. LLVM 23 lint runs in CI. Long sessions, later stages/saves, audio listening and iOS device behavior remain open.
validated.tsvapplies only to its recorded historical chain. Synthetic checks are not gameplay.Historical Python lint repair
The type error in the logic-op shader generator also reproduced on main at
b1dee89c. That earlier integration carried the fix from #1019 with its own regenerated shader-chain header,7ea4a5fe7d7a. The only files changed by7cfccff5are the generator and its header. The RePOP translator, lockfile, and profile are unchanged. The synthetic translator suite exercised the macOS and iOS SDKs.On an M2 Max, Python lint passed with zero new or stale findings. All 76 focused tests passed, the Mac host built, and the native GPU logic-operation fixture passed 929 checks. The generated gallery also passed its consistency check. Per-game shader rebuilds require the pinned Metal compiler. The shared PR records the shader-output comparison, selected games, and local validation limits.