Repository navigation
Revert the HMMA chain change (bd9f422d): it puts dotted bands in Ocarina of Time's upscaled picture - #1576
Closed
NicoPV94 wants to merge 1 commit into
Closed
Revert the HMMA chain change (bd9f422d): it puts dotted bands in Ocarina of Time's upscaled picture#1576NicoPV94 wants to merge 1 commit into
NicoPV94 wants to merge 1 commit into
Conversation
…na of Time's upscaled picture (agl_ndsr_vr.pck's network); chain 1681473c4e47 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Thanks for the bisect. #1544 fixes the cause: a plain HMMA call overwrote the chain waiting in slot 0, which is |
Author
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.
What and why
Symptom: on main (b2d46b8, M4 Max), everything Ocarina of Time (
0400486024DEC000v131072) draws in real time has dark, dotted vertical bands across the whole picture: a few pixels wide, about 64 output pixels apart, on Link, the grass and the scenery, in the opening's forest scene, Link's house and Kokiri Forest. The movies, the title, the menus' 2D and the HUD are clean.DM_UPSCALER=metalfxdoes not remove them.Where: a colour dump of one frame (
DM_CTLtexdump) shows the scene's own targets at 1536x864 clean and only the upscaled 2048x1152 picture banded. That picture is written byagl_ndsr_vr.pck's compute network (f8965bffbdf51d78, then its HMMA shaders), which MetalFX does not replace (it takesagl_ndsr.pck's place only).Cause: commit bd9f422, "HMMA chains keep their accumulators and A in the SIMD-group's matrices". With that commit reverted on top of main (the translator and
dmsh_build.py'shmma_msltogether; reverting only the translator leavesHMMA rewrite failedon 62 shaders), the same save, moment and screenshot draw without bands. Which of its flags gets this network wrong is not known yet. The commit's own reference entry says the NDSR upscaler loads none of its A where its LDSM read it, so the suspects are the accumulator slots, A reuse and C = 0.Ruled out on the way:
ALdsm): no difference.d17eefaff4f0bc23's dispatches dropped): no difference.f8965bffbdf51d78): the same MSL with and without the change.Change: bd9f422 reverted:
TensorPass.cs,InstEmitAmpereTensor.cs,HelperFunctionManager.cs,Instruction.cs,TransformPasses.cs,dmsh_build.py'shmma_mslandtest_dmsh_hmma.py; the translator rebuilt,tool_lock.py --update-lock,dmsh_chain.py --header(chain 1681473c4e47). The commit's reference entry is replaced by one for the bands (Dotted bands in the variable-resolution NDSR upscaler's picture), and the game note says what is lost: the movie networks go back from 11.4 to 14.8 ms of compute a frame on an M6, as measured in bd9f422.This is a revert, not the fix of the flag itself: it would be better to land bd9f422 again without whatever breaks
agl_ndsr_vr, and the reference entry leaves that open. Until then, every Mac player of this game on main sees the bands.Checked
test_docs.py,test_nsp_chain.py,test_dmsh_hmma.py(the version from before bd9f422) and everydm/gfx/tests/test_dmsh_*.pypass, excepttest_dmsh_pairs.py: 2 errors (NameError: name 'output' is not definedindmsh_build.pyvs_pad), the same on main b2d46b8 without this change.d17eefaff4f0bc23dropped: banded;--platform mac-app; plus Ocarina of Time's first start no longer shows a black picture with the title music for minutes: pso_manifest.tsv seeds the prepare step #1493's prewarm list on a local branch, not in this PR) on a new file through the opening and Kokiri Forest, with a controller: no bands; nearly smooth, with some dips. Seen but not from this change: some floor textures missing and some sparks on the screen (not looked into), and on the first start a black picture with the music for minutes while pipelines compiled (Ocarina of Time (0400486024DEC000 v131072, Mac M3 Pro): black picture with sound from the first frame; Game's upscaler = MetalFX (DM_UPSCALER=metalfx) brings the picture back #1477, which Ocarina of Time's first start no longer shows a black picture with the title music for minutes: pso_manifest.tsv seeds the prepare step #1493 fixes).scripts/regress.py check.regress.py impact origin/main..HEADnames no game that uses what the change touches; Breath of the Wild, Pokémon Scarlet and Tears of the Kingdom only through the broad rule (the chain version: every NVN game), and 146 profiles have no usage manifest. HMMA is an Ampere (Switch 2) instruction, so the games it changes are the Switch 2 ones with agl's upscaler or NDVE movies, among them Donkey Kong Bananza, whose upscaler bd9f422 measured unchanged. Ocarina of Time is the only one on this Mac.🤖 Generated with Claude Code