From c3ebf4658c41e4e80fae8ae01c1ac33302d783d6 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 26 Jun 2019 23:02:23 +0200 Subject: [PATCH] [dxvk] Reorder command list reset operations by importance --- src/dxvk/dxvk_cmdlist.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/dxvk/dxvk_cmdlist.cpp b/src/dxvk/dxvk_cmdlist.cpp index 4f4f3aa5..108b564b 100644 --- a/src/dxvk/dxvk_cmdlist.cpp +++ b/src/dxvk/dxvk_cmdlist.cpp @@ -121,13 +121,23 @@ namespace dxvk { void DxvkCommandList::reset() { - m_statCounters.reset(); + // Signal resources and events to + // avoid stalling main thread + m_eventTracker.reset(); + m_resources.reset(); + + // Recycle heavy Vulkan objects + m_descriptorPoolTracker.reset(); + + // Return buffer memory slices m_bufferTracker.reset(); + + // Return query and event handles m_gpuQueryTracker.reset(); m_gpuEventTracker.reset(); - m_eventTracker.reset(); - m_descriptorPoolTracker.reset(); - m_resources.reset(); + + // Less important stuff + m_statCounters.reset(); } } \ No newline at end of file