Files
AnyPS5/core
XairRrR 032ee506b2 fix(agc): keep the mesh index descriptor on relocated draw stages
relocateDrawEntry copied a cached variant field by field and left out
meshIndexDescriptor, which the variant gained in #5791 before #4943 merged.
lookupDraw compares a mesh stage's descriptor with the draw's index buffer
words before validating anything else, and no draw has an all-zero one, so
every relocated mesh-path stage was refused as a differing front stage. With
no hits the shader set's relocation trial stopped admitting new aliases too.

The copy now takes the donor's descriptor, so a relocated mesh stage matches
the same index buffer the donor was built for and misses on any other.

agc_driver_mesh_draw_relocation draws a mesh-path triangle whose vertex
buffer descriptor is loaded through a user-data pointer, at eight addresses
with the same contents: the last four now hit the cached draw (before: four
differing front stages, no hit).

AI-assisted: yes
2026-10-17 13:36:47 +02:00
..