The draw resource key holds each read-only buffer's V# base and size and every ShaderData/FlattenedSrt word, so draws whose buffers move per frame (constant and vertex rings) never hit a template. The key now leaves those out; a hit checks every moved read-only buffer (accessible, no pending or shadowed writes over it) and rebinds it from its new address with the template's push adjustment, and data words that changed get a fresh data buffer with the template's patches. A template whose buffers cannot be rebound counts as a miss and is built fresh. APS5_NO_MOVED_BUFFER_TEMPLATES=1 keys the words as before. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Decoder | ||
| libs | ||
| relinker | ||
| shader/recompiler | ||