glapi: clean-up and simplify glapi_nop.c code
authorBrian Paul <brianp@vmware.com>
Fri, 22 Jan 2010 16:35:12 +0000 (09:35 -0700)
committerBrian Paul <brianp@vmware.com>
Fri, 22 Jan 2010 16:56:55 +0000 (09:56 -0700)
Removed _glapi_noop_enable_warnings() and _glapi_set_warning_func().
Just check the DEBUG env vars and call fprintf(stderr) with a warning
message instead.

src/mesa/glapi/glapi.h
src/mesa/glapi/glapi_nop.c
src/mesa/main/context.c

index 5fb5401229aeb124982be07a8c46af8f39caf7a5..47ea23e92b50cd6c9fb0b2ff7ebf0bf19d6246ff 100644 (file)
@@ -55,8 +55,6 @@ struct _glapi_table;
 
 typedef void (*_glapi_proc)(void); /* generic function pointer */
 
-typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...);
-
 
 #if defined(USE_MGL_NAMESPACE)
 #define _glapi_set_dispatch _mglapi_set_dispatch
@@ -106,12 +104,6 @@ extern struct _glapi_table *_glapi_Dispatch;
  ** GL API public functions
  **/
 
-extern void
-_glapi_noop_enable_warnings(GLboolean enable);
-
-extern void
-_glapi_set_warning_func(_glapi_warning_func func);
-
 extern void
 _glapi_check_multithread(void);
 
index a0d4b65f55f2e80201b3c31ff45c39ae48c490a0..e45faef72d4d94d8c30c2d7c4a3ffa5f2ccb5e6c 100644 (file)
 #include "glapi/glapi.h"
 
 
-static GLboolean WarnFlag = GL_FALSE;
-static _glapi_warning_func warning_func;
-
-/*
- * Enable/disable printing of warning messages.
- */
-PUBLIC void
-_glapi_noop_enable_warnings(GLboolean enable)
-{
-  WarnFlag = enable;
-}
-
-/*
- * Register a callback function for reporting errors.
+/**
+ * Called by each of the no-op GL entrypoints.
  */
-PUBLIC void
-_glapi_set_warning_func( _glapi_warning_func func )
-{
-  warning_func = func;
-}
-
-
 static int
-warn(const char *func)
+Warn(const char *func)
 {
 #if !defined(_WIN32_WCE)
-   if ((WarnFlag || getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG"))
-       && warning_func) {
-     warning_func(NULL, "GL User Error: called without context: %s", func);
+   if (getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG")) {
+      fprintf(stderr, "GL User Error: gl%s called without a rendering context\n",
+              func);
    }
 #endif
-  return 0;
+   return 0;
+}
+
+
+/**
+ * This is called if the user somehow calls an unassigned GL dispatch function.
+ */
+static GLint
+NoOpUnused(void)
+{
+   return Warn(" function");
 }
 
-#ifdef DEBUG
 
+/*
+ * Defines for the glapitemp.h functions.
+ */
 #define KEYWORD1 static
 #define KEYWORD1_ALT static
 #define KEYWORD2 GLAPIENTRY
 #define NAME(func)  NoOp##func
-#define F NULL
-
-#define DISPATCH(func, args, msg)                                            \
-  warn(#func);
+#define DISPATCH(func, args, msg)  Warn(#func);
+#define RETURN_DISPATCH(func, args, msg)  Warn(#func); return 0
 
-#define RETURN_DISPATCH(func, args, msg)                                     \
-  warn(#func); return 0
 
+/*
+ * Defines for the table of no-op entry points.
+ */
 #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
 
-static int NoOpUnused(void)
-{
-   return warn("extension function");
-}
 
 #include "glapi/glapitemp.h"
index 320c59068cc55562bb56490c87ebb57bc9df2c04..a570506d57b34ef2783f26ca6919439697bbcc34 100644 (file)
@@ -415,14 +415,6 @@ one_time_init( GLcontext *ctx )
          _mesa_ubyte_to_float_color_tab[i] = (float) i / 255.0F;
       }
 
-      if (_mesa_getenv("MESA_DEBUG")) {
-         _glapi_noop_enable_warnings(GL_TRUE);
-         _glapi_set_warning_func( (_glapi_warning_func) _mesa_warning );
-      }
-      else {
-         _glapi_noop_enable_warnings(GL_FALSE);
-      }
-
 #if defined(DEBUG) && defined(__DATE__) && defined(__TIME__)
       _mesa_debug(ctx, "Mesa %s DEBUG build %s %s\n",
                   MESA_VERSION_STRING, __DATE__, __TIME__);