| Index: cc/scheduler/scheduler_state_machine.h
|
| diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h
|
| index cc48257e62fd3692c85f0d5dcf6411590198b281..6fd16d5d56d24110f597c433a5618ccee789e32e 100644
|
| --- a/cc/scheduler/scheduler_state_machine.h
|
| +++ b/cc/scheduler/scheduler_state_machine.h
|
| @@ -87,6 +87,7 @@ class CC_EXPORT SchedulerStateMachine {
|
| }
|
|
|
| bool RedrawPending() const { return needs_redraw_; }
|
| + bool ManageTilesPending() const { return needs_manage_tiles_; }
|
|
|
| enum Action {
|
| ACTION_NONE,
|
| @@ -100,6 +101,7 @@ class CC_EXPORT SchedulerStateMachine {
|
| ACTION_DRAW_AND_READBACK,
|
| ACTION_BEGIN_OUTPUT_SURFACE_CREATION,
|
| ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREAD,
|
| + ACTION_MANAGE_TILES,
|
| };
|
| static const char* ActionToString(Action action);
|
|
|
| @@ -133,6 +135,10 @@ class CC_EXPORT SchedulerStateMachine {
|
| // or the screen being damaged and simply needing redisplay.
|
| void SetNeedsRedraw();
|
|
|
| + // Indicates that manage-tiles is required. This guarantees another
|
| + // ManageTiles will occur shortly (even if no redraw is required).
|
| + void SetNeedsManageTiles();
|
| +
|
| // Indicates whether a redraw is required because we are currently rendering
|
| // with a low resolution or checkerboarded tile.
|
| void SetSwapUsedIncompleteTile(bool used_incomplete_tile);
|
| @@ -202,15 +208,18 @@ class CC_EXPORT SchedulerStateMachine {
|
| bool ShouldUpdateVisibleTiles() const;
|
| bool ShouldSendBeginFrameToMainThread() const;
|
| bool ShouldCommit() const;
|
| + bool ShouldManageTiles() const;
|
|
|
| bool HasDrawnAndSwappedThisFrame() const;
|
| bool HasActivatedPendingTreeThisFrame() const;
|
| bool HasUpdatedVisibleTilesThisFrame() const;
|
| bool HasSentBeginFrameToMainThreadThisFrame() const;
|
| + bool HasScheduledManageTilesThisFrame() const;
|
|
|
| void UpdateStateOnCommit(bool commit_was_aborted);
|
| void UpdateStateOnActivation();
|
| void UpdateStateOnDraw(bool did_swap);
|
| + void UpdateStateOnManageTiles();
|
|
|
| const SchedulerSettings settings_;
|
|
|
| @@ -225,8 +234,10 @@ class CC_EXPORT SchedulerStateMachine {
|
| int last_frame_number_where_begin_frame_sent_to_main_thread_;
|
| int last_frame_number_swap_performed_;
|
| int last_frame_number_where_update_visible_tiles_was_called_;
|
| + int last_frame_number_where_manage_tiles_was_called_;
|
| int consecutive_failed_draws_;
|
| bool needs_redraw_;
|
| + bool needs_manage_tiles_;
|
| bool swap_used_incomplete_tile_;
|
| bool needs_commit_;
|
| bool main_thread_needs_layer_textures_;
|
|
|