| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/scheduler/scheduler.h" | 5 #include "cc/scheduler/scheduler.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 589 FROM_HERE_WITH_EXPLICIT_FUNCTION( | 589 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 590 "461509 Scheduler::OnBeginImplFrameDeadline1")); | 590 "461509 Scheduler::OnBeginImplFrameDeadline1")); |
| 591 state_machine_.OnBeginImplFrameDeadline(); | 591 state_machine_.OnBeginImplFrameDeadline(); |
| 592 ProcessScheduledActions(); | 592 ProcessScheduledActions(); |
| 593 FinishImplFrame(); | 593 FinishImplFrame(); |
| 594 } | 594 } |
| 595 | 595 |
| 596 void Scheduler::DrawAndSwapIfPossible() { | 596 void Scheduler::DrawAndSwapIfPossible() { |
| 597 compositor_timing_history_->WillDraw(); | 597 compositor_timing_history_->WillDraw(); |
| 598 DrawResult result = client_->ScheduledActionDrawAndSwapIfPossible(); | 598 DrawResult result = client_->ScheduledActionDrawAndSwapIfPossible(); |
| 599 state_machine_.DidDrawIfPossibleCompleted(result); | 599 state_machine_.SetDrawResult(result); |
| 600 compositor_timing_history_->DidDraw(); | 600 compositor_timing_history_->DidDraw(); |
| 601 } | 601 } |
| 602 | 602 |
| 603 void Scheduler::DrawAndSwapForced() { | 603 void Scheduler::DrawAndSwapForced() { |
| 604 compositor_timing_history_->WillDraw(); | 604 compositor_timing_history_->WillDraw(); |
| 605 client_->ScheduledActionDrawAndSwapForced(); | 605 DrawResult result = client_->ScheduledActionDrawAndSwapForced(); |
| 606 state_machine_.SetDrawResult(result); |
| 606 compositor_timing_history_->DidDraw(); | 607 compositor_timing_history_->DidDraw(); |
| 607 } | 608 } |
| 608 | 609 |
| 609 void Scheduler::SetDeferCommits(bool defer_commits) { | 610 void Scheduler::SetDeferCommits(bool defer_commits) { |
| 610 TRACE_EVENT1("cc", "Scheduler::SetDeferCommits", | 611 TRACE_EVENT1("cc", "Scheduler::SetDeferCommits", |
| 611 "defer_commits", | 612 "defer_commits", |
| 612 defer_commits); | 613 defer_commits); |
| 613 state_machine_.SetDeferCommits(defer_commits); | 614 state_machine_.SetDeferCommits(defer_commits); |
| 614 ProcessScheduledActions(); | 615 ProcessScheduledActions(); |
| 615 } | 616 } |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 676 client_->ScheduledActionBeginOutputSurfaceCreation(); | 677 client_->ScheduledActionBeginOutputSurfaceCreation(); |
| 677 break; | 678 break; |
| 678 case SchedulerStateMachine::ACTION_PREPARE_TILES: | 679 case SchedulerStateMachine::ACTION_PREPARE_TILES: |
| 679 client_->ScheduledActionPrepareTiles(); | 680 client_->ScheduledActionPrepareTiles(); |
| 680 break; | 681 break; |
| 681 case SchedulerStateMachine::ACTION_INVALIDATE_OUTPUT_SURFACE: { | 682 case SchedulerStateMachine::ACTION_INVALIDATE_OUTPUT_SURFACE: { |
| 682 client_->ScheduledActionInvalidateOutputSurface(); | 683 client_->ScheduledActionInvalidateOutputSurface(); |
| 683 break; | 684 break; |
| 684 } | 685 } |
| 685 } | 686 } |
| 687 state_machine_.DidAction(action); |
| 686 } while (action != SchedulerStateMachine::ACTION_NONE); | 688 } while (action != SchedulerStateMachine::ACTION_NONE); |
| 687 | 689 |
| 688 ScheduleBeginImplFrameDeadlineIfNeeded(); | 690 ScheduleBeginImplFrameDeadlineIfNeeded(); |
| 689 SetupNextBeginFrameIfNeeded(); | 691 SetupNextBeginFrameIfNeeded(); |
| 690 } | 692 } |
| 691 | 693 |
| 692 scoped_refptr<base::trace_event::ConvertableToTraceFormat> Scheduler::AsValue() | 694 scoped_refptr<base::trace_event::ConvertableToTraceFormat> Scheduler::AsValue() |
| 693 const { | 695 const { |
| 694 scoped_refptr<base::trace_event::TracedValue> state = | 696 scoped_refptr<base::trace_event::TracedValue> state = |
| 695 new base::trace_event::TracedValue(); | 697 new base::trace_event::TracedValue(); |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 810 } | 812 } |
| 811 | 813 |
| 812 bool Scheduler::IsBeginMainFrameSentOrStarted() const { | 814 bool Scheduler::IsBeginMainFrameSentOrStarted() const { |
| 813 return (state_machine_.begin_main_frame_state() == | 815 return (state_machine_.begin_main_frame_state() == |
| 814 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_SENT || | 816 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_SENT || |
| 815 state_machine_.begin_main_frame_state() == | 817 state_machine_.begin_main_frame_state() == |
| 816 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_STARTED); | 818 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_STARTED); |
| 817 } | 819 } |
| 818 | 820 |
| 819 } // namespace cc | 821 } // namespace cc |
| OLD | NEW |