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

Unified Diff: cc/trees/thread_proxy.h

Issue 151093005: cc: Update Main RendererCapabilities on DeferredInitialize (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Release Mailbox if UsingSharedMemoryResources changed in TextureLayer::Update Created 6 years, 10 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 2fb1263882eacb248c20bc5730236ba5f6a54b61..ee12ce459e6faa750da07ab64c047934e6bd60d0 100644
--- a/cc/trees/thread_proxy.h
+++ b/cc/trees/thread_proxy.h
@@ -71,6 +71,7 @@ class ThreadProxy : public Proxy,
virtual scoped_ptr<base::Value> SchedulerStateAsValueForTesting() OVERRIDE;
// LayerTreeHostImplClient implementation
+ virtual void UpdateRendererCapabilitiesOnImplThread() OVERRIDE;
virtual void DidLoseOutputSurfaceOnImplThread() OVERRIDE;
virtual void DidSwapBuffersOnImplThread() OVERRIDE {}
virtual void OnSwapBuffersCompleteOnImplThread() OVERRIDE;
@@ -139,6 +140,8 @@ class ThreadProxy : public Proxy,
};
// Called on main thread.
+ void SetRendererCapabilitiesMainThreadCopy(
+ const RendererCapabilities& capabilities);
void BeginMainFrame(
scoped_ptr<BeginMainFrameAndCommitState> begin_main_frame_state);
void DidCommitAndDrawFrame();
@@ -163,7 +166,8 @@ class ThreadProxy : public Proxy,
void StartCommitOnImplThread(
CompletionEvent* completion,
ResourceUpdateQueue* queue,
- scoped_refptr<ContextProvider> offscreen_context_provider);
+ scoped_refptr<ContextProvider> offscreen_context_provider,
+ const RendererCapabilities& main_frame_renderer_caps);
void BeginMainFrameAbortedOnImplThread(bool did_handle);
void RequestReadbackOnImplThread(ReadbackRequest* request);
void FinishAllRenderingOnImplThread(CompletionEvent* completion);
@@ -275,6 +279,10 @@ class ThreadProxy : public Proxy,
// Set when the main thread is waiting on a commit to complete.
CompletionEvent* commit_completion_event;
+ // The main renderer capabilities used for this commit. used to check
+ // for renderer capability staleness.
+ RendererCapabilities renderer_capabilities_for_commit;
+
// Set when the main thread is waiting on a pending tree activation.
CompletionEvent* completion_event_for_commit_held_on_tree_activation;

Powered by Google App Engine
This is Rietveld 408576698