You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DEV_CHECK_ERR(pContext == m_pContext, "The context passed to RenderThreadUpdate must be the same as the one used to create the GPUUploadManagerImpl");
416
+
if (!m_pContext)
417
+
{
418
+
// If no context was provided at creation, we can accept any context in RenderThreadUpdate, but it must be the same across calls.
419
+
m_pContext = pContext;
420
+
}
421
+
else
422
+
{
423
+
DEV_CHECK_ERR(pContext == m_pContext, "The context provided to RenderThreadUpdate must be the same as the one used to create the GPUUploadManagerImpl");
424
+
}
410
425
411
426
SealAndSwapCurrentPage(pContext);
412
427
ReclaimCompletedPages(pContext);
@@ -473,7 +488,14 @@ void GPUUploadManagerImpl::ScheduleBufferUpdate(IDeviceContext* pC
473
488
474
489
while (!AbortUpdate && !m_Stopping.load(std::memory_order_acquire))
475
490
{
476
-
Page* P = m_pCurrentPage.load(std::memory_order_acquire);
491
+
Page* P = m_pCurrentPage.load(std::memory_order_acquire);
492
+
if (P == nullptr)
493
+
{
494
+
// No current page, wait for a page to become available
0 commit comments