D903 - A direct dispatch's modifier reaches its initiator

Status: decided Date: 2026-10-19

sceAgcCbDispatch(cb, x, y, z, modifier, ..) writes the initiator 0x41 with the modifier's bits 0xa038, as an indirect dispatch's does (obSCEne 166-agc/dcb-dispatch-indirect, three modifiers measured). Among those bits is CS_W32_EN (bit 15): the program runs 32 lanes to a wave.

The measurement of the direct dispatch (REQ cd15) set none of these bits in any modifier it tried. obSCEne gt21 measured the direct form across eight modifiers (000-boot/gt21-agc-dispatch-modifier, report SHA-256 03232c37…). Every initiator was exactly 0x41 | (modifier & 0xa038), 0x8001 giving 0x8041, and the sixth argument did not reach it. The mapping is measured.

Why: Grand Theft Auto V dispatches its wave32 compute programs with modifier 0x8001. A fixed 0x41 ran them as wave64, and every lane mask past lane 31 was wrong.

Rejected: