diff options
Diffstat (limited to 'gpu/command_buffer/service/gpu_scheduler.cc')
-rw-r--r-- | gpu/command_buffer/service/gpu_scheduler.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gpu/command_buffer/service/gpu_scheduler.cc b/gpu/command_buffer/service/gpu_scheduler.cc index 1782dec..408d56d 100644 --- a/gpu/command_buffer/service/gpu_scheduler.cc +++ b/gpu/command_buffer/service/gpu_scheduler.cc @@ -146,16 +146,17 @@ void GpuScheduler::ProcessCommands() { error::Error error = error::kNoError; int commands_processed = 0; - while (commands_processed < commands_per_update_ && !parser_->IsEmpty()) { + while (commands_processed < commands_per_update_ && + !parser_->IsEmpty()) { error = parser_->ProcessCommand(); - if (error == error::kWaiting) { - break; - } - if (error::IsError(error)) { + if (error == error::kWaiting || error == error::kYield) { + break; + } else if (error::IsError(error)) { command_buffer_->SetParseError(error); return; } + ++commands_processed; if (command_processed_callback_.get()) { command_processed_callback_->Run(); |