print the GL version in use
[gltest.git] / glxbackend.cpp
index ff126eb25ed7fdf5889b357b06aa5ab5291633c6..b2383826b66c257090493d5c530f09f27b2aa6c9 100644 (file)
@@ -1,19 +1,41 @@
+/* gltest - small OpenGL tearing test program
+ * Copyright (C) 2012-2013 Ralf Jung <post@ralfj.de>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
 #include "glxbackend.h"
 
 #include <stdio.h>
 #include <assert.h>
+#include <stdlib.h>
 #include <GL/glxext.h>
 #include <string>
 
-/* attributes for a double buffered visual in RGBA format with at least
-* 4 bits per color */                       
+#if !defined(CON_GL1)
+#error "Valid GL contexts for GLX are: GL1"
+#endif
+
+// attributes for a double buffered visual in RGBA format with at least 4 bits per color
 static int attrList[] =                                             
-{                                                                      
+{
        GLX_RGBA, GLX_DOUBLEBUFFER,
-       GLX_RED_SIZE, 4,                                                   
-       GLX_GREEN_SIZE, 4,                                                 
+       GLX_RED_SIZE, 4,
+       GLX_GREEN_SIZE, 4,
        GLX_BLUE_SIZE, 4,
-       None                                                               
+       None
 };
 
 VisualID GLXBackend::initialize(Display *display)
@@ -23,7 +45,7 @@ VisualID GLXBackend::initialize(Display *display)
                // debugging: show version information
                int glxMajor, glxMinor;
                glXQueryVersion(display, &glxMajor, &glxMinor);
-               printf("Using GLX version %d.%d\n", glxMajor, glxMinor);
+               printf("Using GLX version: %d.%d\n", glxMajor, glxMinor);
                // check for swap control functions
                const char *extensions = glXQueryExtensionsString(display, DefaultScreen(display));
                if (std::string(extensions).find("GLX_MESA_swap_control") != std::string::npos) {
@@ -80,6 +102,8 @@ void GLXBackend::setSwapInterval(int i) const
                funSwapIntervalExt(display, window, i);
        else if (funSwapIntervalMesa)
                funSwapIntervalMesa(i);
-       else
-               assert(false && "At least one of glXSwapIntervalMESA, glXSwapIntervalEXT must be provided by the system");
+       else {
+               fprintf(stderr, "At least one of glXSwapIntervalMESA, glXSwapIntervalEXT must be provided by the system\n");
+               abort();
+       }
 }