Index: tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp |
diff --git a/tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp b/tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp |
index 7429bed630b3adb47c59e9164690421a18c6d88b..a3069dc0285f4ea377857ef55f56fb4d8ef28aa6 100644 |
--- a/tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp |
+++ b/tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp |
@@ -184,8 +184,8 @@ GLXGLTestContext::GLXGLTestContext(GrGLStandard forcedGpuAPI, GLXGLTestContext* |
if (gluCheckExtension( |
reinterpret_cast<const GLubyte*>("GLX_EXT_create_context_es2_profile"), |
reinterpret_cast<const GLubyte*>(glxExts))) { |
- static const int context_attribs_gles[] = { |
- GLX_CONTEXT_MAJOR_VERSION_ARB, 3, |
+ const int context_attribs_gles[] = { |
+ GLX_CONTEXT_MAJOR_VERSION_ARB, 2, |
GLX_CONTEXT_MINOR_VERSION_ARB, 0, |
GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_ES2_PROFILE_BIT_EXT, |
None |
@@ -198,14 +198,17 @@ GLXGLTestContext::GLXGLTestContext(GrGLStandard forcedGpuAPI, GLXGLTestContext* |
// to do this nastiness |
for (i = NUM_GL_VERSIONS - 2; i > 0 ; i--) { |
/* don't bother below GL 3.0 */ |
- if (gl_versions[i].major == 3 && gl_versions[i].minor == 0) { |
+ if (gl_versions[i].major < 3) { |
break; |
} |
// On Nvidia GPUs, to use Nv Path rendering we need a compatibility profile for the |
// time being. |
// TODO when Nvidia implements NVPR on Core profiles, we should start requesting |
// core here |
- static const int context_attribs_gl[] = { |
+ // Warning: This array should not be set to static. The |
+ // glXCreateContextAttribsARB call writes to it upon failure and |
+ // the next call would fail too. |
+ const int context_attribs_gl[] = { |
GLX_CONTEXT_MAJOR_VERSION_ARB, gl_versions[i].major, |
GLX_CONTEXT_MINOR_VERSION_ARB, gl_versions[i].minor, |
GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB, |
@@ -231,7 +234,7 @@ GLXGLTestContext::GLXGLTestContext(GrGLStandard forcedGpuAPI, GLXGLTestContext* |
// implementations will return the newest context version |
// compatible with OpenGL versions less than version 3.0. |
if (ctxErrorOccurred || !fContext) { |
- static const int context_attribs_gl_fallback[] = { |
+ const int context_attribs_gl_fallback[] = { |
GLX_CONTEXT_MAJOR_VERSION_ARB, 1, |
GLX_CONTEXT_MINOR_VERSION_ARB, 0, |
None |