Files
AnyPS5/docs/dev
fma-rc 6345fe47b7 fix(agc): hold a flip until the previous flip submission's work completed, and raise no event from flips
A flip packet delivered the queue's graphics end-of-pipe event after the
work recorded before it. On the console a flip raises no such event: its
interrupt context is always a typed token that the kernel routes to the
display path (PS5 13.60 kernel), and neither Minecraft (PPSA17221) nor
Death Stranding 2 (PPSA02015) sends a release that requests one. Death
Stranding 2 registers the event before it fills its handler table, so the
first flip's event reached a null handler (issue 6462).

Minecraft did need it, but only because of when the flip hold ends. It
writes its frame label after the flip in the same buffer and, after its
next submission, waits on the event until that label is 1. The hold
released the title at the flip packet, so it read the label before the
worker had written it and slept until the flip event came. The hold now
ends when the previous flip submission ran to its end and its recorded GPU
work completed, so the label is in memory when the title reads it.

The per-queue flip event latch is removed with the event: a queue's own
release interrupts deliver as before.
2026-11-03 12:58:43 +01:00
..