rename window system and context choice variables
authorRalf Jung <post@ralfj.de>
Sun, 8 Sep 2013 19:29:26 +0000 (21:29 +0200)
committerRalf Jung <post@ralfj.de>
Sun, 8 Sep 2013 19:29:26 +0000 (21:29 +0200)
Makefile
eglbackend.cpp
gltest.cpp
glutil.h
glutil_gl1.cpp
glutil_gl2.cpp
glxbackend.cpp

index 52a6495d67aa3a1fc1876fc81fb14e0afdb39637..c84863935c3c5c9c53110e88f995a301ecee1205 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,14 +7,18 @@ BINARIES := glxtest egltest glestest eglinfo
 
 all: $(BINARIES)
 
+# choices (not all combinations are valid)
+# windowing system WIN_{GLX,EGL}
+# the kind of context CON_{GL1,GLES2}
+
 glxtest: $(COMMON_SRC) $(COMMON_HDR) glutil_gl1.cpp glxbackend.cpp glxbackend.h
-       g++ $(FLAGS) -DUSE_GLX $(COMMON_SRC) glutil_gl1.cpp glxbackend.cpp -lGL -lX11 -lboost_program_options -o glxtest
+       g++ $(FLAGS) -DWIN_GLX -DCON_GL1 $(COMMON_SRC) glutil_gl1.cpp glxbackend.cpp -lGL -lX11 -lboost_program_options -o glxtest
 
 egltest: $(COMMON_SRC) $(COMMON_HDR) glutil_gl1.cpp eglbackend.cpp eglbackend.h
-       g++ $(FLAGS) -DUSE_EGL $(COMMON_SRC) glutil_gl1.cpp eglbackend.cpp -lEGL -lGL -lX11 -lboost_program_options -o egltest
+       g++ $(FLAGS) -DWIN_EGL -DCON_GL1 $(COMMON_SRC) glutil_gl1.cpp eglbackend.cpp -lEGL -lGL -lX11 -lboost_program_options -o egltest
 
 glestest: $(COMMON_SRC) $(COMMON_HDR) glutil_gl2.cpp eglbackend.cpp eglbackend.h
-       g++ $(FLAGS) -DUSE_EGL -DUSE_GLES $(COMMON_SRC) glutil_gl2.cpp eglbackend.cpp -lEGL -lGLESv2 -lX11 -lboost_program_options -o glestest
+       g++ $(FLAGS) -DWIN_EGL -DCON_GLES2 $(COMMON_SRC) glutil_gl2.cpp eglbackend.cpp -lEGL -lGLESv2 -lX11 -lboost_program_options -o glestest
 
 eglinfo: eglinfo.c
        gcc $(FLAGS) eglinfo.c -lEGL -lGL -lX11 -o eglinfo
index c5d5bcb126fe04d605676f558a4201608f2626e5..0d5e5e60f14731db48a3eb0c66ab7239195611e6 100644 (file)
 
 #include <EGL/eglext.h>
 
+#if !defined(CON_GL1) && !defined(CON_GLES2)
+#error "Valid GL contexts for EGL are: GL1, GLES2"
+#endif
+
 static const char *eglErrorToString(EGLint e)
 {
 #define CASE(name) case name: return #name
@@ -50,7 +54,7 @@ static void exitEglError(const char *what)
 }
 
 static const EGLint context_attribs[] = {
-#ifdef USE_GLES
+#ifdef CON_GLES2
        EGL_CONTEXT_CLIENT_VERSION, 2,
 #endif
        EGL_NONE
@@ -59,7 +63,7 @@ static const EGLint config_attribs[] = {
        EGL_RED_SIZE,             4,
        EGL_GREEN_SIZE,           4,
        EGL_BLUE_SIZE,            4,
-#ifdef USE_GLES
+#ifdef CON_GLES2
        EGL_RENDERABLE_TYPE,      EGL_OPENGL_ES2_BIT,
 #else
        EGL_RENDERABLE_TYPE,      EGL_OPENGL_BIT,
@@ -82,7 +86,7 @@ VisualID EGLBackend::initialize(Display *xDisplay)
                        fprintf(stderr, "Need at least EGL 1.3 to function properly\n");
                        exit(1);
                }
-#ifdef USE_GLES
+#ifdef CON_GLES2
                if (eglBindAPI(EGL_OPENGL_ES_API) == EGL_FALSE)
 #else
                if (eglBindAPI(EGL_OPENGL_API) == EGL_FALSE)
index 440e8f5ef5d1564150e2f1d6062b4a15840460fd..edc17f85851036a86730db2ee3752cb4301954ed 100644 (file)
@@ -31,14 +31,14 @@ namespace po = boost::program_options;
 // my GL utility functions and the GL window class
 #include "glutil.h"
 #include "glwindow.h"
-// include proper GL backend
-#if defined(USE_GLX)
+// include proper GL backend (windowing system)
+#if defined(WIN_GLX)
 #include "glxbackend.h"
 static GLBackend *createGLBackend()
 {
        return new GLXBackend();
 }
-#elif defined(USE_EGL)
+#elif defined(WIN_EGL)
 #include "eglbackend.h"
 static GLBackend *createGLBackend()
 {
index 704d2cbab5edcb2e653729cf8fd76dc0268bc3e0..e7a39ad86ddad3652191b6b2b254b21cdb1c8c6b 100644 (file)
--- a/glutil.h
+++ b/glutil.h
@@ -17,7 +17,7 @@
  */
 
 
-#ifdef USE_GLES
+#ifdef CON_GLES2
 #include  <GLES2/gl2.h>
 #else
 #include <GL/gl.h>
index 8e31114e2fcdf8fb0b96092203381abcea9c986b..596704e82e705d2877bbdf60d21efd91ac90315f 100644 (file)
 
 #include "glutil.h"
 
+#if defined(CON_GLES2)
+#error "GLES2 contexts do not support GL1 functionality"
+#endif
+
 // initialisation
 void initialise2dProjection()
 {
@@ -37,4 +41,4 @@ void drawQuad(GLfloat red, GLfloat green, GLfloat blue, GLfloat x1, GLfloat y1,
        glVertex2f(x2, y2);
        glVertex2f(x1, y2);
        glEnd();
-}
\ No newline at end of file
+}
index ebcb5b0c8c4f108a88301074e4531df5a3b50988..ad89138d14f3748e90a52fd8919c3a4372b9794f 100644 (file)
 
 #include "glutil.h"
 
+#if defined(CON_GL1)
+#error "GL1 contexts do not support GL2 functionality"
+#endif
+
 // shaders
 static const char *vertex_shader_source =
 "#version 100 \n\
index a957e5bfeb8963618ba87f00a34394c7b0dd9c95..97e6937c4ed76e260fe7b67faf53b9c17751832f 100644 (file)
 #include <GL/glxext.h>
 #include <string>
 
+#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[] =                                             
 {