Demos (master): bezier: use glew and check for ARB_geometry_shader4
Jerome Glisse
glisse at kemper.freedesktop.org
Tue Jul 13 18:52:01 UTC 2010
Module: Demos
Branch: master
Commit: 376984e6bd4205fd17c5f60d7b0a454425a191e1
URL: http://cgit.freedesktop.org/mesa/demos/commit/?id=376984e6bd4205fd17c5f60d7b0a454425a191e1
Author: Jerome Glisse <jglisse at redhat.com>
Date: Tue Jul 13 13:13:07 2010 -0400
bezier: use glew and check for ARB_geometry_shader4
This avoid compilation issue with older mesa where
ARB_geometry_shader4 is not present.
---
src/gs/Makefile.am | 2 +-
src/gs/gs-tri.c | 10 ++++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/gs/Makefile.am b/src/gs/Makefile.am
index f5151f2..a5a2e28 100644
--- a/src/gs/Makefile.am
+++ b/src/gs/Makefile.am
@@ -7,7 +7,7 @@ AM_LDFLAGS = \
$(GLUT_LIBS)
if HAVE_GLUT
-noinst_PROGRAMS = \
+bin_PROGRAMS = \
gs-tri
endif
diff --git a/src/gs/gs-tri.c b/src/gs/gs-tri.c
index 194a1aa..c60fff7 100644
--- a/src/gs/gs-tri.c
+++ b/src/gs/gs-tri.c
@@ -8,9 +8,8 @@
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
-#define GL_GLEXT_PROTOTYPES
+#include <GL/glew.h>
#include <GL/glut.h>
-#include <GL/glext.h>
static const char *filename = NULL;
static GLuint nr_steps = 0;
@@ -103,6 +102,12 @@ static void prepare_shaders(void)
" EmitVertex();\n"
" }\n"
"}\n";
+
+ if (!glutExtensionSupported("GL_ARB_geometry_shader4")) {
+ fprintf(stderr, "needs GL_ARB_geometry_shader4 extension\n");
+ exit(1);
+ }
+
fragShader = glCreateShader(GL_FRAGMENT_SHADER);
load_and_compile_shader(fragShader, fragShaderText);
@@ -286,6 +291,7 @@ int main( int argc, char *argv[] )
glutInitWindowSize( 250, 250 );
glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
glutCreateWindow(argv[0]);
+ glewInit();
glutReshapeFunc( Reshape );
glutKeyboardFunc( Key );
glutDisplayFunc( Display );
More information about the mesa-commit
mailing list