From e3c0280310086a3fbe69d9fbc2411068e2a651ba Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sun, 23 Sep 2018 22:43:54 -0700 Subject: Couple updates to processing release queue in Vk backend --- .../include/RenderDeviceNextGenBase.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'Graphics/GraphicsEngineNextGenBase') diff --git a/Graphics/GraphicsEngineNextGenBase/include/RenderDeviceNextGenBase.h b/Graphics/GraphicsEngineNextGenBase/include/RenderDeviceNextGenBase.h index d7c03e0d..8ce07d89 100644 --- a/Graphics/GraphicsEngineNextGenBase/include/RenderDeviceNextGenBase.h +++ b/Graphics/GraphicsEngineNextGenBase/include/RenderDeviceNextGenBase.h @@ -147,12 +147,16 @@ public: void PurgeReleaseQueues(bool ForceRelease = false) { - for(size_t q=0; q < m_CmdQueueCount; ++q) - { - auto& Queue = m_CommandQueues[q]; - auto CompletedFenceValue = ForceRelease ? std::numeric_limits::max() : Queue.CmdQueue->GetCompletedFenceValue(); - Queue.ReleaseQueue.Purge(CompletedFenceValue); - } + for(Uint32 q=0; q < m_CmdQueueCount; ++q) + PurgeReleaseQueue(q); + } + + void PurgeReleaseQueue(Uint32 QueueIndex, bool ForceRelease = false) + { + VERIFY_EXPR(QueueIndex < m_CmdQueueCount); + auto& Queue = m_CommandQueues[QueueIndex]; + auto CompletedFenceValue = ForceRelease ? std::numeric_limits::max() : Queue.CmdQueue->GetCompletedFenceValue(); + Queue.ReleaseQueue.Purge(CompletedFenceValue); } void IdleCommandQueues(bool ReleaseResources) -- cgit v1.2.3