AnyPS5/core/libs/prx/libSceAgc/Command/src
TideOPL 7fdfc9208b fix(libSceAgc): treat a null cursor_down as a buffer limited by its top
Every command writer checked bottom <= cursor_up <= cursor_down <= top.
PPSA16064 (Minecraft Dungeons II, Unreal Engine) builds small one-packet
buffers (8 dwords) with cursor_down left null, and the first
sceAgcDcbCopyData into one threw "invalid command buffer cursors".

Nothing in the library allocates downward, so cursor_down only bounds
the space above cursor_up. A null cursor_down now means that bound is
top. Non-null cursors are checked as before. TechnicalDebt records the
assumption.

agc_commands writes six dwords into such a buffer and checks that a
further allocation past top fails without moving the cursor.
2026-10-07 14:08:13 +01:00
..
Control.cpp style: drop the branch's code comments per CONVENTIONS.md 2026-09-29 21:25:29 +03:00
Draw.cpp feat(agc): add draw packets and register defaults with strict validation 2026-09-13 18:14:51 +03:00
Memory.cpp feat(agc): implement sceAgcDcbPrimeUtcl2 and its size query 2026-10-05 10:05:28 +02:00
Packet.cpp fix(libSceAgc): treat a null cursor_down as a buffer limited by its top 2026-10-07 14:08:13 +01:00
RegisterDefaults.cpp feat(agc): add draw packets and register defaults with strict validation 2026-09-13 18:14:51 +03:00