mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
validImageDescriptor accepted any nonzero FORMAT, so words that are no T# passed whenever their TYPE nibble was 8 or more. An optional descriptor web arm holding such words was then not bound as a null image, and the dispatch failed on a sampled image of an unsupported format instead. PPSA23566 (UFC 6) has such an arm (formats 402-463): a compute shader picks one of 32 SRT T#s through an s_setpc_b64 jump table indexed by min(i, 32), and the default entry reaches the image_sample_lz with the loop-entry value of the T# registers, which a constant-buffer load filled with floats. The console never samples that arm: the default entry is taken only from iteration 32 on, when the registers hold iteration 31's T#. A FORMAT outside the GFX10 image format table (Mesa gfx10-rsrc.json GFX10_FORMAT: 1-77, 128-154, 156-182, 265-292) now makes the descriptor invalid. An optional descriptor web arm is bound as a null image, as other invalid arms are; a direct image is refused as invalid unless it is a null descriptor, and an image table entry faults when selected with the InvalidFormat reason. Co-Authored-By: Claude Opus 5.5 <[email protected]>