summaryrefslogtreecommitdiffstats
path: root/content/renderer/gpu/renderer_gl_context.cc
diff options
context:
space:
mode:
authorapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-27 01:01:04 +0000
committerapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-27 01:01:04 +0000
commit25d478179a5d334f1c691948e0c13990a88dfbf3 (patch)
tree824210b4fb043d47b8ba5faa852da1612fcb30c1 /content/renderer/gpu/renderer_gl_context.cc
parent583844c2df50f0f2188aab7eed3fbcc40e499511 (diff)
downloadchromium_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.cc18
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;
}