mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-28 17:36:36 +00:00
Eliminate removeIf from barriers that slowed down opening captures
This commit is contained in:
committed by
Baldur Karlsson
parent
f29fe5864e
commit
8e988f9045
@@ -703,15 +703,18 @@ void D3D12ResourceManager::SerialiseResourceStates(SerialiserType &ser,
|
||||
{
|
||||
for(size_t m = 0; m < States.size(); m++)
|
||||
{
|
||||
D3D12_RESOURCE_BARRIER b;
|
||||
b.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
|
||||
b.Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE;
|
||||
b.Transition.pResource = (ID3D12Resource *)GetCurrentResource(liveid);
|
||||
b.Transition.Subresource = (UINT)m;
|
||||
b.Transition.StateBefore = states[liveid][m];
|
||||
b.Transition.StateAfter = States[m];
|
||||
if(states[liveid][m] != States[m])
|
||||
{
|
||||
D3D12_RESOURCE_BARRIER b;
|
||||
b.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
|
||||
b.Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE;
|
||||
b.Transition.pResource = (ID3D12Resource *)GetCurrentResource(liveid);
|
||||
b.Transition.Subresource = (UINT)m;
|
||||
b.Transition.StateBefore = states[liveid][m];
|
||||
b.Transition.StateAfter = States[m];
|
||||
|
||||
barriers.push_back(b);
|
||||
barriers.push_back(b);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -719,11 +722,6 @@ void D3D12ResourceManager::SerialiseResourceStates(SerialiserType &ser,
|
||||
srcit++;
|
||||
}
|
||||
|
||||
// erase any do-nothing barriers
|
||||
barriers.removeIf([](const D3D12_RESOURCE_BARRIER &barrier) {
|
||||
return barrier.Transition.StateBefore == barrier.Transition.StateAfter;
|
||||
});
|
||||
|
||||
ApplyBarriers(barriers, states);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user