D932 - A graphics stream waiting on memory goes on once the word holds

Status: decided Date: 2026-10-20

A graphics stream that stops at a memory wait (WAIT_REG_MEM) not yet met is kept, with every stream handed to the queue after it. Whenever no new work is waiting, the command processor polls that wait again, every millisecond. Once the word holds, the stream goes on from the wait, and the streams held behind it then run in order until one stops the queue again. A stream stopped for any other reason still stops the queue for good (D710).

This amends D710's rule for memory waits. D710 assumed that nothing runs concurrently to satisfy a memory wait. The title's own threads do, and so does a hardware command processor, which polls a WAIT_REG_MEM until it holds. The poll interval is assumed; the console's is not measured, and only how promptly the queue goes on depends on it.

Why: Grand Theft Auto V's graphics submission 7001 waits for a word its CPU sets (0x7400_4314_5900, reading 1332 against 1333), and nothing on the GPU writes it. The render thread waits for frame 7001 to finish, so no later submission arrived to carry the queue on. The run ended there with every one of its 7000 earlier submissions carried out.

Rejected: