Repository navigation
Afterglow (PPSA47770) #13019
Replies: 2 comments
|
Linux / RADV data point. It's the same stop, and it only happens while the host driver's shader cache is cold. Setup: Ubuntu, kernel 7.0, Ryzen 5 5625U iGPU (Vega/GCN 5, RADV RENOIR, Mesa 26.0.8), GCC 15.2.0, Release.
So the AnyPS5 side of the build (recompile plus the shader cache) fits in the 2 s here. The time that misses the wait is RADV compiling the big pixel shader. The exit comes from the title's own code. The recompiled module for that shader is large. The biggest cache entry is 7.5 MB, with 1,858,745 SPIR-V words and 379,904 instructions (ID bound 343,594). The most frequent opcodes are:
I'm looking at whether the recompiler can emit less for this shape. |
|
Follow-up on the module size, same machine (Vega/GCN 5, RADV, Mesa 26.0.8). These are local experiments, not proposals. Every run starts with an empty AnyPS5 shader cache and
So on this GPU the module is about 64% emulation: the f32 denormal flush and the RDNA NaN propagation. Removing both brings the pipeline under the runtime's ~2.2 s wait. On this device, neither emulation can be removed correctly:
I also counted pure instructions in the module that repeat with the same opcode and operands. That's 2,219 of 338,582 (0.65%), so there's no easy CSE win either. On a device whose flush probe passes, the NaN emulation alone is about 30% of this shader. The reported RTX 3060 Ti run may be in that position. |
Uh oh!
There was an error while loading. Please reload this page.
Existing thread
Title
Afterglow (PPSA47770)
Content version tested
01.000.006, homebrew catalog release
PPSA47770.zipfrom DevvNirvana/afterglow (GPL-3.0), SHA-2563c6d57ab42829577ccfde9a7f530ec8e3860e456f1c1244f93a1341d4969e47f, matching the catalog.AnyPS5 commit
mainat9624d8c6bb9e, no pull requests applied.System tested
Windows 11 Pro (build 26300), Intel Core i5-12600KF, NVIDIA GeForce RTX 3060 Ti (driver 617.42), WinLibs GCC 15.2.0 r7, Release.
Furthest point
Stops before the first frame
What is shown
The title exits with code 1 about 10 s after start, in 3 of 3 runs, before its UI appears. Its own log (
download0/hui/dev/app.log; it reopens stdout there beforemain) ends with:Before that, the display opens, the clear submissions retire and all twelve fonts load. No
NotImplementedand no unresolved import.Current blocker
The same stop as #4399: Afterglow uses the ps5-opengl runtime, whose retirement wait gives up after about 2 s, while AnyPS5 builds the pipeline for the runtime's large pixel shader. This title's pixel shader is 95,468 bytes of guest code (
c6482fe5), against 21,652 bytes for thef8d1fab9shader in #4399.The pipeline never reaches the cache: after three runs,
pipelines.journalholds 1 pipeline, and each run fails the same way. Converting with--trap-sdk-syscall-stubsdoes not change it. The pipeline build time for this shader was not measured.How it was run
eboot.binandsce_module/libc.prxunwrapped withtools/unwrap_self.pyand converted withrelinker --windows --registry(throughtools/audit_dump.py), and once more with--trap-sdk-syscall-stubs. Run from a folder withapp0,libs(built from the same commit, with the WinLibs runtime DLLs), and emptydata,download0andtemp0, withAPS5_NO_PAD_INPUT=1; the shader cache was kept between runs.AI-assisted: yes (Claude Code)
All reactions