| 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 #ifndef CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ | 5 #ifndef CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ |
| 6 #define CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ | 6 #define CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 bool ShouldBeginOutputSurfaceCreation() const; | 247 bool ShouldBeginOutputSurfaceCreation() const; |
| 248 bool ShouldDrawForced() const; | 248 bool ShouldDrawForced() const; |
| 249 bool ShouldDraw() const; | 249 bool ShouldDraw() const; |
| 250 bool ShouldActivatePendingTree() const; | 250 bool ShouldActivatePendingTree() const; |
| 251 bool ShouldAcquireLayerTexturesForMainThread() const; | 251 bool ShouldAcquireLayerTexturesForMainThread() const; |
| 252 bool ShouldUpdateVisibleTiles() const; | 252 bool ShouldUpdateVisibleTiles() const; |
| 253 bool ShouldSendBeginMainFrame() const; | 253 bool ShouldSendBeginMainFrame() const; |
| 254 bool ShouldCommit() const; | 254 bool ShouldCommit() const; |
| 255 bool ShouldManageTiles() const; | 255 bool ShouldManageTiles() const; |
| 256 | 256 |
| 257 void AdvanceCurrentFrameNumber(); |
| 257 bool HasSentBeginMainFrameThisFrame() const; | 258 bool HasSentBeginMainFrameThisFrame() const; |
| 258 bool HasScheduledManageTilesThisFrame() const; | 259 bool HasScheduledManageTilesThisFrame() const; |
| 259 bool HasUpdatedVisibleTilesThisFrame() const; | 260 bool HasUpdatedVisibleTilesThisFrame() const; |
| 260 bool HasSwappedThisFrame() const; | 261 bool HasSwappedThisFrame() const; |
| 261 | 262 |
| 262 void UpdateStateOnCommit(bool commit_was_aborted); | 263 void UpdateStateOnCommit(bool commit_was_aborted); |
| 263 void UpdateStateOnActivation(); | 264 void UpdateStateOnActivation(); |
| 264 void UpdateStateOnDraw(bool did_swap); | 265 void UpdateStateOnDraw(bool did_swap); |
| 265 void UpdateStateOnManageTiles(); | 266 void UpdateStateOnManageTiles(); |
| 266 | 267 |
| 267 const SchedulerSettings settings_; | 268 const SchedulerSettings settings_; |
| 268 | 269 |
| 269 OutputSurfaceState output_surface_state_; | 270 OutputSurfaceState output_surface_state_; |
| 270 BeginImplFrameState begin_impl_frame_state_; | 271 BeginImplFrameState begin_impl_frame_state_; |
| 271 CommitState commit_state_; | 272 CommitState commit_state_; |
| 272 TextureState texture_state_; | 273 TextureState texture_state_; |
| 273 ForcedRedrawOnTimeoutState forced_redraw_state_; | 274 ForcedRedrawOnTimeoutState forced_redraw_state_; |
| 274 SynchronousReadbackState readback_state_; | 275 SynchronousReadbackState readback_state_; |
| 275 | 276 |
| 276 BeginFrameArgs last_begin_impl_frame_args_; | 277 BeginFrameArgs last_begin_impl_frame_args_; |
| 277 | 278 |
| 278 int commit_count_; | 279 int commit_count_; |
| 279 int current_frame_number_; | 280 int current_frame_number_; |
| 280 int last_frame_number_swap_performed_; | 281 int last_frame_number_swap_performed_; |
| 281 int last_frame_number_begin_main_frame_sent_; | 282 int last_frame_number_begin_main_frame_sent_; |
| 282 int last_frame_number_update_visible_tiles_was_called_; | 283 int last_frame_number_update_visible_tiles_was_called_; |
| 283 int last_frame_number_manage_tiles_called_; | |
| 284 | 284 |
| 285 // manage_tiles_funnel_ is "filled" each time ManageTiles is called |
| 286 // and "drained" on each BeginImplFrame. If the funnel gets too full, |
| 287 // we start throttling ACTION_MANAGE_TILES such that we average one |
| 288 // ManageTile per BeginImplFrame. |
| 289 int manage_tiles_funnel_; |
| 285 int consecutive_failed_draws_; | 290 int consecutive_failed_draws_; |
| 286 bool needs_redraw_; | 291 bool needs_redraw_; |
| 287 bool needs_manage_tiles_; | 292 bool needs_manage_tiles_; |
| 288 bool swap_used_incomplete_tile_; | 293 bool swap_used_incomplete_tile_; |
| 289 bool needs_commit_; | 294 bool needs_commit_; |
| 290 bool main_thread_needs_layer_textures_; | 295 bool main_thread_needs_layer_textures_; |
| 291 bool inside_poll_for_anticipated_draw_triggers_; | 296 bool inside_poll_for_anticipated_draw_triggers_; |
| 292 bool visible_; | 297 bool visible_; |
| 293 bool can_start_; | 298 bool can_start_; |
| 294 bool can_draw_; | 299 bool can_draw_; |
| 295 bool has_pending_tree_; | 300 bool has_pending_tree_; |
| 296 bool pending_tree_is_ready_for_activation_; | 301 bool pending_tree_is_ready_for_activation_; |
| 297 bool active_tree_needs_first_draw_; | 302 bool active_tree_needs_first_draw_; |
| 298 bool draw_if_possible_failed_; | 303 bool draw_if_possible_failed_; |
| 299 bool did_create_and_initialize_first_output_surface_; | 304 bool did_create_and_initialize_first_output_surface_; |
| 300 bool smoothness_takes_priority_; | 305 bool smoothness_takes_priority_; |
| 301 bool skip_begin_main_frame_to_reduce_latency_; | 306 bool skip_begin_main_frame_to_reduce_latency_; |
| 302 | 307 |
| 303 private: | 308 private: |
| 304 DISALLOW_COPY_AND_ASSIGN(SchedulerStateMachine); | 309 DISALLOW_COPY_AND_ASSIGN(SchedulerStateMachine); |
| 305 }; | 310 }; |
| 306 | 311 |
| 307 } // namespace cc | 312 } // namespace cc |
| 308 | 313 |
| 309 #endif // CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ | 314 #endif // CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ |
| OLD | NEW |