mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-07-31 11:51:04 +00:00
Fixed the issues encountered when trying to capture Dilan frames
This commit is contained in:
@@ -178,6 +178,7 @@ WrappedID3D12CommandQueue::WrappedID3D12CommandQueue(ID3D12CommandQueue *real,
|
||||
WrappedID3D12CommandQueue::~WrappedID3D12CommandQueue()
|
||||
{
|
||||
m_pDevice->GetResourceManager()->ReleaseCurrentResource(GetResourceID());
|
||||
m_pDevice->RemoveQueue(this);
|
||||
|
||||
for(size_t i = 0; i < m_Cmd.m_IndirectBuffers.size(); i++)
|
||||
SAFE_RELEASE(m_Cmd.m_IndirectBuffers[i]);
|
||||
|
||||
@@ -39,6 +39,17 @@
|
||||
|
||||
WRAPPED_POOL_INST(WrappedID3D12Device);
|
||||
|
||||
void WrappedID3D12Device::RemoveQueue(WrappedID3D12CommandQueue *queue)
|
||||
{
|
||||
auto it = std::remove_if(m_Queues.begin(), m_Queues.end(),
|
||||
[queue](const WrappedID3D12CommandQueue *q) { return q == queue; });
|
||||
|
||||
if(it != m_Queues.end())
|
||||
m_Queues.erase(it);
|
||||
else
|
||||
RDCERR("Unknown wrapped queue %p being remvoed", queue);
|
||||
}
|
||||
|
||||
std::string WrappedID3D12Device::GetChunkName(uint32_t idx)
|
||||
{
|
||||
if((SystemChunk)idx < SystemChunk::FirstDriverChunk)
|
||||
|
||||
@@ -374,6 +374,8 @@ public:
|
||||
return m_DescriptorIncrements[type];
|
||||
}
|
||||
|
||||
void RemoveQueue(WrappedID3D12CommandQueue *queue);
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
// non wrapping interface
|
||||
|
||||
|
||||
Reference in New Issue
Block a user