]> git.tdb.fi Git - gldbg.git/blobdiff - source/glprint.c
Check for and report OpenGL errors after each function call
[gldbg.git] / source / glprint.c
index 3c0755934331cb537e3c26eacde300c0bfbc907f..fbf6e0e07e35bceb47ecc824bb4552f25feb6d95 100644 (file)
@@ -18,6 +18,7 @@ typedef struct sGlPrintData
 
 static void init_print(GlDecoder *);
 static void glprint_data_free(void *);
+static void print_gldError(void *, GLenum);
 
 GlDecoder *glprint_new(char *buffer, unsigned bufsize)
 {
@@ -38,6 +39,7 @@ GlDecoder *glprint_new(char *buffer, unsigned bufsize)
                dec = gldecoder_new(gpd, free);
 
        init_print(dec);
+       dec->gldError = print_gldError;
 }
 
 char *glprint_get_buffer(GlDecoder *dec)
@@ -52,4 +54,10 @@ static void glprint_data_free(void *data)
        free(gpd);
 }
 
+static void print_gldError(void *user_data, GLenum code)
+{
+       GlPrintData *gpd = (GlPrintData *)user_data;
+       snprintf(gpd->buffer, gpd->bufsize, "ERROR: %s", describe_enum(code, "ErrorCode"));
+}
+
 #include "glprint.funcs"