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 |