mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-05 13:20:11 +00:00
A path of a descriptor web whose dwords depend on the program counter, EXEC or a lane mask selected the first descriptor, and an image arm whose words are not a T# was bound as a null image. Both are assumed never to be taken, but nothing reported it if a lane took one, so a wrong image or zeros went unnoticed. The folded path now gets its own selector value, which still selects the first descriptor and records an InvalidDescriptor BDA fault (new IR DescriptorFault) when a lane reaches the read with it. An image arm is checked in the shader with the words the selected arm read: not a null descriptor, and a TYPE from 2 to 7 or a FORMAT outside the GFX10 image format table records the same fault with the arm's first two words. Both faults are recorded only for lanes the image instruction's EXEC enables. The materializer binds a null image only for exactly those words; any other invalid arm is refused as before. The GFX10 format ranges are shared between both checks. A web whose every path is folded no longer leaves its selector Phis in the program. Only reads split through a descriptor web bind the fault buffer, which keeps their dispatches out of pipelined dispatch and stencil replay; splits along incoming edges keep requiring a valid T# and bind none. The debt entry and the APS5_STRICT_DESCRIPTOR_WEBS row say so, and note that a shader that also uses an image table reads its fault buffer back only when a table record is poisoned. The descriptor Phi and undefined format tests expect the fault buffer only for descriptor webs, and a T# shared by every arm of a split S# must stay mandatory. agc_driver_descriptor_web_faults dispatches a web with two SRT arms, each over its own texture, and a program-counter path: a lane on either valid arm reads that arm's texture without a fault, a lane on the folded path or on an undefined arm faults at the read, and nothing faults or is written with EXEC empty. Co-Authored-By: Claude Opus 5.5 <[email protected]>