|
|
@ -200,8 +200,7 @@ void GPUBackend::Sync(bool allow_sleep)
|
|
|
|
PushCommand(cmd);
|
|
|
|
PushCommand(cmd);
|
|
|
|
WakeGPUThread();
|
|
|
|
WakeGPUThread();
|
|
|
|
|
|
|
|
|
|
|
|
m_sync_event.Wait();
|
|
|
|
m_sync_semaphore.Wait();
|
|
|
|
m_sync_event.Reset();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void GPUBackend::RunGPULoop()
|
|
|
|
void GPUBackend::RunGPULoop()
|
|
|
@ -252,7 +251,7 @@ void GPUBackend::RunGPULoop()
|
|
|
|
case GPUBackendCommandType::Sync:
|
|
|
|
case GPUBackendCommandType::Sync:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
DebugAssert(read_ptr == write_ptr);
|
|
|
|
DebugAssert(read_ptr == write_ptr);
|
|
|
|
m_sync_event.Signal();
|
|
|
|
m_sync_semaphore.Post();
|
|
|
|
allow_sleep = static_cast<const GPUBackendSyncCommand*>(cmd)->allow_sleep;
|
|
|
|
allow_sleep = static_cast<const GPUBackendSyncCommand*>(cmd)->allow_sleep;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|