diff --git a/renderdoc/driver/d3d11/d3d11_common.h b/renderdoc/driver/d3d11/d3d11_common.h index 719532547..6b777665c 100644 --- a/renderdoc/driver/d3d11/d3d11_common.h +++ b/renderdoc/driver/d3d11/d3d11_common.h @@ -214,7 +214,6 @@ enum D3D11ChunkType CAPTURE_SCOPE, SET_INPUT_LAYOUT, - FIRST_CONTEXT_CHUNK = SET_INPUT_LAYOUT, SET_VBUFFER, SET_IBUFFER, SET_TOPOLOGY, diff --git a/renderdoc/driver/d3d11/d3d11_context.cpp b/renderdoc/driver/d3d11/d3d11_context.cpp index 3d8a3e2a9..c19c19d3e 100644 --- a/renderdoc/driver/d3d11/d3d11_context.cpp +++ b/renderdoc/driver/d3d11/d3d11_context.cpp @@ -583,25 +583,6 @@ bool WrappedID3D11DeviceContext::IsFL11_1() void WrappedID3D11DeviceContext::ProcessChunk(uint64_t offset, D3D11ChunkType chunk, bool forceExecute) { - if(chunk < FIRST_CONTEXT_CHUNK && !forceExecute) - { - if(m_State == READING) - { - m_pDevice->GetResourceManager()->MarkInFrame(false); - - m_pDevice->ProcessChunk(offset, chunk); - m_pSerialiser->PopContext(chunk); - - m_pDevice->GetResourceManager()->MarkInFrame(true); - } - else if(m_State == EXECUTING) - { - m_pSerialiser->SkipCurrentChunk(); - m_pSerialiser->PopContext(chunk); - } - return; - } - m_CurChunkOffset = offset; RDCASSERT(GetType() == D3D11_DEVICE_CONTEXT_IMMEDIATE); diff --git a/renderdoc/driver/d3d11/d3d11_device.cpp b/renderdoc/driver/d3d11/d3d11_device.cpp index c0596afca..bdeba1c15 100644 --- a/renderdoc/driver/d3d11/d3d11_device.cpp +++ b/renderdoc/driver/d3d11/d3d11_device.cpp @@ -3312,7 +3312,10 @@ bool WrappedID3D11Device::Serialise_SetResourceName(ID3D11DeviceChild *res, cons void WrappedID3D11Device::SetResourceName(ID3D11DeviceChild *res, const char *name) { - if(m_State >= WRITING) + // don't allow naming device contexts or command lists so we know this chunk + // is always on a pre-capture chunk. + if(m_State >= WRITING && !WrappedID3D11DeviceContext::IsAlloc(res) && + !WrappedID3D11CommandList::IsAlloc(res)) { ResourceId idx = GetIDForResource(res); D3D11ResourceRecord *record = GetResourceManager()->GetResourceRecord(idx);