aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/glapi/glapi.c
diff options
context:
space:
mode:
authorKristian Høgsberg <[email protected]>2010-01-03 23:24:13 -0500
committerKristian Høgsberg <[email protected]>2010-01-03 23:24:13 -0500
commit2b218d94b51ce04467795c30d2426204986e3249 (patch)
tree7f8ce2cc4ac69f151c954fb85bbb8e61f4457ebd /src/mesa/glapi/glapi.c
parentc3047e73f78b4f337a2f66acdc95133d61a2b535 (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/mesa/glapi/glapi.c')
-rw-r--r--src/mesa/glapi/glapi.c21
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");