mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-28 12:05:06 +00:00
The recorder released its lock between recording a submission, flip or suspend point and the driver accepting it. Another thread's delta could then wait for the accepted work, read its blocks, and record itself after a call whose work the driver had not accepted yet, so the replay submitted that work before applying stale bytes over its result. The entry points now pass the driver call to the recorder, which runs it under the same lock right after recording the call. agc_driver_frame_replay_concurrent submits copies from a second thread during the capture and checks that every memory delta was read after the submissions recorded before it had completed. Co-Authored-By: Claude Opus 5.5 <[email protected]>