aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/glapi/glapi.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix dumb build errors.Ian Romanick2006-10-131-1/+1
| | | | | | I always build with -DGLX_USE_TLS, so I never hit these paths. glapi.h is required in some places because _glapi_Dispatch is declared there, but _glapi_tls_Dispatch is declared in glthread.h.
* remove some debug code invalidated by prev check-inBrian Paul2006-10-121-7/+0
|
* Fix bug #4681.Ian Romanick2006-10-111-1/+6
| | | | | | | | | | | | | | | | | glDeleteTextures and glDeleteTexturesEXT were erroneously listed as aliases of each other. For anything /except/ GLX protocol they are aliases. This set of changes allows functions that are functionally identical but have different GLX protocol to be listed as aliases. When building with GLX_INDIRECT_RENDERING set, different static functions are used. These functions determine whether the current context is direct rendering or not. If the context is direct rendering, the aliased function (e.g., glDeleteTextures in the case of glDeleteTexturesEXT) is called. If the context is not direct rendering, the correct GLX protocol is sent. For a deeper explanation of what is changed, please see: http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
* remove assertion that referenced &glSetFenceNV for debug testBrian Paul2006-08-291-1/+0
|
* The TLS dispatch functions for x86-64 are fixed-size, just like onIan Romanick2006-08-221-18/+22
| | | | | | | | | | x86. This means that the position of each dispatch function can be calculated as (dispatch_offset * size_of_function) + glNewList. This allows us to not store the function pointers in glprocs_table_t. This same optimization has been done for quite some time on x86. We could probably also do this for some cases of the SPARC dispatch as well.
* Add new attribute called static_dispatch to the <function> element. ThisIan Romanick2006-08-221-0/+1
| | | | | | | | | | | | | | | | | | | boolean attribute, which defaults to true, determines whether or not a static dispatch function is available in libGL for applications to link against. Ideally, any new functions that are not part of the ABI should not have directly accessable dispatch functions. This forces applications to use glXGetProcAddress to access these functions. By doing this we can gracefully remove functions from libGL without breaking the linkage of applications. Note that the static dispatch functions are still generated. However, they are given names like gl_dispatch_stub_820 and are marked with the "hidden" linker attribute. All extension functions added since the previous Mesa release (6.5) have been marked as 'static_dispatch="false"'.
* Thread safety for Win32. SourceForge bug #1507315.Brian Paul2006-06-161-0/+9
|
* added 'const' (Dan Schikore)Brian Paul2006-04-131-1/+1
|
* Fixes to silence warnings in code generated by glapi scripts.Kristian Høgsberg2006-03-291-0/+4
|
* assorted code clean-ups, comments, etc.Brian Paul2006-03-151-41/+26
|
* remove invalid assertion in _glapi_get_dispatch(), fixes additional thread ↵Brian Paul2006-03-151-1/+0
| | | | safety problem
* Need to include glthread.h in glapi.h, not glapi.c so that GET_CURRENT_CONTEXTBrian Paul2006-03-151-1/+0
| | | | | is properly defined. Fixes long-standing, but unnoticed thread safety failure. Also, updated comments.
* commit to fixup MGL namespacing for XGLDave Airlie2006-02-101-9/+3
|
* ifdef out some code to make glapi.c linkable in libglx.so (on theIan Romanick2005-10-111-1/+5
| | | | | server). This isn't strictly needed yet, but it doesn't hurt anything either. However, the patches for fd.o bug #2996 require this to build.
* Remove _glapi_check_multithread from the interface exported by the loader toIan Romanick2005-08-101-262/+57
| | | | | | | | | | | | | | | | | 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-90/+222
| | | | | | | | | | | | | | | | | | | | | | _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)
* Fix SPARC assembly for 64-bitIan Romanick2005-07-281-5/+5
| | | | | | | | | | | | | | - The test for whether or not we're building for 64-bit is '#ifdef __arch64__'. This appears to be correct on both Linux and Solaris. - The test for Solaris is now '#if defined(SVR4) || defined(__SVR4) || defined(__svr4__)'. GCC 3.4.0 has all three defined on Solaris 9. - Enables assembly language clip routines. - Fixes to make GLSL code build on Solaris. - Update gl_SPARC_asm.py.
* Stop gcc-4.0 complaining about "type qualifiers ignored on functionKeith Whitwell2005-04-281-1/+1
| | | | return type".
* Reverted the last change back to fix bug 3035Ben Crossman2005-04-151-1/+1
|
* A few getenv() that werent using the mesa wrapper versionBen Crossman2005-04-141-1/+1
|
* Add TLS support to libGL and, by virtue of using glthread.h and GL_CALL, allIan Romanick2005-04-131-51/+148
| | | | | | | 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.
* _glapi_* is effectively PUBLIC API for the DRI drivers.Adam Jackson2004-12-151-21/+21
|
* silence a variety of warnings found with g++ 3.4.2Brian Paul2004-12-031-8/+8
|
* make get_static_proc_address() return a _glapi_procBrian Paul2004-11-271-3/+3
|
* Use new _glapi_proc typedef instead of void * for function pointers.Brian Paul2004-11-271-48/+61
| | | | Misc clean-ups in glapi.c
* applied SPARC patch (freedesktop bug 1898)Brian Paul2004-11-221-3/+3
|
* shorter error messages when calling a GL function without a bound context ↵Brian Paul2004-11-051-9/+7
| | | | (FDO bug 1775)
* Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch ↵Brian Paul2004-08-251-1/+10
| | | | 1015696)
* correct X86_DISPATCH_FUNCTION_SIZE if THREADS is definedRoland Scheidegger2004-07-061-1/+1
|
* Fix typos in comments.Ian Romanick2004-07-051-1/+1
|
* Another "if it ain't broke, don't fix it" moment. Revert some moreIan Romanick2004-07-051-13/+8
| | | | | | code in _glapi_set_dispatch to its 1.74 form. This fixes a "problem" with buggy apps that make GL calls with no bound GL context (i.e., Enemy Territory during shut-down).
* fixed non-threaded codepathDaniel Borca2004-07-051-0/+4
|
* Fix a potential race condition. Fix a couple of places whereIan Romanick2004-07-021-13/+26
| | | | _glapi_DispatchTSD wasn't properly handled.
* Add infrastructure for t_vertex.c codegen. Add an example driverKeith Whitwell2004-06-301-2/+2
| | | | for this which spits out C code for the generated functions.
* First phase of TLS work. At this point SPARC assembly dispatch isIan Romanick2004-06-291-62/+101
| | | | | 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.
* Modify glprocs.h to have two tables instead of one. The first tableIan Romanick2004-05-271-14/+40
| | | | | | is just a huge string will all the function names in it. The second table contains offsets into the first table instead of pointers to strings.
* minor fixes for entrypoint name manglingBrian Paul2004-04-231-0/+10
|
* no-op table on par with main dispatcherDaniel Borca2004-01-071-1/+1
|
* fix __sparc_v9__ test to exclude linux (bug 852204)Brian Paul2003-12-011-5/+5
|
* Assorted casts to silence g++ warnings.Brian Paul2003-09-191-2/+2
|
* make _glapi_get_proc_address() return NULL if function doesn't start with gl ↵Brian Paul2003-08-271-1/+5
| | | | prefix
* Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.Ian Romanick2003-06-051-1/+0
|
* added some casts for mallocs (bug 630379)Brian Paul2002-10-291-3/+3
|
* s/functionOffset/offset/Brian Paul2002-10-171-2/+2
|
* Another round of glRead/DrawBuffer() clean-ups and simplifications.Brian Paul2002-10-111-26/+23
| | | | | | | Replaced ctx->Color._DriverDrawBuffer with swrast->CurrentBuffer. Replaced ctx->Pixel._DriverReadBuffer with ctx->Pixel._ReadSrcMask. swrast->Driver.SetBuffer() takes FRONT/BACK_LEFT/RIGHT_BIT values now. Added tokens and code for GL_AUX buffers, for completeness.
* _glapi_get_proc_address() now always returns a valid dispatch stub functionBrian Paul2002-10-021-95/+136
| | | | | | (provided we're on x86 or SPARC). Later, _glapi_add_entrypoint() will fix-up the dispatch offset (which was -1). This will allow DRI libGL to avoid probing for drivers.
* Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.Brian Paul2002-06-291-18/+34
| | | | Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
* added another spot-check to verify dispatch table correctnessBrian Paul2002-05-291-1/+9
|
* minor patches from David DawesBrian Paul2002-03-071-7/+6
|
* dispatch changes to minimize hassle with XFree86 libGLBrian Paul2001-12-041-12/+1
|