summaryrefslogtreecommitdiffstats
path: root/content/browser/aura
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-22 04:05:54 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-22 04:05:54 +0000
commit6ffaaf31e6ed0ba9328d7d01f2ce559047c742ec (patch)
tree1a60d4e6b1964ae6bf1699b92ad340a73a6b42e2 /content/browser/aura
parentb255a8e0e881d0b610743905fda9ac1b894c00cf (diff)
downloadchromium_src-6ffaaf31e6ed0ba9328d7d01f2ce559047c742ec.zip
chromium_src-6ffaaf31e6ed0ba9328d7d01f2ce559047c742ec.tar.gz
chromium_src-6ffaaf31e6ed0ba9328d7d01f2ce559047c742ec.tar.bz2
Expose Signal(Query|SyncPoint) via gpu::ContextSupport* instead of WGC3D
This exposes calls to register queries and sync points with callbacks by a new gpu::ContextSupport interface intended to be used directly by clients who need this functionality like the compositor instead of having to go through WebKit::WebGraphicsContext3D. These calls aren't 'proper' OpenGL as OpenGL doesn't have any notion of callbacks, but are still useful with our OpenGL implementation. This also unifies the multiple implementations of these functions a bit. In particular, now both the in-process and out-of-process contexts check if the context is lost before dispatching SyncPoint/Query callbacks. Previously only the in-process implementation did this. R=piman,sievers BUG=181120 Review URL: https://codereview.chromium.org/26164003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230043 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/aura')
-rw-r--r--content/browser/aura/gpu_process_transport_factory.cc3
-rw-r--r--content/browser/aura/no_transport_image_transport_factory.cc3
-rw-r--r--content/browser/aura/reflector_impl.cc3
3 files changed, 6 insertions, 3 deletions
diff --git a/content/browser/aura/gpu_process_transport_factory.cc b/content/browser/aura/gpu_process_transport_factory.cc
index 3c78bbd..649dd28 100644
--- a/content/browser/aura/gpu_process_transport_factory.cc
+++ b/content/browser/aura/gpu_process_transport_factory.cc
@@ -363,7 +363,8 @@ GLHelper* GpuProcessTransportFactory::GetGLHelper() {
scoped_refptr<cc::ContextProvider> provider =
SharedMainThreadContextProvider();
if (provider.get())
- gl_helper_.reset(new GLHelper(provider->Context3d()));
+ gl_helper_.reset(new GLHelper(provider->Context3d(),
+ provider->ContextSupport()));
}
return gl_helper_.get();
}
diff --git a/content/browser/aura/no_transport_image_transport_factory.cc b/content/browser/aura/no_transport_image_transport_factory.cc
index c9b8612..496362a 100644
--- a/content/browser/aura/no_transport_image_transport_factory.cc
+++ b/content/browser/aura/no_transport_image_transport_factory.cc
@@ -78,7 +78,8 @@ scoped_refptr<ui::Texture> NoTransportImageTransportFactory::CreateOwnedTexture(
GLHelper* NoTransportImageTransportFactory::GetGLHelper() {
if (!gl_helper_) {
context_provider_ = context_factory_->SharedMainThreadContextProvider();
- gl_helper_.reset(new GLHelper(context_provider_->Context3d()));
+ gl_helper_.reset(new GLHelper(context_provider_->Context3d(),
+ context_provider_->ContextSupport()));
}
return gl_helper_.get();
}
diff --git a/content/browser/aura/reflector_impl.cc b/content/browser/aura/reflector_impl.cc
index e4424fc..08f7b0d 100644
--- a/content/browser/aura/reflector_impl.cc
+++ b/content/browser/aura/reflector_impl.cc
@@ -88,7 +88,8 @@ void ReflectorImpl::ShutdownOnImplThread() {
void ReflectorImpl::AttachToOutputSurface(
BrowserCompositorOutputSurface* output_surface) {
gl_helper_.reset(
- new GLHelper(output_surface->context_provider()->Context3d()));
+ new GLHelper(output_surface->context_provider()->Context3d(),
+ output_surface->context_provider()->ContextSupport()));
output_surface->SetReflector(this);
}