| Index: gpu/command_buffer/service/gpu_scheduler.cc
|
| diff --git a/gpu/command_buffer/service/gpu_scheduler.cc b/gpu/command_buffer/service/gpu_scheduler.cc
|
| index 61bdcf8470e652631741885edcef724f8f94fb81..29ea7fdd507fca7c6742bb04f0afccbd04489e35 100644
|
| --- a/gpu/command_buffer/service/gpu_scheduler.cc
|
| +++ b/gpu/command_buffer/service/gpu_scheduler.cc
|
| @@ -168,7 +168,8 @@ bool GpuScheduler::IsScheduled() {
|
|
|
| bool GpuScheduler::HasMoreWork() {
|
| return !unschedule_fences_.empty() ||
|
| - (decoder_ && decoder_->ProcessPendingQueries());
|
| + (decoder_ && decoder_->ProcessPendingQueries()) ||
|
| + HasMoreIdleWork();
|
| }
|
|
|
| void GpuScheduler::SetSchedulingChangedCallback(
|
| @@ -269,6 +270,16 @@ bool GpuScheduler::IsPreempted() {
|
| return preemption_flag_->IsSet();
|
| }
|
|
|
| +bool GpuScheduler::HasMoreIdleWork() {
|
| + return (decoder_ && decoder_->HasMoreIdleWork());
|
| +}
|
| +
|
| +void GpuScheduler::PerformIdleWork() {
|
| + if (!decoder_)
|
| + return;
|
| + decoder_->PerformIdleWork();
|
| +}
|
| +
|
| void GpuScheduler::RescheduleTimeOut() {
|
| int new_count = unscheduled_count_ + rescheduled_count_;
|
|
|
|
|