- Fix an infinite loop when removing a shader from the middle of a cache chain (the list traversal never advanced).
- Vulkan direct-access path: record the bound vertex-buffer offset so the redundant-bind check works; previously one vkCmdBindVertexBuffers per buffer group was issued on every draw.
- Fix an out-of-bounds __m256i lane read in the clang texture-hash path.
- Fix a use-after-free read in the texture-readback queue and an inverted fetch-shader cache assertion.
- Initialize MetalRenderer commit-threshold fields; avoid re-strlen'ing the shader source when assigning it.
Besides a general cleanup:
- Remove deprecated resource destruction queues
- Move functionality from renderer into Latte base classes to deduplicate code