| Index: cc/scheduler/scheduler.h
|
| diff --git a/cc/scheduler/scheduler.h b/cc/scheduler/scheduler.h
|
| index 9932079676012b803652876aafabef62aece3757..c573af7ed71749a5b090327146feef8f9f731a38 100644
|
| --- a/cc/scheduler/scheduler.h
|
| +++ b/cc/scheduler/scheduler.h
|
| @@ -20,25 +20,23 @@ namespace cc {
|
|
|
| class Thread;
|
|
|
| -struct ScheduledActionDrawAndSwapResult {
|
| - ScheduledActionDrawAndSwapResult()
|
| - : did_draw(false),
|
| - did_swap(false) {}
|
| - ScheduledActionDrawAndSwapResult(bool did_draw, bool did_swap)
|
| - : did_draw(did_draw),
|
| - did_swap(did_swap) {}
|
| +struct DrawSwapReadbackResult {
|
| + DrawSwapReadbackResult()
|
| + : did_draw(false), did_swap(false), did_readback(false) {}
|
| + DrawSwapReadbackResult(bool did_draw, bool did_swap, bool did_readback)
|
| + : did_draw(did_draw), did_swap(did_swap), did_readback(did_readback) {}
|
| bool did_draw;
|
| bool did_swap;
|
| + bool did_readback;
|
| };
|
|
|
| class SchedulerClient {
|
| public:
|
| virtual void SetNeedsBeginFrameOnImplThread(bool enable) = 0;
|
| virtual void ScheduledActionSendBeginFrameToMainThread() = 0;
|
| - virtual ScheduledActionDrawAndSwapResult
|
| - ScheduledActionDrawAndSwapIfPossible() = 0;
|
| - virtual ScheduledActionDrawAndSwapResult
|
| - ScheduledActionDrawAndSwapForced() = 0;
|
| + virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapIfPossible() = 0;
|
| + virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() = 0;
|
| + virtual DrawSwapReadbackResult ScheduledActionDrawAndReadback() = 0;
|
| virtual void ScheduledActionCommit() = 0;
|
| virtual void ScheduledActionUpdateVisibleTiles() = 0;
|
| virtual void ScheduledActionActivatePendingTree() = 0;
|
| @@ -72,17 +70,13 @@ class CC_EXPORT Scheduler {
|
| void SetNeedsCommit();
|
|
|
| // Like SetNeedsCommit(), but ensures a commit will definitely happen even if
|
| - // we are not visible.
|
| - void SetNeedsForcedCommit();
|
| + // we are not visible. Will eventually result in a forced draw internally.
|
| + void SetNeedsForcedCommitForReadback();
|
|
|
| void SetNeedsRedraw();
|
|
|
| void SetMainThreadNeedsLayerTextures();
|
|
|
| - // Like SetNeedsRedraw(), but ensures the draw will definitely happen even if
|
| - // we are not visible.
|
| - void SetNeedsForcedRedraw();
|
| -
|
| void DidSwapUseIncompleteTile();
|
|
|
| void FinishCommit();
|
| @@ -116,6 +110,7 @@ class CC_EXPORT Scheduler {
|
| void SetupNextBeginFrameIfNeeded();
|
| void DrawAndSwapIfPossible();
|
| void DrawAndSwapForced();
|
| + void DrawAndReadback();
|
| void ProcessScheduledActions();
|
|
|
| const SchedulerSettings settings_;
|
|
|