mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-07-08 16:50:44 +00:00
Clean background frame references every 20 submits
* This means the background references array won't build up even for programs that don't present.
This commit is contained in:
@@ -750,6 +750,8 @@ private:
|
||||
rdcarray<VkResourceRecord *> m_ForcedReferences;
|
||||
Threading::CriticalSection m_ForcedReferencesLock;
|
||||
|
||||
volatile int64_t m_QueueCounter = 0;
|
||||
|
||||
rdcarray<VkResourceRecord *> GetForcedReferences()
|
||||
{
|
||||
rdcarray<VkResourceRecord *> ret;
|
||||
|
||||
@@ -975,6 +975,12 @@ VkResult WrappedVulkan::vkQueueSubmit(VkQueue queue, uint32_t submitCount,
|
||||
sub->bakedCommands->AddResourceReferences(GetResourceManager());
|
||||
}
|
||||
}
|
||||
|
||||
// every 20 submits clean background references, in case the application isn't presenting.
|
||||
if((Atomic::Inc64(&m_QueueCounter) % 20) == 0)
|
||||
{
|
||||
GetResourceManager()->CleanBackgroundFrameReferences();
|
||||
}
|
||||
}
|
||||
|
||||
if(capframe)
|
||||
|
||||
Reference in New Issue
Block a user