diff options
author | Kristian Høgsberg <[email protected]> | 2010-01-03 23:24:13 -0500 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2010-01-03 23:24:13 -0500 |
commit | 2b218d94b51ce04467795c30d2426204986e3249 (patch) | |
tree | 7f8ce2cc4ac69f151c954fb85bbb8e61f4457ebd /src | |
parent | c3047e73f78b4f337a2f66acdc95133d61a2b535 (diff) |
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%).
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/glapi/glapi.c | 21 |
1 files 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"); |