mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-23 00:53:02 -05:00
RADV (Mesa 26.0 and later) initialises a FREE_DESCRIPTOR_SET pool's allocator with bo_size + RADV_POOL_HEAP_OFFSET as its size, so a set can be placed up to 32 bytes past the pool's buffer. The chain pools are 0x26000 bytes, a page multiple, so a set at the end of a full pool has its last descriptors on an unmapped page: the CPU descriptor write faults, or the shader's scalar load raises a GPU page fault and the ring is reset. Two more storage buffer descriptors make the pool 0x26020 bytes; the buffer's last page then holds those 32 bytes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>