Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(295)

Unified Diff: cc/trees/thread_proxy.h

Issue 16871016: cc: Use BeginFrameArgs (Closed) Base URL: http://git.chromium.org/chromium/src.git@bfargs2
Patch Set: Add an --enable-deadline-scheduler commandline flag. Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/trees/thread_proxy.h
diff --git a/cc/trees/thread_proxy.h b/cc/trees/thread_proxy.h
index 1f5f29eec6c28c6b4071c0a5d6885cd9ff2d2cfe..bba9716489da495b0635070dfad75a2d955b2e8d 100644
--- a/cc/trees/thread_proxy.h
+++ b/cc/trees/thread_proxy.h
@@ -72,7 +72,9 @@ class ThreadProxy : public Proxy,
virtual void DidLoseOutputSurfaceOnImplThread() OVERRIDE;
virtual void OnSwapBuffersCompleteOnImplThread() OVERRIDE;
virtual void BeginFrameOnImplThread(const BeginFrameArgs& args) OVERRIDE;
+ virtual void DidBeginFrameDeadlineOnImplThread() OVERRIDE;
virtual void OnCanDrawStateChanged(bool can_draw) OVERRIDE;
+ virtual void NotifyReadyToActivate() OVERRIDE;
virtual void OnHasPendingTreeStateChanged(bool has_pending_tree) OVERRIDE;
virtual void SetNeedsRedrawOnImplThread() OVERRIDE;
virtual void SetNeedsRedrawRectOnImplThread(gfx::Rect dirty_rect) OVERRIDE;
@@ -95,19 +97,21 @@ class ThreadProxy : public Proxy,
// SchedulerClient implementation
virtual void SetNeedsBeginFrameOnImplThread(bool enable) OVERRIDE;
virtual void ScheduledActionSendBeginFrameToMainThread() OVERRIDE;
- virtual ScheduledActionDrawAndSwapResult
- ScheduledActionDrawAndSwapIfPossible() OVERRIDE;
- virtual ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapForced()
+ virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapIfPossible()
OVERRIDE;
+ virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() OVERRIDE;
+ virtual DrawSwapReadbackResult ScheduledActionDrawAndReadback() OVERRIDE;
virtual void ScheduledActionCommit() OVERRIDE;
virtual void ScheduledActionUpdateVisibleTiles() OVERRIDE;
- virtual void ScheduledActionActivatePendingTreeIfNeeded() OVERRIDE;
+ virtual void ScheduledActionActivatePendingTree() OVERRIDE;
virtual void ScheduledActionBeginOutputSurfaceCreation() OVERRIDE;
virtual void ScheduledActionAcquireLayerTexturesForMainThread() OVERRIDE;
virtual void DidAnticipatedDrawTimeChange(base::TimeTicks time) OVERRIDE;
virtual base::TimeDelta DrawDurationEstimate() OVERRIDE;
virtual base::TimeDelta BeginFrameToCommitDurationEstimate() OVERRIDE;
virtual base::TimeDelta CommitToActivateDurationEstimate() OVERRIDE;
+ virtual void PostBeginFrameDeadline(const base::Closure& closure,
+ base::TimeTicks deadline) OVERRIDE;
// ResourceUpdateControllerClient implementation
virtual void ReadyToFinalizeTextureUpdates() OVERRIDE;
@@ -144,13 +148,13 @@ class ThreadProxy : public Proxy,
struct CommitPendingRequest;
struct SchedulerStateRequest;
- void ForceCommitOnImplThread(CompletionEvent* completion);
+ void ForceCommitForReadbackOnImplThread(CompletionEvent* completion,
+ ReadbackRequest* request);
void StartCommitOnImplThread(
CompletionEvent* completion,
ResourceUpdateQueue* queue,
scoped_refptr<cc::ContextProvider> offscreen_context_provider);
void BeginFrameAbortedByMainThreadOnImplThread(bool did_handle);
- void RequestReadbackOnImplThread(ReadbackRequest* request);
void FinishAllRenderingOnImplThread(CompletionEvent* completion);
void InitializeImplOnImplThread(CompletionEvent* completion);
void SetLayerTreeHostClientReadyOnImplThread();
@@ -168,8 +172,10 @@ class ThreadProxy : public Proxy,
void LayerTreeHostClosedOnImplThread(CompletionEvent* completion);
void AcquireLayerTexturesForMainThreadOnImplThread(
CompletionEvent* completion);
- ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapInternal(
- bool forced_draw);
+ DrawSwapReadbackResult ScheduledActionDrawSwapReadbackInternal(
+ bool forced_draw,
+ bool swap_requested,
+ bool readback_requested);
void ForceSerializeOnSwapBuffersOnImplThread(CompletionEvent* completion);
void CheckOutputSurfaceStatusOnImplThread();
void CommitPendingOnImplThreadForTesting(CommitPendingRequest* request);
@@ -214,6 +220,7 @@ class ThreadProxy : public Proxy,
scoped_ptr<LayerTreeHostImpl> layer_tree_host_impl_;
scoped_ptr<Scheduler> scheduler_on_impl_thread_;
+ bool frame_did_draw_;
// Set when the main thread is waiting on a
// ScheduledActionSendBeginFrameToMainThread to be issued.

Powered by Google App Engine
This is Rietveld 408576698