[idd] driver: fix free copy queue search method

This commit is contained in:
Geoffrey McRae 2025-03-30 23:28:04 +00:00
parent 57a2f68931
commit a4406ac867

View File

@ -175,14 +175,17 @@ CD3D12CommandQueue * CD3D12Device::GetCopyQueue()
// try for up to a maximum of 100ms to find a free copy queue // try for up to a maximum of 100ms to find a free copy queue
for (int c = 0; c < 100; ++c) for (int c = 0; c < 100; ++c)
{ {
auto& queue = m_copyQueue[m_copyQueueIndex++]; for (int i = 0; i < ARRAYSIZE(m_copyQueue); ++i)
if (m_copyQueueIndex == ARRAYSIZE(m_copyQueue))
m_copyQueueIndex = 0;
if (queue.IsReady())
{ {
queue.Reset(); auto& queue = m_copyQueue[m_copyQueueIndex++];
return &queue; if (m_copyQueueIndex == ARRAYSIZE(m_copyQueue))
m_copyQueueIndex = 0;
if (queue.IsReady())
{
queue.Reset();
return &queue;
}
} }
Sleep(1); Sleep(1);
} }