From 2d6f86f819c4b80ed4bbd80c66aa623e6e7dc85f Mon Sep 17 00:00:00 2001 From: Metal <125941078+MetaIX@users.noreply.github.com> Date: Thu, 5 Nov 2026 14:31:38 -0600 Subject: [PATCH] LDSM is fenced by subgroup barriers: Ocarina of Time's movie filter read other lanes' shared-memory stores before they landed; chain 554f4865aeef Its NDVE shaders store tiles with STS and read them back with LDSM, five of them with no BAR between. A warp's shared-memory accesses are in order on the Switch; Metal orders another lane's threadgroup store and this lane's load only through a barrier. ALdsm now puts a SIMD-group barrier before its loads and one after (LDSM is warp-collective, so the whole SIMD-group reaches both). Every other pixel of a few hundred rows of the title movie was wrong (6,700-14,000 a frame); after, 71-86, the clean source's level. Co-Authored-By: Claude Opus 5.5 --- dm/gfx/nvn/dmsh_chain.h | 2 +- dm/gfx/tests/test_dmsh_ampere_mem.py | 10 ++++++++++ dm/gfx/tools/dmsh_chain.lock | 6 +++--- .../tools/dmsh_xlate_bin/Ryujinx.Common.dll | Bin 375808 -> 375808 bytes .../Ryujinx.Graphics.Shader.dll | Bin 761856 -> 761856 bytes dm/gfx/tools/dmsh_xlate_bin/Spv.Generator.dll | Bin 137216 -> 137216 bytes dm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.dll | Bin 51200 -> 51200 bytes dm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.pdb | Bin 15928 -> 15924 bytes .../Instructions/InstEmitAmpereTensor.cs | 8 ++++++++ docs/agents/symptoms.md | 1 + docs/reference/shaders.md | 8 ++++++++ 11 files changed, 31 insertions(+), 4 deletions(-) diff --git a/dm/gfx/nvn/dmsh_chain.h b/dm/gfx/nvn/dmsh_chain.h index 6197728741..1379e03801 100644 --- a/dm/gfx/nvn/dmsh_chain.h +++ b/dm/gfx/nvn/dmsh_chain.h @@ -1,3 +1,3 @@ // Generated file (dm/gfx/tools/dmsh_chain.py --header): the B shader library translation chain version this source tree expects (default options), one for every game; // the host loads only /b-/. Run dmsh_chain.py --header after changing the chain's tools and commit this file with the change -#define DMSH_CHAIN "223f10d34f97" +#define DMSH_CHAIN "554f4865aeef" diff --git a/dm/gfx/tests/test_dmsh_ampere_mem.py b/dm/gfx/tests/test_dmsh_ampere_mem.py index e8a3d33d7a..38757ee947 100644 --- a/dm/gfx/tests/test_dmsh_ampere_mem.py +++ b/dm/gfx/tests/test_dmsh_ampere_mem.py @@ -378,6 +378,16 @@ def test_ldsm_mode_is_not_a_scale(self): msl = self.msl(mov(3, 0x40), inst(*self.LDSM_MT88), sts(0x20, 20)) self.assertIn('spvSubgroupShuffle(8.96831', msl) # the address 0x40 as a float's bits; scaled, it would be 0x100 (3.5873e-43) + # LDSM reads rows other lanes stored, often with no BAR before it (Ocarina of Time's movie filter): a SIMD-group barrier before its reads, so the stores have landed, and one after, + # so no lane's next store reaches the rows before every lane has read them + def test_ldsm_reads_between_subgroup_barriers(self): + msl = self.msl(mov(3, 0x40), inst(*self.LDSM_MT88), sts(0x20, 20)) + body = msl[msl.index('kernel void main0'):] + barriers = [m.start() for m in re.finditer(r'simdgroup_barrier\(mem_flags::mem_threadgroup\)', body)] + reads = [m.start() for m in re.finditer(r'= as_type\(_\d+\[int\(', body)] + self.assertEqual(len(barriers), 2, body) + self.assertTrue(reads and barriers[0] < reads[0] and reads[-1] < barriers[1], body) + class Pokopia(Translated): """Pokemon Pokopia's encodings, on the register the atomic reads: F2FP.MERGE_C (22,886 shaders), F2I from a half (1,067), MEMBAR with ERRBAR (144)""" diff --git a/dm/gfx/tools/dmsh_chain.lock b/dm/gfx/tools/dmsh_chain.lock index ab7aaaa83f..68c2bf135d 100644 --- a/dm/gfx/tools/dmsh_chain.lock +++ b/dm/gfx/tools/dmsh_chain.lock @@ -1,7 +1,7 @@ # Translation chain tool fingerprints (written by tool_lock.py --update-lock; regenerate after changing tools and commit it) -dmsh_xlate.dll 5e66d6e283045e07 -Ryujinx.Graphics.Shader.dll 8289f2a6757ed3bd -Ryujinx.Common.dll 387eb6599652dcb0 +dmsh_xlate.dll bfbefffd2ce37ab8 +Ryujinx.Graphics.Shader.dll 370c6a213727558f +Ryujinx.Common.dll 5a5996b79c955d67 xlate_source 71adcdd020e03a64 spirv-cross e37945d8e441d34d metal_macosx Apple metal version 32023.922 (metalfe-32023.922.4) diff --git a/dm/gfx/tools/dmsh_xlate_bin/Ryujinx.Common.dll b/dm/gfx/tools/dmsh_xlate_bin/Ryujinx.Common.dll index d95246733ecb030210ded6948f55d2f2048fcf8f..65aa0a5981f7581859c0b498eddc4425535cc91e 100644 GIT binary patch delta 1468 zcmZqpA=dCiY(fW%`TUH|@OUfOy z-HDrJHaq36krieUW1`%cVo{b^R0tbi85SNYxMrpti!K#h!=}m-O9f*VYqLaC!5BLu z76B?4(`UirTuym}3vOUpTq3Ye?wtn1oJ%gN_FC&XxrWzlKcd2FmalGMW}2LAY?_vs zVs2n;l459{Y-DI@kYlR;U@&7a zWk?1>V<4TzkjRk2V9sCws#~dup+>DG3oSaR}jm-><94#%KT^ub; z%-swOot#~rTuj_7T`diaOe~y?9Sw{vUCk|=Ee%}^oh*$_&CJ~#&CIqN9A{o6M7c3S zx0s8VDL3ZGUFPSUlpFK9b&QE~h-g1vjuPE)lQ~>b-p>cedMR#tE-3O^!Ui{fG*yS-ys;iJ7@cqNQ0{ zl7+d6rHQGLg`uHkiiKfPqPdBwWs-@dVREv0no-Jh{gteu({rb=N^JL^!g^N4-;}|G z!HmHiNG38^0$FJcNemWXz9mr1l)(tdGXz3Qh7>R>38)UF+7u{~1f(s2a>+nw4%BJH Mkg`2{C+k!u00J^(DgXcg diff --git a/dm/gfx/tools/dmsh_xlate_bin/Ryujinx.Graphics.Shader.dll b/dm/gfx/tools/dmsh_xlate_bin/Ryujinx.Graphics.Shader.dll index 80acd469d11582496ddadfbea1ca52bda0748e0e..54347208544c7f7c9d1498ed6c4cb0250a1b7973 100644 GIT binary patch delta 70855 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 K3rTHS`Tqa{Fmx~g delta 70875 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 N=2ZGKB%@*Z{{wNncs&3B diff --git a/dm/gfx/tools/dmsh_xlate_bin/Spv.Generator.dll b/dm/gfx/tools/dmsh_xlate_bin/Spv.Generator.dll index 5df89c9becc6678f3b9061dce4589a5f36f72a07..984a2396e359e960e2f250a112bb40d150aeec47 100644 GIT binary patch delta 176 zcmZqJz|pXQV?qbZDWT-gjXhg?7!^JXByfFxQEDCJF=dI6Rl)@J`P=t=W^9+yurM=C zPBu18OH460Fg8gsG*31%v@}SwNKQ32u}m{FOfyYNPE1NP+@3AKG?&HSg29Zzlpz@i zje&F;Ln1>8gE@l%kY@s983NhK3`RiO5-66&U;*T%g5@lMJTstp8cSz3~XxrwETsgZ@Dp=FANVN#;GiK%6hiKSt3vU!?O%JyslrnxNsrVJ(wW(?*) zGLgX&$Vy{KVz2=7ErDXD3`RhnArM+Jq<~pTKy@J1ra+M-AZ-bhO9n!7piU!(liHER8Nu diff --git a/dm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.dll b/dm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.dll index b87a72f252171afbec0fae412cea6ec9e1e5b637..6827899637ec4cea16b1e22cfdaacda44e83c399 100644 GIT binary patch delta 373 zcmZpez}zr_c|r%vto_H9PwXjS^qI`a_@A+1Gb2;8vw$S0+3)9Tl^kX<&JMlUk$83U z6jxVH4GS~V6w@J^PRDLPnq({m|mn zqGJ8r)RM#;eV@#vqQs&~eaC`=oXq6JlFa-(h2YYHg8ZTqeZL4JkZ`JgYF>I~UaD?s zL2*e@YGST_L6L4wN^$Pw7kizJpf*IRLTv!LhQThRKlNR5YN=_`RE83uTVS9M#8#N7 zD8|?@xn!T_=6U=2So|#*%ot1=l7Y||NT)F*GNdq=GZ+AQCP0=Uke$q61f(s2VrdK( fKwc_X&JxHo1B#~sbtM5s6Mud;o2zw- delta 372 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