From 2b218d94b51ce04467795c30d2426204986e3249 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Sun, 3 Jan 2010 23:24:13 -0500 Subject: [PATCH] Only enable verbose NoOp dispatch if DEBUG is defined By default we generate a function per GL entry point to warn if it's called without a context set. This is to allow the function to print it's name in the warning. By using a generic function that doesn't print the function name in the non-DEBUG case, we reduce libGL size from 320008 bytes to 283144 bytes (11%). --- src/mesa/glapi/glapi.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/mesa/glapi/glapi.c b/src/mesa/glapi/glapi.c index 37c69779cdf..84e5a8270a0 100644 --- a/src/mesa/glapi/glapi.c +++ b/src/mesa/glapi/glapi.c @@ -108,6 +108,8 @@ warn(const char *func) return 0; } +#ifdef DEBUG + #define KEYWORD1 static #define KEYWORD1_ALT static #define KEYWORD2 GLAPIENTRY @@ -121,11 +123,26 @@ warn(const char *func) #define RETURN_DISPATCH(func, args, msg) \ return warn(#func); +#define TABLE_ENTRY(name) (_glapi_proc) NoOp##name + +#else + +static void +NoOpGeneric(void) +{ + if ((WarnFlag || getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG")) + && warning_func) { + warning_func(NULL, "GL User Error: calling GL function"); + } +} + +#define TABLE_ENTRY(name) (_glapi_proc) NoOpGeneric + +#endif + #define DISPATCH_TABLE_NAME __glapi_noop_table #define UNUSED_TABLE_NAME __unused_noop_functions -#define TABLE_ENTRY(name) (_glapi_proc) NoOp##name - static GLint NoOpUnused(void) { return warn("extension function"); -- 2.30.2