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

Unified Diff: ui/compositor/compositor.cc

Issue 12212007: cc: Route offscreen context creation for compositor to the browser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add cc::GaneshResourceProvider Created 7 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: ui/compositor/compositor.cc
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
index 9e7c4d54496ee96db23b3253c0519a9e2c6d90a8..88734552804c989d120b5016945f8e7296b2f658 100644
--- a/ui/compositor/compositor.cc
+++ b/ui/compositor/compositor.cc
@@ -134,7 +134,9 @@ void ContextFactory::SetInstance(ContextFactory* instance) {
g_context_factory = instance;
}
-DefaultContextFactory::DefaultContextFactory() {
+DefaultContextFactory::DefaultContextFactory()
+ : main_thread_offscreen_context_(this, this),
+ compositor_thread_offscreen_context_(this, this) {
}
DefaultContextFactory::~DefaultContextFactory() {
@@ -163,6 +165,26 @@ WebKit::WebGraphicsContext3D* DefaultContextFactory::CreateOffscreenContext() {
return CreateContextCommon(NULL, true);
}
+WebKit::WebGraphicsContext3D* DefaultContextFactory::
+ OffscreenContextForMainThread() {
+ return main_thread_offscreen_context_.Context3d();
+}
+
+WebKit::WebGraphicsContext3D* DefaultContextFactory::
+ OffscreenContextForCompositorThread() {
+ return compositor_thread_offscreen_context_.Context3d();
+}
+
+GrContext* DefaultContextFactory::
+ OffscreenGrContextForMainThread() {
+ return main_thread_offscreen_context_.GrContext();
+}
+
+GrContext* DefaultContextFactory::
+ OffscreenGrContextForCompositorThread() {
+ return compositor_thread_offscreen_context_.GrContext();
+}
+
void DefaultContextFactory::RemoveCompositor(Compositor* compositor) {
}
@@ -521,6 +543,28 @@ scoped_ptr<cc::OutputSurface> Compositor::createOutputSurface() {
void Compositor::didRecreateOutputSurface(bool success) {
}
+WebKit::WebGraphicsContext3D*
+ Compositor::offscreenContext3dForMainThread() {
+ return ContextFactory::GetInstance()->
+ OffscreenContextForMainThread();
+}
+
+WebKit::WebGraphicsContext3D*
+ Compositor::offscreenContext3dForCompositorThread() {
+ return ContextFactory::GetInstance()->
+ OffscreenContextForCompositorThread();
+}
+
+GrContext* Compositor::offscreenGrContextForMainThread() {
+ return ContextFactory::GetInstance()->
+ OffscreenGrContextForMainThread();
+}
+
+GrContext* Compositor::offscreenGrContextForCompositorThread() {
+ return ContextFactory::GetInstance()->
+ OffscreenGrContextForCompositorThread();
+}
+
scoped_ptr<cc::InputHandler> Compositor::createInputHandler() {
return scoped_ptr<cc::InputHandler>();
}

Powered by Google App Engine
This is Rietveld 408576698