summaryrefslogtreecommitdiffstats
path: root/ui/gfx/surface
diff options
context:
space:
mode:
authorapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-16 20:54:53 +0000
committerapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-16 20:54:53 +0000
commit7196e011d46f597b406e43a1978fa9d846e747c4 (patch)
treeb13701827207e5a223c9a916bdd90d6ca892e6d8 /ui/gfx/surface
parentc59aa47960369c63ac773d5cf4b2d1052d4a69c3 (diff)
downloadchromium_src-7196e011d46f597b406e43a1978fa9d846e747c4.zip
chromium_src-7196e011d46f597b406e43a1978fa9d846e747c4.tar.gz
chromium_src-7196e011d46f597b406e43a1978fa9d846e747c4.tar.bz2
Automatically put all GL contexts associated with a particular GPU channel (and renderer process) in the same share group.
This is work towards allowing offscreen canvas contexts to be allocated before compositor view contexts are created. This is a problem because a canvas might be created before the window it will be displayed in exists. This does not fix the bug on its own. BUG=80703 Review URL: http://codereview.chromium.org/7104148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89395 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/surface')
-rw-r--r--ui/gfx/surface/accelerated_surface_mac.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/ui/gfx/surface/accelerated_surface_mac.cc b/ui/gfx/surface/accelerated_surface_mac.cc
index ce2f7a0..123e907 100644
--- a/ui/gfx/surface/accelerated_surface_mac.cc
+++ b/ui/gfx/surface/accelerated_surface_mac.cc
@@ -7,6 +7,7 @@
#include "base/logging.h"
#include "base/mac/scoped_cftyperef.h"
#include "ui/gfx/gl/gl_bindings.h"
+#include "ui/gfx/gl/gl_context.h"
#include "ui/gfx/gl/gl_implementation.h"
#include "ui/gfx/gl/gl_surface.h"
#include "ui/gfx/rect.h"
@@ -41,7 +42,10 @@ bool AcceleratedSurface::Initialize(gfx::GLContext* share_context,
return false;
}
- gl_context_ = gfx::GLContext::CreateGLContext(share_context,
+ gfx::GLShareGroup* share_group =
+ share_context ? share_context->share_group() : NULL;
+
+ gl_context_ = gfx::GLContext::CreateGLContext(share_group,
gl_surface_.get());
if (!gl_context_.get()) {
Destroy();