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