From 5c01ab3ea90ca399b6541e1ac2672cf754fb8661 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 9 Aug 2019 11:49:28 +0100 Subject: [PATCH] For resources written in the frame, mark dirty at the end * If the write was recorded only to the frame, our background tracking may no longer be up to date so if the resource isn't dirty already it should be marked dirty so that we fetch its state properly on any subsequent captures. This is most relevant for GL where many objects have mutable state which may only be recorded mid-frame. --- renderdoc/core/resource_manager.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/renderdoc/core/resource_manager.h b/renderdoc/core/resource_manager.h index 1cabcd1fe..5440c7ee2 100644 --- a/renderdoc/core/resource_manager.h +++ b/renderdoc/core/resource_manager.h @@ -1344,7 +1344,11 @@ void ResourceManager::ClearReferencedResources() RecordType *record = GetResourceRecord(it->first); if(record) + { + if(IncludesWrite(it->second)) + MarkDirtyResource(it->first); record->Delete(this); + } } m_FrameReferencedResources.clear();