X11: Don't create a window and GL context to look up the glX extension string.
authorRyan C. Gordon <icculus@icculus.org>
Tue, 17 Feb 2015 23:00:46 -0500
changeset 9355 0d1e81f10b7e
parent 9354 5709598d628a
child 9356 e87d6e1e812a
X11: Don't create a window and GL context to look up the glX extension string. It's not necessary.
src/video/x11/SDL_x11opengl.c
--- a/src/video/x11/SDL_x11opengl.c	Tue Feb 17 22:59:56 2015 -0500
+++ b/src/video/x11/SDL_x11opengl.c	Tue Feb 17 23:00:46 2015 -0500
@@ -312,32 +312,10 @@
 X11_GL_InitExtensions(_THIS)
 {
     Display *display = ((SDL_VideoData *) _this->driverdata)->display;
-    int screen = DefaultScreen(display);
-    XVisualInfo *vinfo;
-    XSetWindowAttributes xattr;
-    Window w;
-    GLXContext context;
+    const int screen = DefaultScreen(display);
     const char *(*glXQueryExtensionsStringFunc) (Display *, int);
     const char *extensions;
 
-    vinfo = X11_GL_GetVisual(_this, display, screen);
-    if (!vinfo) {
-        return;
-    }
-    xattr.background_pixel = 0;
-    xattr.border_pixel = 0;
-    xattr.colormap =
-        X11_XCreateColormap(display, RootWindow(display, screen), vinfo->visual,
-                        AllocNone);
-    w = X11_XCreateWindow(display, RootWindow(display, screen), 0, 0, 32, 32, 0,
-                      vinfo->depth, InputOutput, vinfo->visual,
-                      (CWBackPixel | CWBorderPixel | CWColormap), &xattr);
-    context = _this->gl_data->glXCreateContext(display, vinfo, NULL, True);
-    if (context) {
-        _this->gl_data->glXMakeCurrent(display, w, context);
-    }
-    X11_XFree(vinfo);
-
     glXQueryExtensionsStringFunc =
         (const char *(*)(Display *, int)) X11_GL_GetProcAddress(_this,
                                                                 "glXQueryExtensionsString");
@@ -397,13 +375,6 @@
     if (HasExtension("GLX_EXT_create_context_es2_profile", extensions)) {
         _this->gl_data->HAS_GLX_EXT_create_context_es2_profile = SDL_TRUE;
     }
-
-    if (context) {
-        _this->gl_data->glXMakeCurrent(display, None, NULL);
-        _this->gl_data->glXDestroyContext(display, context);
-    }
-    X11_XDestroyWindow(display, w);
-    X11_PumpEvents(_this);
 }
 
 /* glXChooseVisual and glXChooseFBConfig have some small differences in