Mesa (gallium-0.2): progs: Port vp-tris to glew.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Fri Jan 23 17:09:58 UTC 2009


Module: Mesa
Branch: gallium-0.2
Commit: 528a0a885e85907888738cd7b28fff1334697e50
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=528a0a885e85907888738cd7b28fff1334697e50

Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Jan 23 16:24:43 2009 +0000

progs: Port vp-tris to glew.

There was some wglGetProcAddress calls to setup extensions already, but
including glext caused many compilation errors in MinGW.

---

 progs/SConscript    |    1 +
 progs/vp/Makefile   |    2 +-
 progs/vp/SConscript |   13 +++++++++++++
 progs/vp/vp-tris.c  |   31 ++-----------------------------
 4 files changed, 17 insertions(+), 30 deletions(-)

diff --git a/progs/SConscript b/progs/SConscript
index 245fc26..ffb6de4 100644
--- a/progs/SConscript
+++ b/progs/SConscript
@@ -1,4 +1,5 @@
 SConscript([
     'demos/SConscript',
     'trivial/SConscript',
+    'vp/SConscript',
 ])
diff --git a/progs/vp/Makefile b/progs/vp/Makefile
index 41d025c..58a0dac 100644
--- a/progs/vp/Makefile
+++ b/progs/vp/Makefile
@@ -8,7 +8,7 @@ TOP = ../..
 include $(TOP)/configs/current
 
 
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
 
 SOURCES = \
 	vp-tris.c
diff --git a/progs/vp/SConscript b/progs/vp/SConscript
new file mode 100644
index 0000000..640c5dd
--- /dev/null
+++ b/progs/vp/SConscript
@@ -0,0 +1,13 @@
+Import('env')
+
+if not env['GLUT']:
+    Return()
+
+env = env.Clone()
+
+env.Prepend(LIBS = ['$GLUT_LIB'])
+
+env.Program(
+        target = 'vp-tris',
+        source = ['vp-tris.c'],
+    )
diff --git a/progs/vp/vp-tris.c b/progs/vp/vp-tris.c
index e1ddb2e..87cb12b 100644
--- a/progs/vp/vp-tris.c
+++ b/progs/vp/vp-tris.c
@@ -9,25 +9,11 @@
 #ifndef WIN32
 #include <unistd.h>
 #include <signal.h>
-#define GL_GLEXT_PROTOTYPES
-#else
-#include <GL/glext.h>
 #endif
 
+#include <GL/glew.h>
 #include <GL/glut.h>
 
-#ifdef WIN32
-static PFNGLBINDPROGRAMARBPROC glBindProgramARB = NULL;
-static PFNGLGENPROGRAMSARBPROC glGenProgramsARB = NULL;
-static PFNGLPROGRAMSTRINGARBPROC glProgramStringARB = NULL;
-static PFNGLISPROGRAMARBPROC glIsProgramARB = NULL;
-
-static PFNGLBINDPROGRAMNVPROC glBindProgramNV = NULL;
-static PFNGLGENPROGRAMSNVPROC glGenProgramsNV = NULL;
-static PFNGLLOADPROGRAMNVPROC glLoadProgramNV = NULL;
-static PFNGLISPROGRAMNVPROC glIsProgramNV = NULL;
-#endif
-
 static const char *filename = NULL;
 static GLuint nr_steps = 4;
 
@@ -115,13 +101,6 @@ static void Init( void )
    fprintf(stderr, "%.*s\n", sz, buf);
 
    if (strncmp( buf, "!!VP", 4 ) == 0) {
-#ifdef WIN32
-      glBindProgramNV = (PFNGLBINDPROGRAMNVPROC) wglGetProcAddress( "glBindProgramNV" );
-      glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC) wglGetProcAddress( "glGenProgramsNV" );
-      glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC) wglGetProcAddress( "glLoadProgramNV" );
-      glIsProgramNV = (PFNGLISPROGRAMNVPROC) wglGetProcAddress( "glIsProgramNV" );
-#endif
-
       glEnable( GL_VERTEX_PROGRAM_NV );
       glGenProgramsNV( 1, &prognum );
       glBindProgramNV( GL_VERTEX_PROGRAM_NV, prognum );
@@ -129,13 +108,6 @@ static void Init( void )
       assert( glIsProgramNV( prognum ) );
    }
    else {
-#ifdef WIN32
-      glBindProgramARB = (PFNGLBINDPROGRAMARBPROC) wglGetProcAddress( "glBindProgramARB" );
-      glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC) wglGetProcAddress( "glGenProgramsARB" );
-      glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC) wglGetProcAddress( "glProgramStringARB" );
-      glIsProgramARB = (PFNGLISPROGRAMARBPROC) wglGetProcAddress( "glIsProgramARB" );
-#endif
-
       glEnable(GL_VERTEX_PROGRAM_ARB);
 
       glGenProgramsARB(1, &prognum);
@@ -288,6 +260,7 @@ int main( int argc, char *argv[] )
    glutInitWindowSize( 250, 250 );
    glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
    glutCreateWindow(argv[argc-1]);
+   glewInit();
    glutReshapeFunc( Reshape );
    glutKeyboardFunc( Key );
    glutDisplayFunc( Display );




More information about the mesa-commit mailing list