summaryrefslogtreecommitdiffstats
path: root/src/mesa/glapi/glapi.h
Commit message (Collapse)AuthorAgeFilesLines
* Put 'extern' first on the line to silence GCC warnings.Ian Romanick2009-08-281-2/+2
|
* Revert "glapi: Fix a possible race in getting current context/dispatch."Brian Paul2009-08-251-4/+1
| | | | | | | This reverts commit 17090cf3efb0db8fa01b502a9c0df27cbd1a67da. We're reverting this because it causes ABI breakage with the X server. Maybe re-attempt with another patch.
* glapi: Fix a possible race in getting current context/dispatch.Chia-I Wu2009-08-241-1/+4
| | | | | | | | | | | | | | | | | | There is a possbile race that _glapi_Context is reset by another thread after it is tested in GET_CURRENT_CONTEXT but before it is returned. We definitely do not want a lock here to solve the race. To have correct results even under a race, no other threads should reset _glapi_Context (or _glapi_Dispatch). This patch adds a new global variable _glapi_SingleThreaded. Since _glapi_Context or _glapi_Dispatch are no longer reset, _glapi_SingleThreaded is tested instead, before accessing them. DRI drivers compiled with this patch applied will not work with existing libGL.so because of the missing new symbol. If this turns out to be a real problem, this patch should be reverted. Signed-off-by: Chia-I Wu <[email protected]>
* mesa: refactor: move GetProcAddress code from glapi.c into new ↵Brian Paul2008-09-231-2/+10
| | | | glapi_getproc.c file
* mesa: move some glapi bits aroundBrian Paul2008-09-211-1/+4
| | | | | | Move _glapi_proc typedef from glapitable.h to glapi.h Also, don't include glapitable.h from glapi.h Before we were including the huge glapitable.h file in every .c file.
* Need to include glthread.h in glapi.h, not glapi.c so that GET_CURRENT_CONTEXTBrian Paul2006-03-151-15/+15
| | | | | is properly defined. Fixes long-standing, but unnoticed thread safety failure. Also, updated comments.
* commit to fixup MGL namespacing for XGLDave Airlie2006-02-101-0/+8
|
* Remove _glapi_check_multithread from the interface exported by the loader toIan Romanick2005-08-101-4/+0
| | | | | | | | | | | | | | | | | 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
* Major rip-up of internal function insertion interface. The oldmesa_6_3_1Ian Romanick2005-07-281-7/+4
| | | | | | | | | | | | | | | | | | | | | | _glapi_add_entrypoint has been replaced by a new routine called _glapi_add_dispatch. This new routine dynamically assignes dispatch offsets to functions added. This allows IHVs to add support for extension functions that do not have assigned dispatch offsets. It also means that a driver has no idea what offset will be assigned to a function. The vast majority of the changes in this commit account for that. An additional table, driDispatchRemapTable, is added. Functions not in the Linux OpenGL ABI (i.e., anything not in GL 1.2 + ARB_multitexture) has a fixed offset in this new table. The entry in this table specifies the offset in of the function in the real dispatch table. The internal interface was also bumped from version 20050725 to 20050727. This has been tested with various programs in progs/demos on: radeon (Radeon Mobility M6) r128 (Rage 128 Pro) mga (G400)
* Stop gcc-4.0 complaining about "type qualifiers ignored on functionKeith Whitwell2005-04-281-1/+1
| | | | return type".
* In GLX_USE_TLS builds, make GET_CURRENT_CONTEXT use the TLS verion of theIan Romanick2005-04-141-0/+24
| | | | | | 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.
* silence warningAlan Hourihane2004-12-081-1/+1
|
* Use new _glapi_proc typedef instead of void * for function pointers.Brian Paul2004-11-271-2/+4
| | | | Misc clean-ups in glapi.c
* More updates for Doxygen.Brian Paul2004-09-101-3/+20
|
* Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.Ian Romanick2003-06-051-1/+0
|
* Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.Brian Paul2002-06-291-1/+5
| | | | Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
* New mechanism for thread-safe GL API dispatch. C-based dispatch is faster.Brian Paul2001-03-281-1/+5
| | | | | | Folded glapinoop.c code into glapi.c. Added code to glapitemp.h to fill in dispatch tables. Updated Makefiles.
* added dispatch override mechanism, used by trace extensionBrian Paul2001-01-231-6/+12
|
* Replaced preprocessor symbol GL_MESA_TRACE with MESA_TRACE.Brian Paul2000-09-261-2/+2
| | | | Changed src/Makefile.X11 to compile Trace sources like other drivers.
* added GL_MESA_trace supportBrian Paul2000-09-151-2/+2
|
* added tracing facility from LokiBrian Paul2000-09-051-2/+8
|
* renamed _glapi_CurrentContext to _glapi_ContextBrian Paul2000-01-281-4/+4
|
* added _glapi_DispatchBrian Paul2000-01-171-2/+4
|
* removed _glapi_ThreadSafeBrian Paul2000-01-051-3/+1
|
* added current context functions, made ThreadSafe publicBrian Paul1999-12-171-1/+14
|
* minor clean-upBrian Paul1999-12-161-2/+1
|
* thread support now worksBrian Paul1999-12-161-5/+5
|
* minor changeBrian Paul1999-12-161-2/+4
|
* added _glapi_get_proc_name()Brian Paul1999-12-151-1/+5
|
* new thread codeBrian Paul1999-12-151-1/+5
|
* added many more extension entry pointsBrian Paul1999-12-151-5/+1
|
* lots of work on extension managementBrian Paul1999-11-271-6/+9
|
* include glapitable.hBrian Paul1999-11-251-524/+2
|
* replaced _GLAPI_EXT_color_table with _GLAPI_EXT_paletted_textureBrian Paul1999-11-121-4/+4
|
* first big check-in of new Mesa 3.3 codeBrian Paul1999-11-111-0/+591