summaryrefslogtreecommitdiffstats
path: root/src/mesa/glapi/glthread.h
Commit message (Collapse)AuthorAgeFilesLines
* check for USE_MGL_NAMESPACEBrian Paul2006-11-031-1/+7
|
* Thread safety for Win32. SourceForge bug #1507315.Brian Paul2006-06-161-8/+7
|
* Remove _glapi_check_multithread from the interface exported by the loader toIan Romanick2005-08-101-17/+2
| | | | | | | | | | | | | | | | | the driver. The loader now takes care of this for the driver. Remove _glapi_DispatchTSD and give _glapi_Dispatch its semantic (i.e., having a NULL value means that the application is multithreaded and _glapi_get_dispatch must be called). Gut all of the dispatch override code. This removes _glapi_RealDispatch, _glapi_tls_RealDispatch, _glapi_begin_dispatch_override, _glapi_end_dispatch_override, and _glapi_get_override_dispatch. Remove _glapi_get_proc_address, _glapi_get_proc_name, _glapi_get_version, and _glapi_check_table from the loader / driver interface. Reviewed by: Brian Paul
* Convert all instances of XTHREADS to USE_XTHREADS. This fixes one ofIan Romanick2005-08-031-3/+3
| | | | | serveral things that are broken when building on a system with X.org 7.0rc0 installed.
* Wrap every place that accesses a dispatch table with a macro. A new script-Ian Romanick2005-07-181-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generated file, called src/mesa/glapi/dispatch.h, is added. This file contains three macros for each API function. It contains a GET, a SET, and a CALL. Each of the macros take a pointer to the context and a pointer to the dispatch table. In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint with a new function called _glapi_add_dispatch. For this discussion, the important difference between the two is that the caller of _glapi_add_dispatch does *not* know what the dispatch offset will be at compile time. Because of this callers need to track the dispatch offset returned by _glapi_add_dispatch. http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2 The downside is that driver code then has to access the dispatch table two different ways. It accesses it using structure tags (e.g., exec->Begin) for functions with fixed offsets and via a remap table (e.g., exec[ remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck! Using the macros allows both types of functions to be accessed identically. If a driver needs to set a pointer for Begin, it does 'SET_Begin(ctx, exec, my_begin_function)'. If it needs to set a pointer for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec, my_NewExtensionFunction_function)'. Furthermore, if at some point in the future a static offset is assigned for NewExtensionFunction, only the macros need to change (instead of every single place that accesses a table for that function). This code differs slightly from the originally posted patches in that the CALL, GET, and SET marcos no longer take a context pointer as a parameter. Brian Paul had suggested that the remap table could be stored as a global since it would be set at CreateScreen time and would be constant for all contexts. This change reflects that feedback. http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2
* In GLX_USE_TLS builds, make GET_CURRENT_CONTEXT use the TLS verion of theIan Romanick2005-04-141-3/+4
| | | | | | variable. Without this, GET_CURRENT_CONTEXT would *always* result in a call to _glapi_get_context (because _glapi_Context is a const pointer to NULL in TLS builds).
* Add TLS support to libGL and, by virtue of using glthread.h and GL_CALL, allIan Romanick2005-04-131-1/+8
| | | | | | | DRI drivers. A TLS enabled libGL can load a TLS or a non-TLS DRI driver, but a TLS DRI driver requires a TLS enabled libGL. This fixes bug #1822.
* include <X11/Xthreads.h> instead of "Xthreads.h"Brian Paul2004-11-221-4/+3
|
* BeOS's _glthread_DECLARE_STATIC_MUTEX() couldn't be used outside a functionPhilippe Houdoin2004-08-141-6/+9
| | | | | because she called create_sem(). Now the semaphore creation is made at first _glthread_LOCK_MUTEX() call.
* First phase of TLS work. At this point SPARC assembly dispatch isIan Romanick2004-06-291-2/+23
| | | | | broken, but it will be fixed "shortly." This is pretty much the same as the patch I sent to the dri-devel list on 22-Jun-2004.
* Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.Ian Romanick2004-05-271-0/+3
|
* Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.Ian Romanick2003-06-051-1/+0
|
* Add mechanism to destroy mutexes. Important on OS's where mutex initializationKeith Whitwell2002-12-121-1/+11
| | | | allocates memory (like FreeBSD).
* minor patches from David DawesBrian Paul2002-03-071-1/+6
|
* Corrected bad line breaks in macro definitions within code compiledKarl Schultz2001-11-301-7/+4
| | | | | | | | | when BEOS_THREADS is defined. This usually does not cause a problem when BEOS_THREADS is not defined, but the bad line break in this case put the "#name" text as the first non-white space in a line, causing the IRIX C preprocessor to think that it was a preprocessor directive, and that generated a distracting warning. I also fixed a couple of other line breaks that seemed wrong to me.
* BeOS thread support (Philippe Houdoin)Brian Paul2001-11-121-1/+34
|
* Consistent copyright info (version number, date) across all files.Gareth Hughes2001-03-121-4/+3
|
* Committing in .Jouk Jansen2000-11-221-16/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modified Files: Mesa/macos/gli_api/gliapi1.h Mesa/macos/gli_api/gliapi2.h Mesa/macos/gli_api/gliapiext.h Mesa/macos/src-gli/fxgli.c Mesa/macos/src-gli/fxgli.h Mesa/macos/src-gli/fxgli2.c Mesa/macos/src-gli/fxgli_tridebug.c Mesa/src/accum.c Mesa/src/accum.h Mesa/src/all.h Mesa/src/alpha.c Mesa/src/alpha.h Mesa/src/attrib.c Mesa/src/attrib.h Mesa/src/bitmap.c Mesa/src/bitmap.h Mesa/src/blend.c Mesa/src/blend.h Mesa/src/buffers.c Mesa/src/buffers.h Mesa/src/clip.c Mesa/src/clip.h Mesa/src/colortab.h Mesa/src/config.c Mesa/src/context.c Mesa/src/context.h Mesa/src/convolve.c Mesa/src/convolve.h Mesa/src/copypix.c Mesa/src/copypix.h Mesa/src/debug.c Mesa/src/depth.c Mesa/src/depth.h Mesa/src/dlist.c Mesa/src/dlist.h Mesa/src/drawpix.c Mesa/src/drawpix.h Mesa/src/enable.c Mesa/src/enable.h Mesa/src/eval.c Mesa/src/eval.h Mesa/src/extensions.c Mesa/src/extensions.h Mesa/src/feedback.c Mesa/src/feedback.h Mesa/src/fog.c Mesa/src/fog.h Mesa/src/get.c Mesa/src/get.h Mesa/src/glapi.c Mesa/src/glthread.h Mesa/src/highpc.c Mesa/src/hint.h Mesa/src/histogram.h Mesa/src/image.c Mesa/src/image.h Mesa/src/imports.c Mesa/src/light.c Mesa/src/light.h Mesa/src/lines.c Mesa/src/lines.h Mesa/src/logic.c Mesa/src/logic.h Mesa/src/masking.c Mesa/src/masking.h Mesa/src/matrix.c Mesa/src/matrix.h Mesa/src/pixel.c Mesa/src/pixel.h Mesa/src/points.c Mesa/src/points.h Mesa/src/polygon.c Mesa/src/polygon.h Mesa/src/rastpos.c Mesa/src/readpix.c Mesa/src/scissor.c Mesa/src/scissor.h Mesa/src/state.c Mesa/src/state.h Mesa/src/stencil.c Mesa/src/stencil.h Mesa/src/teximage.c Mesa/src/teximage.h Mesa/src/texobj.c Mesa/src/texobj.h Mesa/src/texstate.c Mesa/src/texstate.h Mesa/src/texture.c Mesa/src/texture.h Mesa/src/texutil.c Mesa/src/texutil.h Mesa/src/varray.c Mesa/src/varray.h Mesa/src/X/fakeglx.c Mesa/src/X/xm_api.c Mesa/src/X/xm_dd.c Mesa/src/X/xm_line.c Mesa/src/X/xm_span.c Mesa/src/X/xm_tri.c Mesa/src/swrast/s_aaline.c Mesa/src/swrast/s_aaline.h Mesa/src/swrast/s_aatriangle.h Mesa/src/swrast/s_accum.h Mesa/src/swrast/s_alpha.h Mesa/src/swrast/s_alphabuf.h Mesa/src/swrast/s_blend.h Mesa/src/swrast/s_context.c Mesa/src/swrast/s_context.h Mesa/src/swrast/s_depth.h Mesa/src/swrast/s_drawpix.h Mesa/src/swrast/s_feedback.h Mesa/src/swrast/s_fog.h Mesa/src/swrast/s_histogram.h Mesa/src/swrast/s_lines.h Mesa/src/swrast/s_logic.h Mesa/src/swrast/s_masking.h Mesa/src/swrast/s_pb.h Mesa/src/swrast/s_pixeltex.h Mesa/src/swrast/s_points.h Mesa/src/swrast/s_quads.c Mesa/src/swrast/s_quads.h Mesa/src/swrast/s_scissor.h Mesa/src/swrast/s_span.h Mesa/src/swrast/s_stencil.h Mesa/src/swrast/s_texture.h Mesa/src/swrast/s_triangle.h Mesa/src/swrast/s_zoom.h Mesa/src/swrast/swrast.h Mesa/src/swrast_setup/ss_context.h Mesa/src/swrast_setup/ss_triangle.c Mesa/src/swrast_setup/ss_triangle.h Mesa/src/swrast_setup/ss_vb.h Mesa/src/tnl/t_clip.c Mesa/src/tnl/t_clip.h Mesa/src/tnl/t_context.c Mesa/src/tnl/t_context.h Mesa/src/tnl/t_cva.c Mesa/src/tnl/t_cva.h Mesa/src/tnl/t_debug.c Mesa/src/tnl/t_debug.h Mesa/src/tnl/t_dlist.h Mesa/src/tnl/t_eval.c Mesa/src/tnl/t_eval.h Mesa/src/tnl/t_fog.c Mesa/src/tnl/t_fog.h Mesa/src/tnl/t_light.c Mesa/src/tnl/t_light.h Mesa/src/tnl/t_pipeline.c Mesa/src/tnl/t_pipeline.h Mesa/src/tnl/t_shade.c Mesa/src/tnl/t_shade.h Mesa/src/tnl/t_stages.c Mesa/src/tnl/t_stages.h Mesa/src/tnl/t_texture.c Mesa/src/tnl/t_texture.h Mesa/src/tnl/t_trans_elt.c Mesa/src/tnl/t_trans_elt.h Mesa/src/tnl/t_varray.c Mesa/src/tnl/t_varray.h Mesa/src/tnl/t_vb.c Mesa/src/tnl/t_vb.h Mesa/src/tnl/t_vbcull.c Mesa/src/tnl/t_vbcull.h Mesa/src/tnl/t_vbfill.c Mesa/src/tnl/t_vbfill.h Mesa/src/tnl/t_vbindirect.c Mesa/src/tnl/t_vbindirect.h Mesa/src/tnl/t_vbrender.c Mesa/src/tnl/t_vbrender.h Mesa/src/tnl/t_vbxform.c Mesa/src/tnl/t_vbxform.h Mesa/src/tnl/tnl.h Added Files: Mesa/src/mtypes.h Removed Files: Mesa/src/types.h Changed Mesa/src/types to Mesa/src/mtypes.h to avoid conflicts while compiling on a VMS system. ----------------------------------------------------------------------
* Committing in .Jouk Jansen2000-11-171-2/+9
| | | | | | | | | | | | | | | | Patches to compile Mesa on VMS. -Updated for new directory tree -Now compile with PTHREADS on The patch in glthread.h is temporarily. The include file src/types.h conflicts with the system defined types.h. In future the mesa supplied one should be renamed. Modified Files: Mesa/include/GL/vms_x_fix.h Mesa/src/descrip.mms Mesa/src/glthread.h Mesa/src/mms_depend ----------------------------------------------------------------------
* fixed WIN32_THREADS errorBrian Paul2000-02-111-3/+3
|
* THREADS now defined by glthread.h, added more prototypesBrian Paul2000-02-101-16/+11
|
* added support for XFree86 threads. misc clean-upBrian Paul2000-02-101-18/+74
|
* added Mutex macrosBrian Paul2000-01-311-5/+60
|
* initial revBrian Paul1999-12-161-0/+145