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> |
||
|---|---|---|
| .. | ||
| nid | ||
| prx | ||
| tests | ||
| CMakeLists.txt | ||
| HitLog.hpp | ||
| SceShaders.hpp | ||
| SceTypes.hpp | ||