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.h" | 5 #include "cc/scheduler.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "cc/layer_tree_settings.h" | 10 #include "cc/layer_tree_settings.h" |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 m_stateMachine.setNeedsForcedCommit(); | 66 m_stateMachine.setNeedsForcedCommit(); |
67 processScheduledActions(); | 67 processScheduledActions(); |
68 } | 68 } |
69 | 69 |
70 void Scheduler::setNeedsRedraw() | 70 void Scheduler::setNeedsRedraw() |
71 { | 71 { |
72 m_stateMachine.setNeedsRedraw(); | 72 m_stateMachine.setNeedsRedraw(); |
73 processScheduledActions(); | 73 processScheduledActions(); |
74 } | 74 } |
75 | 75 |
| 76 void Scheduler::setNeedsRedrawOnVisibleTextureUpload() |
| 77 { |
| 78 m_stateMachine.setNeedsRedrawOnVisibleTextureUpload(); |
| 79 processScheduledActions(); |
| 80 } |
| 81 |
76 void Scheduler::setNeedsForcedRedraw() | 82 void Scheduler::setNeedsForcedRedraw() |
77 { | 83 { |
78 m_stateMachine.setNeedsForcedRedraw(); | 84 m_stateMachine.setNeedsForcedRedraw(); |
79 processScheduledActions(); | 85 processScheduledActions(); |
80 } | 86 } |
81 | 87 |
82 void Scheduler::setMainThreadNeedsLayerTextures() | 88 void Scheduler::setMainThreadNeedsLayerTextures() |
83 { | 89 { |
84 m_stateMachine.setMainThreadNeedsLayerTextures(); | 90 m_stateMachine.setMainThreadNeedsLayerTextures(); |
85 processScheduledActions(); | 91 processScheduledActions(); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 m_stateMachine.didDrawIfPossibleCompleted(result.didDraw); | 187 m_stateMachine.didDrawIfPossibleCompleted(result.didDraw); |
182 if (result.didSwap) | 188 if (result.didSwap) |
183 m_frameRateController->didBeginFrame(); | 189 m_frameRateController->didBeginFrame(); |
184 break; | 190 break; |
185 } | 191 } |
186 case SchedulerStateMachine::ACTION_DRAW_FORCED: { | 192 case SchedulerStateMachine::ACTION_DRAW_FORCED: { |
187 ScheduledActionDrawAndSwapResult result = m_client->scheduledActionD
rawAndSwapForced(); | 193 ScheduledActionDrawAndSwapResult result = m_client->scheduledActionD
rawAndSwapForced(); |
188 if (result.didSwap) | 194 if (result.didSwap) |
189 m_frameRateController->didBeginFrame(); | 195 m_frameRateController->didBeginFrame(); |
190 break; | 196 break; |
| 197 } case SchedulerStateMachine::ACTION_CHECK_FOR_NEW_VISIBLE_TEXTURES: { |
| 198 m_client->scheduledActionCheckForNewVisibleTextures(); |
| 199 break; |
191 } case SchedulerStateMachine::ACTION_BEGIN_OUTPUT_SURFACE_RECREATION: | 200 } case SchedulerStateMachine::ACTION_BEGIN_OUTPUT_SURFACE_RECREATION: |
192 m_client->scheduledActionBeginContextRecreation(); | 201 m_client->scheduledActionBeginContextRecreation(); |
193 break; | 202 break; |
194 case SchedulerStateMachine::ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREA
D: | 203 case SchedulerStateMachine::ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREA
D: |
195 m_client->scheduledActionAcquireLayerTexturesForMainThread(); | 204 m_client->scheduledActionAcquireLayerTexturesForMainThread(); |
196 break; | 205 break; |
197 } | 206 } |
198 action = m_stateMachine.nextAction(); | 207 action = m_stateMachine.nextAction(); |
199 } | 208 } |
200 | 209 |
201 // Activate or deactivate the frame rate controller. | 210 // Activate or deactivate the frame rate controller. |
202 m_frameRateController->setActive(m_stateMachine.vsyncCallbackNeeded()); | 211 m_frameRateController->setActive(m_stateMachine.vsyncCallbackNeeded()); |
203 m_client->didAnticipatedDrawTimeChange(m_frameRateController->nextTickTime()
); | 212 m_client->didAnticipatedDrawTimeChange(m_frameRateController->nextTickTime()
); |
204 } | 213 } |
205 | 214 |
206 } // namespace cc | 215 } // namespace cc |
OLD | NEW |