diff options
author | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-27 01:01:04 +0000 |
---|---|---|
committer | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-27 01:01:04 +0000 |
commit | 25d478179a5d334f1c691948e0c13990a88dfbf3 (patch) | |
tree | 824210b4fb043d47b8ba5faa852da1612fcb30c1 /content/renderer/gpu/renderer_gl_context.cc | |
parent | 583844c2df50f0f2188aab7eed3fbcc40e499511 (diff) | |
download | chromium_src-25d478179a5d334f1c691948e0c13990a88dfbf3.zip chromium_src-25d478179a5d334f1c691948e0c13990a88dfbf3.tar.gz chromium_src-25d478179a5d334f1c691948e0c13990a88dfbf3.tar.bz2 |
Use 3D graphics context shareResources flag to decide whether a context should share resources.
Before, it abused the noExtensions flag to determine to disable share groups for WebGL, which was awful.
This patch is dependent on https://bugs.webkit.org/show_bug.cgi?id=66516.
See also http://codereview.chromium.org/7669072 where I perpetrated the aforementioned hack.
BUG=92356
Review URL: http://codereview.chromium.org/7669072
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98527 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/gpu/renderer_gl_context.cc')
-rw-r--r-- | content/renderer/gpu/renderer_gl_context.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/content/renderer/gpu/renderer_gl_context.cc b/content/renderer/gpu/renderer_gl_context.cc index 53baa9b..b9cea16 100644 --- a/content/renderer/gpu/renderer_gl_context.cc +++ b/content/renderer/gpu/renderer_gl_context.cc @@ -82,7 +82,6 @@ RendererGLContext::~RendererGLContext() { RendererGLContext* RendererGLContext::CreateViewContext( GpuChannelHost* channel, int render_view_id, - bool share_resources, RendererGLContext* share_group, const char* allowed_extensions, const int32* attrib_list, @@ -93,8 +92,6 @@ RendererGLContext* RendererGLContext::CreateViewContext( true, render_view_id, gfx::Size(), - share_resources, - false, share_group, allowed_extensions, attrib_list, @@ -110,7 +107,6 @@ RendererGLContext* RendererGLContext::CreateViewContext( RendererGLContext* RendererGLContext::CreateOffscreenContext( GpuChannelHost* channel, const gfx::Size& size, - bool share_resources, RendererGLContext* share_group, const char* allowed_extensions, const int32* attrib_list, @@ -121,8 +117,6 @@ RendererGLContext* RendererGLContext::CreateOffscreenContext( false, 0, size, - share_resources, - false, share_group, allowed_extensions, attrib_list, @@ -291,8 +285,6 @@ RendererGLContext::RendererGLContext(GpuChannelHost* channel) bool RendererGLContext::Initialize(bool onscreen, int render_view_id, const gfx::Size& size, - bool share_resources, - bool bind_generates_resource, RendererGLContext* share_group, const char* allowed_extensions, const int32* attrib_list, @@ -307,6 +299,8 @@ bool RendererGLContext::Initialize(bool onscreen, // Ensure the gles2 library is initialized first in a thread safe way. g_gles2_initializer.Get(); + bool share_resources = true; + bool bind_generates_resources = true; std::vector<int32> attribs; while (attrib_list) { int32 attrib = *attrib_list++; @@ -323,6 +317,12 @@ bool RendererGLContext::Initialize(bool onscreen, attribs.push_back(attrib); attribs.push_back(*attrib_list++); break; + case SHARE_RESOURCES: + share_resources = !!(*attrib_list++); + break; + case BIND_GENERATES_RESOURCES: + bind_generates_resources = !!(*attrib_list++); + break; case NONE: attribs.push_back(attrib); attrib_list = NULL; @@ -408,7 +408,7 @@ bool RendererGLContext::Initialize(bool onscreen, transfer_buffer.ptr, transfer_buffer_id_, share_resources, - bind_generates_resource); + bind_generates_resources); return true; } |