summaryrefslogtreecommitdiffstats
path: root/src/mesa/glapi/glapi.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* API dispath updatesBrian Paul2001-11-181-1250/+3
|
* updated for new glext.hBrian Paul2001-10-171-1/+3
|
* more GL 1.3 updatesBrian Paul2001-09-141-49/+104
|
* Remove dependency on MESA sources from gl* filesdavem692001-06-061-11/+9
| | | | | | | in SPARC glapi optimizations by moving the icache flush into the glapi_sparc.S file. Brian, how is this?
* Sparc optimized GLAPI dispatch table.davem692001-06-051-2/+53
|
* infrastructure for GL_ARB_multisampleBrian Paul2001-05-291-2/+1
|
* removed a debug messageBrian Paul2001-03-281-2/+1
|
* New mechanism for thread-safe GL API dispatch. C-based dispatch is faster.Brian Paul2001-03-281-19/+118
| | | | | | Folded glapinoop.c code into glapi.c. Added code to glapitemp.h to fill in dispatch tables. Updated Makefiles.
* Consistent copyright info (version number, date) across all files.Gareth Hughes2001-03-121-5/+1
|
* fixed a bunch of g++ warnings/errors. Compiling with g++ can help find lots ↵Brian Paul2001-03-071-4/+4
| | | | of potential problems
* added dispatch override mechanism, used by trace extensionBrian Paul2001-01-231-50/+110
|
* Committing in .Jouk Jansen2000-11-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ----------------------------------------------------------------------
* Enabled GL_EXT_secondary_color. Fixed a bunch of typos in the dlist.cBrian Paul2000-10-271-19/+21
| | | | | | | | and state.c file for plugging those functions into the dispatch table. Don't use Mesa 3.5 for DRI until SGI approves the new dispatch offsets. Commented-out references to ctx->FogMode and VB->Specular in FX driver. Minor clean-up in extensions.c Removed unused prototype in fog.h
* Rewrote get_static_proc_address(). It made mistakes in some situationsBrian Paul2000-10-191-6/+8
|