OSDN Git Service

Revert "glapi: Implement optional dispatch logging"
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 9 Sep 2010 22:59:49 +0000 (18:59 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 9 Sep 2010 23:02:55 +0000 (19:02 -0400)
This reverts commit b9abc6139a310677a37754ea7172d976dbf56979 and the
follow on fixes (7aae704 and 6fe1b47).  It's changing the glapi/driver
ABI and causes a number of problems for debug/non-debug builds.

src/mapi/glapi/glapi.h
src/mapi/glapi/glapi_dispatch.c
src/mesa/drivers/dri/common/dri_test.c
src/mesa/main/context.c
src/mesa/main/context.h
src/mesa/main/debug.c
src/mesa/main/dlist.c
src/mesa/main/mtypes.h

index 2fa5802..a0bb078 100644 (file)
@@ -94,7 +94,7 @@ _GLAPI_EXPORT extern __thread void * _glapi_tls_Context
 _GLAPI_EXPORT extern const struct _glapi_table *_glapi_Dispatch;
 _GLAPI_EXPORT extern const void *_glapi_Context;
 
-# define GET_DISPATCH(t) _glapi_tls_Dispatch
+# define GET_DISPATCH() _glapi_tls_Dispatch
 # define GET_CURRENT_CONTEXT(C)  GLcontext *C = (GLcontext *) _glapi_tls_Context
 
 #else
@@ -167,12 +167,6 @@ _glapi_get_proc_name(unsigned int offset);
 _GLAPI_EXPORT unsigned long
 _glthread_GetID(void);
 
-_GLAPI_EXPORT int
-_glapi_logging_available(void);
-
-_GLAPI_EXPORT void
-_glapi_enable_logging(void (*func)(void *data, const char *fmt, ...),
-                     void *data);
 
 /*
  * These stubs are kept so that the old DRI drivers still load.
index c060c55..7421a36 100644 (file)
@@ -41,6 +41,7 @@
 #include "glapi/glapitable.h"
 #include "glapi/glapidispatch.h"
 
+
 #if !(defined(USE_X86_ASM) || defined(USE_X86_64_ASM) || defined(USE_SPARC_ASM))
 
 #if defined(WIN32)
 #define NAME(func)  gl##func
 #endif
 
+#if 0  /* Use this to log GL calls to stdout (for DEBUG only!) */
+
+#define F stdout
+#define DISPATCH(FUNC, ARGS, MESSAGE)          \
+   fprintf MESSAGE;                            \
+   CALL_ ## FUNC(GET_DISPATCH(), ARGS);
+
+#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE)   \
+   fprintf MESSAGE;                            \
+   return CALL_ ## FUNC(GET_DISPATCH(), ARGS);
+
+#else
+
 #define DISPATCH(FUNC, ARGS, MESSAGE)          \
    CALL_ ## FUNC(GET_DISPATCH(), ARGS);
 
 #define RETURN_DISPATCH(FUNC, ARGS, MESSAGE)   \
    return CALL_ ## FUNC(GET_DISPATCH(), ARGS);
 
+#endif /* logging */
+
 
 #ifndef GLAPIENTRY
 #define GLAPIENTRY
 #include "glapi/glapitemp.h"
 
 #endif /* USE_X86_ASM */
-
-
-#ifdef DEBUG
-
-static void *logger_data;
-static void (*logger_func)(void *data, const char *fmt, ...);
-static struct _glapi_table *real_dispatch; /* FIXME: This need to be TLS etc */
-
-#define KEYWORD1 static
-#define KEYWORD1_ALT static
-#define KEYWORD2
-#define NAME(func)  log_##func
-#define F logger_data
-
-static void
-log_Unused(void)
-{
-}
-
-#define DISPATCH(FUNC, ARGS, MESSAGE)          \
-   logger_func MESSAGE;                                \
-   CALL_ ## FUNC(real_dispatch, ARGS);
-
-#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE)   \
-   logger_func MESSAGE;                        \
-   return CALL_ ## FUNC(real_dispatch, ARGS);
-
-#define DISPATCH_TABLE_NAME __glapi_logging_table
-
-#define TABLE_ENTRY(func) (_glapi_proc) log_##func
-
-#include "glapi/glapitemp.h"
-
-int
-_glapi_logging_available(void)
-{
-   return 1;
-}
-
-void
-_glapi_enable_logging(void (*func)(void *data, const char *fmt, ...),
-                     void *data)
-{
-   real_dispatch = GET_DISPATCH();
-   logger_func = func;
-   logger_data = data;
-   _glapi_set_dispatch(&__glapi_logging_table);
-}
-
-#else
-
-int
-_glapi_logging_available(void)
-{
-   return 0;
-}
-
-void
-_glapi_enable_logging(void (*func)(void *data, const char *fmt, ...),
-                     void *data)
-{
-}
-
-#endif
index 8a47316..793f0c3 100644 (file)
@@ -82,18 +82,6 @@ _glthread_GetID(void)
    return 0;
 }
 
