D728 - A command-buffer flip is carried out where the stream releases its label

Status: assumed Date: 2026-09-27

sceAgcDcbSetFlip writes the packet hardware writes and queues the flip with the display under the interrupt context id that packet carries. When the command processor reaches the packet's RELEASE_MEM to the buffer's flip label, it reports the label and context id, and the display performs the flip through the path sceVideoOutSubmitFlip uses, then clears the label of the buffer that left the screen. The labels live at the console's own address, 0xC_8000_40A0 plus eight bytes per buffer, mapped on the first queued flip.

Why: obSCEne -1d54 measured the packet and -354a the wait that pairs with it: a flip is an end-of-pipe release of 1 into the buffer's label, and rendering into a buffer waits for its label to read 0. Carrying the flip out at the release puts it where the hardware does - after the work before it in the stream, and only if the stream got that far (D705).

Rejected: