summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chromium/ui/gl/gl_context_egl.cc3
-rw-r--r--chromium/ui/gl/gl_context_glx.cc3
2 files changed, 4 insertions, 2 deletions
diff --git a/chromium/ui/gl/gl_context_egl.cc b/chromium/ui/gl/gl_context_egl.cc
index cd6b534d403..1793d045bd8 100644
--- a/chromium/ui/gl/gl_context_egl.cc
+++ b/chromium/ui/gl/gl_context_egl.cc
@@ -52,7 +52,8 @@ bool GLContextEGL::Initialize(
config_ = compatible_surface->GetConfig();
const EGLint* context_attributes = NULL;
- if (GLSurfaceEGL::IsCreateContextRobustnessSupported()) {
+ if (GLSurfaceEGL::IsCreateContextRobustnessSupported()
+ && (!share_group()->GetContext() || share_group()->GetContext()->WasAllocatedUsingRobustnessExtension())) {
DVLOG(1) << "EGL_EXT_create_context_robustness supported.";
context_attributes = kContextRobustnessAttributes;
} else {
diff --git a/chromium/ui/gl/gl_context_glx.cc b/chromium/ui/gl/gl_context_glx.cc
index 407d60048f4..7b8277caac1 100644
--- a/chromium/ui/gl/gl_context_glx.cc
+++ b/chromium/ui/gl/gl_context_glx.cc
@@ -53,7 +53,8 @@ bool GLContextGLX::Initialize(
if (GLSurfaceGLX::IsCreateContextSupported()) {
DVLOG(1) << "GLX_ARB_create_context supported.";
std::vector<int> attribs;
- if (GLSurfaceGLX::IsCreateContextRobustnessSupported()) {
+ if (GLSurfaceGLX::IsCreateContextRobustnessSupported()
+ && (!share_group()->GetContext() || share_group()->GetContext()->WasAllocatedUsingRobustnessExtension())) {
DVLOG(1) << "GLX_ARB_create_context_robustness supported.";
attribs.push_back(GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB);
attribs.push_back(GLX_LOSE_CONTEXT_ON_RESET_ARB);