From 609126a90932d4f29cb087b6176b8ae8720df95b Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 28 Jul 2016 17:08:30 +0700 Subject: [PATCH] Apply resource transitions as necessary --- renderdoc/driver/d3d12/d3d12_device.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 2330d8d05..8a13eca09 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -872,11 +872,17 @@ bool WrappedID3D12Device::Serialise_BeginCaptureFrame(bool applyInitialState) GetResourceManager()->SerialiseResourceStates(barriers, m_ResourceStates); } - if(applyInitialState) + if(applyInitialState && !barriers.empty()) { // apply initial resource states - for(size_t i = 0; i < barriers.size(); i++) - barriers[i].Transition.pResource = Unwrap(barriers[i].Transition.pResource); + ID3D12GraphicsCommandList *list = GetNewList(); + + list->ResourceBarrier((UINT)barriers.size(), &barriers[0]); + + list->Close(); + + ExecuteLists(); + FlushLists(); } return true;