| 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 48df8dd98c48da9cf81fde5f4319084e049f2cb1..3f8f1bf7d1f5cbb7122b4365c060ee3ba6ec5adb 100644
|
| --- a/gpu/command_buffer/service/gpu_scheduler.cc
|
| +++ b/gpu/command_buffer/service/gpu_scheduler.cc
|
| @@ -22,8 +22,6 @@ using ::base::SharedMemory;
|
|
|
| namespace gpu {
|
|
|
| -const int64 kUnscheduleFenceTimeOutDelay = 10000;
|
| -
|
| #if defined(OS_WIN)
|
| const int64 kRescheduleTimeOutDelay = 1000;
|
| #endif
|
| @@ -59,10 +57,6 @@ void GpuScheduler::PutChanged() {
|
| if (state.error != error::kNoError)
|
| return;
|
|
|
| - // Check that the GPU has passed all fences.
|
| - if (!PollUnscheduleFences())
|
| - return;
|
| -
|
| // One of the unschedule fence tasks might have unscheduled us.
|
| if (!IsScheduled())
|
| return;
|
| @@ -76,7 +70,6 @@ void GpuScheduler::PutChanged() {
|
| break;
|
|
|
| DCHECK(IsScheduled());
|
| - DCHECK(unschedule_fences_.empty());
|
|
|
| error = parser_->ProcessCommands(CommandParser::kParseCommandsSlice);
|
|
|
| @@ -169,8 +162,7 @@ bool GpuScheduler::IsScheduled() {
|
| }
|
|
|
| bool GpuScheduler::HasMoreWork() {
|
| - return !unschedule_fences_.empty() ||
|
| - (decoder_ && decoder_->ProcessPendingQueries(false)) ||
|
| + return (decoder_ && decoder_->ProcessPendingQueries(false)) ||
|
| HasMoreIdleWork();
|
| }
|
|
|
| @@ -222,45 +214,6 @@ void GpuScheduler::SetCommandProcessedCallback(
|
| command_processed_callback_ = callback;
|
| }
|
|
|
| -void GpuScheduler::DeferToFence(base::Closure task) {
|
| - unschedule_fences_.push(make_linked_ptr(
|
| - new UnscheduleFence(gfx::GLFence::Create(), task)));
|
| - SetScheduled(false);
|
| -}
|
| -
|
| -bool GpuScheduler::PollUnscheduleFences() {
|
| - if (unschedule_fences_.empty())
|
| - return true;
|
| -
|
| - if (unschedule_fences_.front()->fence.get()) {
|
| - base::Time now = base::Time::Now();
|
| - base::TimeDelta timeout =
|
| - base::TimeDelta::FromMilliseconds(kUnscheduleFenceTimeOutDelay);
|
| -
|
| - while (!unschedule_fences_.empty()) {
|
| - const UnscheduleFence& fence = *unschedule_fences_.front();
|
| - if (fence.fence->HasCompleted() ||
|
| - now - fence.issue_time > timeout) {
|
| - unschedule_fences_.front()->task.Run();
|
| - unschedule_fences_.pop();
|
| - SetScheduled(true);
|
| - } else {
|
| - return false;
|
| - }
|
| - }
|
| - } else {
|
| - glFinish();
|
| -
|
| - while (!unschedule_fences_.empty()) {
|
| - unschedule_fences_.front()->task.Run();
|
| - unschedule_fences_.pop();
|
| - SetScheduled(true);
|
| - }
|
| - }
|
| -
|
| - return true;
|
| -}
|
| -
|
| bool GpuScheduler::IsPreempted() {
|
| if (!preemption_flag_.get())
|
| return false;
|
| @@ -297,14 +250,4 @@ void GpuScheduler::RescheduleTimeOut() {
|
| rescheduled_count_ = new_count;
|
| }
|
|
|
| -GpuScheduler::UnscheduleFence::UnscheduleFence(gfx::GLFence* fence_,
|
| - base::Closure task_)
|
| - : fence(fence_),
|
| - issue_time(base::Time::Now()),
|
| - task(task_) {
|
| -}
|
| -
|
| -GpuScheduler::UnscheduleFence::~UnscheduleFence() {
|
| -}
|
| -
|
| } // namespace gpu
|
|
|