summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2006-03-15 20:31:50 +0000
committerBrian Paul <[email protected]>2006-03-15 20:31:50 +0000
commite6606909857901e5d49776e51e0eb2fa6d44a1bd (patch)
tree016b1eab4376f355892ca626d8a1b6f10ea894f9
parent30655c211c97a69f0eeb9ad6176ca1db67d15bf9 (diff)
Need to include glthread.h in glapi.h, not glapi.c so that GET_CURRENT_CONTEXT
is properly defined. Fixes long-standing, but unnoticed thread safety failure. Also, updated comments.
-rw-r--r--src/mesa/glapi/glapi.c1
-rw-r--r--src/mesa/glapi/glapi.h30
2 files changed, 15 insertions, 16 deletions
diff --git a/src/mesa/glapi/glapi.c b/src/mesa/glapi/glapi.c
index 689d7c3d8a0..559949254fd 100644
--- a/src/mesa/glapi/glapi.c
+++ b/src/mesa/glapi/glapi.c
@@ -54,7 +54,6 @@
#include "glapi.h"
#include "glapioffsets.h"
#include "glapitable.h"
-#include "glthread.h"
/***** BEGIN NO-OP DISPATCH *****/
diff --git a/src/mesa/glapi/glapi.h b/src/mesa/glapi/glapi.h
index a6030c7a7a8..ddfb1cffb91 100644
--- a/src/mesa/glapi/glapi.h
+++ b/src/mesa/glapi/glapi.h
@@ -1,8 +1,8 @@
/*
* Mesa 3-D graphics library
- * Version: 6.3
+ * Version: 6.5
*
- * Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -47,9 +47,12 @@
#include "GL/gl.h"
#include "glapitable.h"
+#include "glthread.h"
+
typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...);
+
#if defined(USE_MGL_NAMESPACE)
#define _glapi_set_dispatch _mglapi_set_dispatch
#define _glapi_get_dispatch _mglapi_get_dispatch
@@ -59,6 +62,11 @@ typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...);
#define _glapi_Dispatch _mglapi_Dispatch
#endif
+
+/**
+ ** Define the GET_CURRENT_CONTEXT() macro.
+ ** \param C local variable which will hold the current context.
+ **/
#if defined (GLX_USE_TLS)
const extern void *_glapi_Context;
@@ -74,19 +82,6 @@ extern __thread void * _glapi_tls_Context
extern void *_glapi_Context;
extern struct _glapi_table *_glapi_Dispatch;
-/**
- * Macro for declaration and fetching the current context.
- *
- * \param C local variable which will hold the current context.
- *
- * It should be used in the variable declaration area of a function:
- * \code
- * ...
- * {
- * GET_CURRENT_CONTEXT(ctx);
- * ...
- * \endcode
- */
# ifdef THREADS
# define GET_CURRENT_CONTEXT(C) GLcontext *C = (GLcontext *) (_glapi_Context ? _glapi_Context : _glapi_get_context())
# else
@@ -95,6 +90,11 @@ extern struct _glapi_table *_glapi_Dispatch;
#endif /* defined (GLX_USE_TLS) */
+
+/**
+ ** GL API public functions
+ **/
+
extern void
_glapi_noop_enable_warnings(GLboolean enable);