add egl3test
[gltest.git] / glutil.h
index 704d2cbab5edcb2e653729cf8fd76dc0268bc3e0..dd1051e26c66eb1c0f27ab76008e5195d475596a 100644 (file)
--- a/glutil.h
+++ b/glutil.h
  */
 
 
  */
 
 
-#ifdef USE_GLES
+#ifdef CON_GLES2
 #include  <GLES2/gl2.h>
 #else
 #include <GL/gl.h>
 #endif
 
 #include  <GLES2/gl2.h>
 #else
 #include <GL/gl.h>
 #endif
 
+/**
+ * GNUC has the ability to check format strings that follow the syntax used in printf and others.
+Hide the differences between different compilers in this GNUC_FORMAT_CHECK macro.
+Copied from Wireshark sources.
+*/
+#if __GNUC__ >= 2
+       #define GNUC_FORMAT_CHECK(archetype, string_index, first_to_check) __attribute__((format (archetype, string_index, first_to_check)))
+#else
+       #define GNUC_FORMAT_CHECK(archetype, string_index, first_to_check)
+#endif
+
+/* Function name resolving: Call this after initialising the context, but before any utility function is called */
+typedef void (*T_proc)(void);
+typedef T_proc (*T_glGetProcAddress)(char const *  procname);
+void resolveFunctionPointers(T_glGetProcAddress p_glGetProcAddress);
+
+/* The actual utility functions */
+void die(const char *msg, ...) GNUC_FORMAT_CHECK(printf, 1, 2);
+void checkGlError(const char *what);
 void initialise2dProjection();
 void drawQuad(GLfloat red, GLfloat green, GLfloat blue, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
 void initialise2dProjection();
 void drawQuad(GLfloat red, GLfloat green, GLfloat blue, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);