mesa: add DEBUG_INCOMPLETE_TEXTURE, DEBUG_INCOMPLETE_FBO flags
authorBrian Paul <brianp@vmware.com>
Wed, 9 May 2012 18:09:21 +0000 (12:09 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 11 May 2012 22:13:14 +0000 (16:13 -0600)
Instead of having to hack the code to enable these debugging options,
set them through the MESA_DEBUG env var.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/main/debug.c
src/mesa/main/fbobject.c
src/mesa/main/mtypes.h
src/mesa/main/texobj.c

index 0e73fcbfb654cd2e5ebbc566fec22b328b74c4ea..62b8e00c197bef064177287294629051d85fbdfb 100644 (file)
@@ -204,7 +204,9 @@ set_debug_flags(const char *str)
    };
    static const struct option opts[] = {
       { "silent", DEBUG_SILENT }, /* turn off debug messages */
-      { "flush", DEBUG_ALWAYS_FLUSH } /* flush after each drawing command */
+      { "flush", DEBUG_ALWAYS_FLUSH }, /* flush after each drawing command */
+      { "incomplete_tex", DEBUG_INCOMPLETE_TEXTURE },
+      { "incomplete_fbo", DEBUG_INCOMPLETE_FBO }
    };
    GLuint i;
 
index f56369483973c2e70eca6fe557c3680f6dd94453..777783eb7eee012912c2b0feae2371e56363c6cb 100644 (file)
@@ -49,9 +49,6 @@
 #include "texobj.h"
 
 
-/** Set this to 1 to help debug FBO incompleteness problems */
-#define DEBUG_FBO 0
-
 /** Set this to 1 to debug/log glBlitFramebuffer() calls */
 #define DEBUG_BLIT 0
 
@@ -462,11 +459,9 @@ _mesa_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb)
 static void
 att_incomplete(const char *msg)
 {
-#if DEBUG_FBO
-   _mesa_debug(NULL, "attachment incomplete: %s\n", msg);
-#else
-   (void) msg;
-#endif
+   if (MESA_DEBUG_FLAGS & DEBUG_INCOMPLETE_FBO) {
+      _mesa_debug(NULL, "attachment incomplete: %s\n", msg);
+   }
 }
 
 
@@ -476,12 +471,9 @@ att_incomplete(const char *msg)
 static void
 fbo_incomplete(const char *msg, int index)
 {
-#if DEBUG_FBO
-   _mesa_debug(NULL, "FBO Incomplete: %s [%d]\n", msg, index);
-#else
-   (void) msg;
-   (void) index;
-#endif
+   if (MESA_DEBUG_FLAGS & DEBUG_INCOMPLETE_FBO) {
+      _mesa_debug(NULL, "FBO Incomplete: %s [%d]\n", msg, index);
+   }
 }
 
 
index 8b26d2a728df097f1b351ef0e2661750ebf4fa5b..c306ac6b9e94fc3b496ab8effa7de9626907c2f5 100644 (file)
@@ -3523,7 +3523,9 @@ enum _verbose
 enum _debug
 {
    DEBUG_SILENT                 = (1 << 0),
-   DEBUG_ALWAYS_FLUSH          = (1 << 1)
+   DEBUG_ALWAYS_FLUSH          = (1 << 1),
+   DEBUG_INCOMPLETE_TEXTURE     = (1 << 2),
+   DEBUG_INCOMPLETE_FBO         = (1 << 3)
 };
 
 
index 155b255a7212864c0e5766b7540a4f7ee2329002..365169dddc6ad43825fbea9c1f1e9d4ff07f26b5 100644 (file)
@@ -410,16 +410,17 @@ static void
 incomplete(struct gl_texture_object *t, enum base_mipmap bm,
            const char *fmt, ...)
 {
-#if 0
-   va_list args;
-   char s[100];
+   if (MESA_DEBUG_FLAGS & DEBUG_INCOMPLETE_TEXTURE) {
+      va_list args;
+      char s[100];
 
-   va_start(args, fmt);
-   vsnprintf(s, sizeof(s), fmt, args);
-   va_end(args);
+      va_start(args, fmt);
+      vsnprintf(s, sizeof(s), fmt, args);
+      va_end(args);
+
+      _mesa_debug(NULL, "Texture Obj %d incomplete because: %s\n", t->Name, s);
+   }
 
-   printf("Texture Obj %d incomplete because: %s\n", t->Name, s);
-#endif
    if (bm == BASE)
       t->_BaseComplete = GL_FALSE;
    t->_MipmapComplete = GL_FALSE;