If we didn't get a queue, fetch the reserved one. Closes #1711

* If we didn't get any queue at all in our queue family then we can safely pick
  the first queue as we would have done anyway.
This commit is contained in:
baldurk
2020-02-05 19:45:08 +00:00
parent 530d7fbc12
commit 5dc69969bb
+17
View File
@@ -2240,6 +2240,23 @@ ReplayStatus WrappedVulkan::ReadLogInitialisation(RDCFile *rdc, bool storeStruct
// read the remaining data into memory and pass to immediate context
frameDataSize = reader->GetSize() - reader->GetOffset();
if(m_Queue == VK_NULL_HANDLE && m_Device != VK_NULL_HANDLE && m_QueueFamilyIdx > 0)
{
if(m_ExternalQueues[m_QueueFamilyIdx].queue != VK_NULL_HANDLE)
{
m_Queue = m_ExternalQueues[m_QueueFamilyIdx].queue;
}
else
{
ObjDisp(m_Device)->GetDeviceQueue(Unwrap(m_Device), m_QueueFamilyIdx, 0, &m_Queue);
GetResourceManager()->WrapResource(Unwrap(m_Device), m_Queue);
GetResourceManager()->AddLiveResource(ResourceIDGen::GetNewUniqueID(), m_Queue);
m_ExternalQueues[m_QueueFamilyIdx].queue = m_Queue;
}
}
m_FrameReader = new StreamReader(reader, frameDataSize);
ReplayStatus status = ContextReplayLog(m_State, 0, 0, false);