diff --git a/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp index b34958ddf..3dffb54f0 100644 --- a/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_queue_wrap.cpp @@ -357,11 +357,11 @@ void WrappedID3D12CommandQueue::ExecuteCommandListsInternal(UINT NumCommandLists if(IsCaptureMode(m_State)) { - SCOPED_LOCK(m_Lock); - if(!InFrameCaptureBoundary) m_pDevice->GetCapTransitionLock().ReadLock(); + m_Lock.Lock(); + bool capframe = IsActiveCapturing(m_State); std::set refdIDs; @@ -556,6 +556,8 @@ void WrappedID3D12CommandQueue::ExecuteCommandListsInternal(UINT NumCommandLists } } + m_Lock.Unlock(); + if(!InFrameCaptureBoundary) m_pDevice->GetCapTransitionLock().ReadUnlock(); }