mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-18 23:07:07 -05:00
With APS5_DUMP_SHADERS set, PrepareShaderWithDiagnostics wrote a request whose preparation failed under the same shader_<address>.req name that dispatch and draw captures use. A preparation request has no captured resources: the registration-time one carries placeholder (zero) user data and only the code and header memory. Replaying such a file as a dispatch capture follows the null user-data pointer into the SRT and fails in SrtWalker, which looks like a walker bug but is not one. dumpRequest also de-duplicated by address, so once a preparation failure had been dumped, a later dispatch dump of the same shader was silently dropped and the real capture was lost. Preparation-failure dumps are now written as shader_<address>.prepare.req, and dumpRequest de-duplicates by file name, so the later dispatch dump of the same address is still written. agc_shader_replay's usage text says to replay .prepare.req files with --prepare. The FailureCapture test expects the .prepare.req name, no plain .req from a preparation failure, and a subsequent dispatch dump of the same address to be written with the serialized request. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>