mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-02 12:56:05 +00:00
EVENT_WRITE (PM4 opcode 0x46) with event type SAMPLE_STREAMOUTSTATS1-3 (0x01-0x03) or SAMPLE_STREAMOUTSTATS (0x20) failed submission validation with "EVENT_WRITE event type 1 is not implemented". Minecraft Preview (PPSA19639, discussion #1277, stop 9) submits a 2-dword type-1 packet while entering a world, and the GPU thread aborted intermittently. The four values are VGT_EVENT_TYPE entries in Linux drivers/gpu/drm/amd/include/navi10_enum.h L14155-14188 at 0fcb05b72344f40806cbe810de8872f1698bf053. drivers/gpu/drm/amd/amdgpu/nvd.h L326-347 at the same commit documents these events only with the sampling index (3, or EVENT_INDEX__SAMPLE_STREAMOUTSTATS* 8-11 on gfx10), followed by ADDRESS_LO/HI. The 2-dword index-0 packet has no destination dwords, and what the CP does with it is neither documented nor measured. AnyPS5 does not emulate the VGT stream-out counters, so there is nothing to sample. Packet execution already skips EVENT_WRITE. These event types are now accepted on the graphics queue as 2-dword packets with event index 0. The sampling indices 3 and 8-11 throw that stream-out statistics sampling to memory is not implemented, before the size and reserved-bit checks. Other indices, other sizes and the compute queue still throw. sceAgcDcbEventWrite ignores the address for every event type except 0x38 and 0x39, so a call with one of these event types and an address now builds a packet that validates and writes nothing. This is recorded in docs/dev/debt/libSceAgcDriver.md with the unmeasured hardware behaviour. Co-Authored-By: Claude Opus 5.5 <[email protected]>