mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-09 15:25:38 +00:00
Force NodeMask to 0 on replay. Closes #2307
* We don't generally support multi-gpu, but forcing NodeMask to be 0 on replay for all cases may let some captures open when they couldn't otherwise. It may not produce meaningful or correct results.
This commit is contained in:
@@ -214,6 +214,8 @@ bool WrappedID3D12GraphicsCommandList::Serialise_Reset(SerialiserType &ser,
|
||||
|
||||
if(IsReplayingAndReading())
|
||||
{
|
||||
nodeMask = 0;
|
||||
|
||||
m_Cmd->m_LastCmdListID = BakedCommandList;
|
||||
|
||||
if(IsActiveReplaying(m_State))
|
||||
@@ -4401,6 +4403,8 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ExecuteIndirect(
|
||||
D3D12_COMMAND_LIST_TYPE type = m_Cmd->m_BakedCmdListInfo[m_Cmd->m_LastCmdListID].type;
|
||||
UINT nodeMask = m_Cmd->m_BakedCmdListInfo[m_Cmd->m_LastCmdListID].nodeMask;
|
||||
|
||||
nodeMask = 0;
|
||||
|
||||
ResourceId allocid = m_Cmd->m_BakedCmdListInfo[m_Cmd->m_LastCmdListID].allocator;
|
||||
ID3D12CommandAllocator *allocator = m_Cmd->m_CrackedAllocators[allocid];
|
||||
|
||||
|
||||
@@ -272,6 +272,8 @@ bool WrappedID3D12Device::Serialise_CreateCommandList(SerialiserType &ser, UINT
|
||||
|
||||
if(IsReplayingAndReading())
|
||||
{
|
||||
nodeMask = 0;
|
||||
|
||||
ID3D12GraphicsCommandList *list = NULL;
|
||||
HRESULT hr = CreateCommandList(nodeMask, type, pCommandAllocator, pInitialState,
|
||||
__uuidof(ID3D12GraphicsCommandList), (void **)&list);
|
||||
@@ -944,6 +946,8 @@ bool WrappedID3D12Device::Serialise_CreateRootSignature(SerialiserType &ser, UIN
|
||||
|
||||
if(IsReplayingAndReading())
|
||||
{
|
||||
nodeMask = 0;
|
||||
|
||||
ID3D12RootSignature *ret = NULL;
|
||||
HRESULT hr = m_pDevice->CreateRootSignature(nodeMask, pBlobWithRootSignature,
|
||||
(SIZE_T)blobLengthInBytes, guid, (void **)&ret);
|
||||
|
||||
@@ -50,6 +50,8 @@ bool WrappedID3D12Device::Serialise_CreateCommandList1(SerialiserType &ser, UINT
|
||||
|
||||
if(IsReplayingAndReading())
|
||||
{
|
||||
nodeMask = 0;
|
||||
|
||||
ID3D12GraphicsCommandList *list = NULL;
|
||||
HRESULT hr = E_NOINTERFACE;
|
||||
if(m_pDevice4)
|
||||
|
||||
@@ -474,6 +474,9 @@ void DoSerialise(SerialiserType &ser, D3D12_EXPANDED_PIPELINE_STATE_STREAM_DESC
|
||||
SERIALISE_MEMBER(Flags);
|
||||
SERIALISE_MEMBER(ViewInstancing);
|
||||
SERIALISE_MEMBER(CS);
|
||||
|
||||
if(ser.IsReading())
|
||||
el.NodeMask = 0;
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -537,6 +540,9 @@ void DoSerialise(SerialiserType &ser, D3D12_COMMAND_QUEUE_DESC &el)
|
||||
SERIALISE_MEMBER(Priority);
|
||||
SERIALISE_MEMBER(Flags);
|
||||
SERIALISE_MEMBER(NodeMask);
|
||||
|
||||
if(ser.IsReading())
|
||||
el.NodeMask = 0;
|
||||
}
|
||||
|
||||
template <class SerialiserType>
|
||||
@@ -703,6 +709,9 @@ void DoSerialise(SerialiserType &ser, D3D12_COMMAND_SIGNATURE_DESC &el)
|
||||
SERIALISE_MEMBER(NumArgumentDescs);
|
||||
SERIALISE_MEMBER_ARRAY(pArgumentDescs, NumArgumentDescs);
|
||||
SERIALISE_MEMBER(NodeMask);
|
||||
|
||||
if(ser.IsReading())
|
||||
el.NodeMask = 0;
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -747,6 +756,9 @@ void DoSerialise(SerialiserType &ser, D3D12_GRAPHICS_PIPELINE_STATE_DESC &el)
|
||||
SERIALISE_MEMBER(NodeMask);
|
||||
SERIALISE_MEMBER(CachedPSO);
|
||||
SERIALISE_MEMBER(Flags);
|
||||
|
||||
if(ser.IsReading())
|
||||
el.NodeMask = 0;
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -770,6 +782,9 @@ void DoSerialise(SerialiserType &ser, D3D12_COMPUTE_PIPELINE_STATE_DESC &el)
|
||||
SERIALISE_MEMBER(NodeMask);
|
||||
SERIALISE_MEMBER(CachedPSO);
|
||||
SERIALISE_MEMBER(Flags);
|
||||
|
||||
if(ser.IsReading())
|
||||
el.NodeMask = 0;
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -1177,6 +1192,9 @@ void DoSerialise(SerialiserType &ser, D3D12_HEAP_PROPERTIES &el)
|
||||
SERIALISE_MEMBER(MemoryPoolPreference);
|
||||
SERIALISE_MEMBER(CreationNodeMask);
|
||||
SERIALISE_MEMBER(VisibleNodeMask);
|
||||
|
||||
if(ser.IsReading())
|
||||
el.CreationNodeMask = el.VisibleNodeMask = 0;
|
||||
}
|
||||
|
||||
template <class SerialiserType>
|
||||
@@ -1195,6 +1213,9 @@ void DoSerialise(SerialiserType &ser, D3D12_DESCRIPTOR_HEAP_DESC &el)
|
||||
SERIALISE_MEMBER(NumDescriptors);
|
||||
SERIALISE_MEMBER(Flags);
|
||||
SERIALISE_MEMBER(NodeMask);
|
||||
|
||||
if(ser.IsReading())
|
||||
el.NodeMask = 0;
|
||||
}
|
||||
|
||||
template <class SerialiserType>
|
||||
@@ -1203,6 +1224,9 @@ void DoSerialise(SerialiserType &ser, D3D12_QUERY_HEAP_DESC &el)
|
||||
SERIALISE_MEMBER(Type);
|
||||
SERIALISE_MEMBER(Count);
|
||||
SERIALISE_MEMBER(NodeMask);
|
||||
|
||||
if(ser.IsReading())
|
||||
el.NodeMask = 0;
|
||||
}
|
||||
|
||||
template <class SerialiserType>
|
||||
|
||||
Reference in New Issue
Block a user