[Mesa-dev] [PATCH 5/5] mesa: add DEBUG_INCOMPLETE_TEXTURE, DEBUG_INCOMPLETE_FBO flags

Brian Paul brianp at vmware.com
Wed May 9 12:53:52 PDT 2012


Instead of having to hack the code to enable these debugging options,
set them through the MESA_DEBUG env var.
---
 src/mesa/main/debug.c    |    2 ++
 src/mesa/main/fbobject.c |   20 ++++++--------------
 src/mesa/main/mtypes.h   |    2 ++
 src/mesa/main/texobj.c   |   17 +++++++++--------
 4 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/src/mesa/main/debug.c b/src/mesa/main/debug.c
index 0e73fcb..39b463a 100644
--- a/src/mesa/main/debug.c
+++ b/src/mesa/main/debug.c
@@ -205,6 +205,8 @@ 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 */
+      { "incomplete_tex", DEBUG_INCOMPLETE_TEXTURE },
+      { "incomplete_fbo", DEBUG_INCOMPLETE_FBO }
    };
    GLuint i;
 
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index f563694..777783e 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -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);
+   }
 }
 
 
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 8b26d2a..2b64827 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -3524,6 +3524,8 @@ enum _debug
 {
    DEBUG_SILENT                 = (1 << 0),
    DEBUG_ALWAYS_FLUSH		= (1 << 1)
+   DEBUG_INCOMPLETE_TEXTURE     = (1 << 2),
+   DEBUG_INCOMPLETE_FBO         = (1 << 3)
 };
 
 
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 155b255..365169d 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -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;
-- 
1.7.3.4



More information about the mesa-dev mailing list