-PUBLIC int
-_glapi_logging_available(void)
-{
-   return 0;
-}
-
-PUBLIC void
-_glapi_enable_logging(void (*func)(void *data, const char *fmt, ...),
-                     void *data)
-{
-}
-
 int main(int argc, char** argv)
 {
    void* p = __driDriverExtensions;
index decc1dd..979bc40 100644 (file)
@@ -1370,38 +1370,7 @@ _mesa_check_init_viewport(GLcontext *ctx, GLuint width, GLuint height)
    }
 }
 
-#ifdef DEBUG
-
-static void
-dispatch_logger(void *data, const char *fmt, ...)
-{
-   va_list ap;
-
-   va_start(ap, fmt);
-   vfprintf(stderr, fmt, ap);
-   va_end(ap);
-}
-
-void
-_mesa_set_dispatch(void *table)
-{
-   if (table && (MESA_VERBOSE & VERBOSE_DISPATCH)) {
-      _glapi_set_dispatch(table);
-      _glapi_enable_logging(dispatch_logger, stderr);
-   } else {
-      _glapi_set_dispatch(table);
-   }
-}
 
-#else
-
-void
-_mesa_set_dispatch(void *table)
-{
-   _glapi_set_dispatch(table);
-}
-
-#endif
 /**
  * Bind the given context to the given drawBuffer and readBuffer and
  * make it the current context for the calling thread.
@@ -1445,10 +1414,10 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
    ASSERT(_mesa_get_current_context() == newCtx);
 
    if (!newCtx) {
-      _mesa_set_dispatch(NULL);  /* none current */
+      _glapi_set_dispatch(NULL);  /* none current */
    }
    else {
-      _mesa_set_dispatch(newCtx->CurrentDispatch);
+      _glapi_set_dispatch(newCtx->CurrentDispatch);
 
       if (drawBuffer && readBuffer) {
         /* TODO: check if newCtx and buffer's visual match??? */
index 142243f..c61da62 100644 (file)
@@ -145,9 +145,6 @@ extern GLboolean
 _mesa_make_current( GLcontext *ctx, GLframebuffer *drawBuffer,
                     GLframebuffer *readBuffer );
 
-extern void
-_mesa_set_dispatch(void *table);
-
 extern GLboolean
 _mesa_share_state(GLcontext *ctx, GLcontext *ctxToShare);
 
index e5c3133..526145a 100644 (file)
@@ -201,8 +201,7 @@ static void add_debug_flags( const char *debug )
       { "lighting",  VERBOSE_LIGHTING },
       { "disassem",  VERBOSE_DISASSEM },
       { "draw",      VERBOSE_DRAW },
-      { "swap",      VERBOSE_SWAPBUFFERS },
-      { "dispatch",  VERBOSE_DISPATCH }
+      { "swap",      VERBOSE_SWAPBUFFERS }
    };
    GLuint i;
 
@@ -212,9 +211,6 @@ static void add_debug_flags( const char *debug )
          MESA_VERBOSE |= debug_opt[i].flag;
    }
 
-   if ((MESA_VERBOSE & VERBOSE_DISPATCH) && !_glapi_logging_available())
-      _mesa_debug(NULL, "dispatch logging not available in this buidl\n");
-
    /* Debug flag:
     */
    if (strstr(debug, "flush"))
index 0c4e3d5..6928d21 100644 (file)
@@ -8062,7 +8062,7 @@ _mesa_NewList(GLuint name, GLenum mode)
    ctx->Driver.NewList(ctx, name, mode);
 
    ctx->CurrentDispatch = ctx->Save;
-   _mesa_set_dispatch(ctx->CurrentDispatch);
+   _glapi_set_dispatch(ctx->CurrentDispatch);
 }
 
 
@@ -8109,7 +8109,7 @@ _mesa_EndList(void)
    ctx->CompileFlag = GL_FALSE;
 
    ctx->CurrentDispatch = ctx->Exec;
-   _mesa_set_dispatch(ctx->CurrentDispatch);
+   _glapi_set_dispatch(ctx->CurrentDispatch);
 }
 
 
@@ -8143,7 +8143,7 @@ _mesa_CallList(GLuint list)
    /* also restore API function pointers to point to "save" versions */
    if (save_compile_flag) {
       ctx->CurrentDispatch = ctx->Save;
-      _mesa_set_dispatch(ctx->CurrentDispatch);
+      _glapi_set_dispatch(ctx->CurrentDispatch);
    }
 }
 
@@ -8195,7 +8195,7 @@ _mesa_CallLists(GLsizei n, GLenum type, const GLvoid * lists)
    /* also restore API function pointers to point to "save" versions */
    if (save_compile_flag) {
       ctx->CurrentDispatch = ctx->Save;
-      _mesa_set_dispatch(ctx->CurrentDispatch);
+      _glapi_set_dispatch(ctx->CurrentDispatch);
    }
 }
 
index bcd324b..a1a0a23 100644 (file)
@@ -3346,8 +3346,7 @@ enum _verbose
    VERBOSE_VERTS               = 0x0800,
    VERBOSE_DISASSEM            = 0x1000,
    VERBOSE_DRAW                 = 0x2000,
-   VERBOSE_SWAPBUFFERS          = 0x4000,
-   VERBOSE_DISPATCH             = 0x8000
+   VERBOSE_SWAPBUFFERS          = 0x4000
 };