Merge pull request #9975 from liamwhite/more-waiting
vulkan: fix more excessive waiting in scheduler
This commit is contained in:
		| @@ -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() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user