Browse Source

vulkan: fix more excessive waiting in scheduler

pull/15/merge
Liam 3 years ago
parent
commit
b9b1318bea
  1. 9
      src/video_core/renderer_vulkan/vk_scheduler.cpp

9
src/video_core/renderer_vulkan/vk_scheduler.cpp

@ -65,12 +65,13 @@ void Scheduler::WaitWorker() {
DispatchWork();
// Ensure the queue is drained.
std::unique_lock ql{queue_mutex};
event_cv.wait(ql, [this] { return work_queue.empty(); });
{
std::unique_lock ql{queue_mutex};
event_cv.wait(ql, [this] { return work_queue.empty(); });
}
// Now wait for execution to finish.
// This needs to be done in the same order as WorkerThread.
std::unique_lock el{execution_mutex};
std::scoped_lock el{execution_mutex};
}
void Scheduler::DispatchWork() {

Loading…
Cancel
Save