mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 00:22:57 -05:00
A per-lane table V# with num_records 0, a null V# included, threw at dispatch on its stride (0 is less than the record offset plus 32) although no lane can hold a record, also when no lane enters the waterfall. With no records every OOB_SELECT puts each load out of range (the GFX10 table in Mesa's ac_descriptors.c), so such a table now binds no record and every lane that runs the access reads zeros; the swizzle, ADD_TID, OOB_SELECT and stride checks apply only to a V# with records. The implicit-derivative mode check compared every bound record with record 0, whose mode is 0 when it is null, so a table with a null record 0 and bound records of one other mode was refused. Only bound records are compared now. Lanes whose record is null or outside the table take the zero path under record 0's mode, so their quad neighbours' derivatives can still be undefined; the debt entry records this and the 16-record limit of the whole table. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>