mesa: add DEBUG_INCOMPLETE_TEXTURE, DEBUG_INCOMPLETE_FBO flags

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>
This commit is contained in:
Brian Paul
2012-05-09 12:09:21 -06:00
parent 014306578b
commit 93bcf7825d
4 changed files with 21 additions and 24 deletions

View 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;

View 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);
}
}

View 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)
};

View 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;