Merge branch '7.8'
[mesa.git] / progs / tests / shader_api.c
index 679f9137c82465ddbff9bbf53d68ad3bcf1018f6..fa0a992540c73b19de2e1c18c4dc8d06a8a05ad8 100644 (file)
@@ -5,9 +5,13 @@
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
-#define GL_GLEXT_PROTOTYPES
+#include <GL/glew.h>
 #include <GL/glut.h>
 
+#ifndef APIENTRY
+#define APIENTRY
+#endif
+
 static void assert_test(const char *file, int line, int cond, const char *msg)
 {
    if (!cond)
@@ -42,7 +46,7 @@ static void assert_error_test(const char *file, int line, GLenum expect)
 
 #define assert_error(err) assert_error_test(__FILE__, __LINE__, (err))
 
-static void check_status(GLuint id, GLenum pname, void (*query)(GLuint, GLenum, GLint *))
+static void check_status(GLuint id, GLenum pname, void (APIENTRY *query)(GLuint, GLenum, GLint *))
 {
     GLint status;
 
@@ -321,8 +325,17 @@ static void run_test(const char *name, void (*callback)(void))
 
 int main(int argc, char **argv)
 {
+   const char *version;
+
    glutInit(&argc, argv);
    glutCreateWindow("Mesa bug demo");
+   glewInit();
+
+   version = (const char *) glGetString(GL_VERSION);
+   if (version[0] == '1') {
+      printf("Sorry, this test requires OpenGL 2.x GLSL support\n");
+      exit(0);
+   }
 
    RUN_TEST(test_uniform_size_type);
    RUN_TEST(test_attrib_size_type);