Revert "vk_scheduler: wait for command processing to complete"

* This causes DispatchWork to stall and everything that calls it resulting in noticeable slowdown
This commit is contained in:
GPUCode
2023-01-26 22:05:38 +02:00
parent 382b64d3c0
commit 0381081c5d

View File

@ -79,7 +79,6 @@ void Scheduler::DispatchWork() {
void Scheduler::WorkerThread(std::stop_token stop_token) { void Scheduler::WorkerThread(std::stop_token stop_token) {
do { do {
std::unique_ptr<CommandChunk> work; std::unique_ptr<CommandChunk> work;
bool has_submit{false};
{ {
std::unique_lock lock{work_mutex}; std::unique_lock lock{work_mutex};
if (work_queue.empty()) { if (work_queue.empty()) {
@ -91,10 +90,9 @@ void Scheduler::WorkerThread(std::stop_token stop_token) {
} }
work = std::move(work_queue.front()); work = std::move(work_queue.front());
work_queue.pop(); work_queue.pop();
has_submit = work->HasSubmit();
work->ExecuteAll(current_cmdbuf);
} }
const bool has_submit = work->HasSubmit();
work->ExecuteAll(current_cmdbuf);
if (has_submit) { if (has_submit) {
AllocateWorkerCommandBuffers(); AllocateWorkerCommandBuffers();
} }