Repository navigation
fix(agc): skip registration-time preparation for unsupported shader types - #1893
Conversation
a24b6c6 to
2161285
Compare
|
Another title that needs this: Rise of the Ronin (PPSA04540). Setup: Linux, RX 9070 XT (RADV). Base is
Tested and written by Claude (AI assistant) on a contributor's machine. |
|
Native Windows run, since no Windows results were posted. Setup: Windows 10 (19045), RTX 3060 Laptop (NVIDIA 616.92), MinGW-w64 GCC 15.2.0 (WinLibs r7), Release. Head
No title was run. 🤖 Addressed by Claude Code |
|
A third title, with a different type: 007 First Light (PPSA11386 v01.018.000) on Linux (CachyOS, kernel 7.2.9, GCC 16.2.1), RTX 3080 (NVIDIA 615.71.09). Base is
AI-assisted: yes (Claude Code) |
…-shader-type-8 fix(agc): skip registration-time preparation for unsupported shader types
Closes #1892
What
PrepareRegisteredthrowsAGC driver: unsupported registered shader typefor anyShader::typeoutside 0, 1, 2, 4, 5, 6 and 7. Since #639 it runs for everyRegisterShader, so one unknown type ends the run. Stray (PPSA02100, Unreal Engine 4) registers 13 shaders of type 8 at start-up. They have noSPI_SHADER_PGM_*registers and are never used by a draw or dispatch.With this change:
Shader 0x… has unsupported registered shader type N; it is not prepared at registration) and no artifact is prepared.AGC driver: unsupported registered shader type N.Tested
Linux (Nobara 44, GCC), RTX 5070 Ti, NVIDIA 595.91.07.
New check
UnsupportedTypeRegistration()intests/execution/PreparedShaders.cpp. It registers a type 8 header with Stray's sh register table twice, and runs in everyagc_driver_prepared_shadersmode.ctest -R agc_driver_prepared_shadersmain1be6f9f + the test onlyagc_driver_prepared_shaders,_indirect,_uncached,_debug) withAGC driver: unsupported registered shader type._debug_failurepasses, as it expects a failure.Stray on
main+ #861 + #1836: without this change it aborts at start-up with the error above. With it, all 13 type 8 registrations are skipped and the title reaches its window. It then stops on a separate, unrelated error.Checklist
main; no other open PR implements the same functions.mdfiles or images added to the repository