[Fix] (DirectVulkan): bound the vertex-input and sampler caches and sweep undeleted GL syncs - both caches age out entries idle >1024 frame boundaries (animated LOD bias no longer mints a VkSampler per float value, buffer/VAO churn no longer grows the vertex-input map for the whole session), and library teardown drains the live-sync registry exactly as glDeleteSync would since GL requires syncs to die with their context

This commit is contained in:
2026-07-27 22:16:16 -04:00
parent 930a607bdf
commit d076c29146
8 changed files with 144 additions and 0 deletions
@@ -7269,6 +7269,12 @@ void main() {
if (m_uniformManager) {
m_uniformManager->OnFrameBoundary();
}
if (m_vertexInputStateFactory) {
m_vertexInputStateFactory->OnFrameBoundary();
}
if (m_samplerManager) {
m_samplerManager->OnFrameBoundary();
}
return true;
}
@@ -7534,6 +7540,8 @@ void main() {
m_lastPipelineResult = VK_NULL_HANDLE;
}
m_uniformManager->OnFrameBoundary();
m_vertexInputStateFactory->OnFrameBoundary();
m_samplerManager->OnFrameBoundary();
auto& frame = m_frameContext.GetCurrent();
auto* activeRenderPass = VkRenderPassManager::GetActiveRenderPass();
if (activeRenderPass)