From e6606909857901e5d49776e51e0eb2fa6d44a1bd Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 15 Mar 2006 20:31:50 +0000 Subject: 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. --- src/mesa/glapi/glapi.c | 1 - src/mesa/glapi/glapi.h | 30 +++++++++++++++--------------- 2 files changed, 15 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/mesa/glapi/glapi.c b/src/mesa/glapi/glapi.c index 689d7c3d8a..559949254f 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 a6030c7a7a..ddfb1cffb9 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); -- cgit v1.2.3