From 1210aa75513391779c87e93f009fcf3e52a79cbf Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 2 Nov 2010 13:40:39 -0700 Subject: [PATCH] mesa: Don't compute an unused texture completeness debug string. This showed up at about 1% on cairo-gl firefox-talos-gfx, where glClear() is called while a texture is incomplete. --- src/mesa/main/texobj.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index e08df0f7fed..f0bc447e33b 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -382,12 +382,19 @@ _mesa_reference_texobj(struct gl_texture_object **ptr, */ #if 0 static void -incomplete(const struct gl_texture_object *t, const char *why) +incomplete(const struct gl_texture_object *t, const char *fmt, ...) { - printf("Texture Obj %d incomplete because: %s\n", t->Name, why); + va_list args; + char s[100]; + + va_start(args, fmt); + vsnprintf(s, sizeof(s), fmt, args); + va_end(args); + + printf("Texture Obj %d incomplete because: %s\n", t->Name, s); } #else -#define incomplete(t, why) +#define incomplete(t, why, ...) #endif @@ -416,18 +423,14 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx, * value. */ if ((baseLevel < 0) || (baseLevel >= MAX_TEXTURE_LEVELS)) { - char s[100]; - _mesa_snprintf(s, sizeof(s), "base level = %d is invalid", baseLevel); - incomplete(t, s); + incomplete(t, "base level = %d is invalid", baseLevel); t->_Complete = GL_FALSE; return; } /* Always need the base level image */ if (!t->Image[0][baseLevel]) { - char s[100]; - _mesa_snprintf(s, sizeof(s), "Image[baseLevel=%d] == NULL", baseLevel); - incomplete(t, s); + incomplete(t, "Image[baseLevel=%d] == NULL", baseLevel); t->_Complete = GL_FALSE; return; } -- 2.30.2