summaryrefslogtreecommitdiff
path: root/src/mesa/glapi/glapi.c
AgeCommit message (Collapse)Author
2005-08-10Remove _glapi_check_multithread from the interface exported by the loader toIan Romanick
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
2005-07-28Major rip-up of internal function insertion interface. The oldIan Romanick
_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)
2005-07-28Fix SPARC assembly for 64-bitIan Romanick
- 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.
2005-04-28Stop gcc-4.0 complaining about "type qualifiers ignored on functionKeith Whitwell
return type".
2005-04-15Reverted the last change back to fix bug 3035Ben Crossman
2005-04-14A few getenv() that werent using the mesa wrapper versionBen Crossman
2005-04-13Add TLS support to libGL and, by virtue of using glthread.h and GL_CALL, allIan Romanick
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.
2004-12-15_glapi_* is effectively PUBLIC API for the DRI drivers.Adam Jackson
2004-12-03silence a variety of warnings found with g++ 3.4.2Brian Paul
2004-11-27make get_static_proc_address() return a _glapi_procBrian Paul
2004-11-27Use new _glapi_proc typedef instead of void * for function pointers.Brian Paul
Misc clean-ups in glapi.c
2004-11-22applied SPARC patch (freedesktop bug 1898)Brian Paul
2004-11-05shorter error messages when calling a GL function without a bound context ↵Brian Paul
(FDO bug 1775)
2004-08-25Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch ↵Brian Paul
1015696)
2004-07-06correct X86_DISPATCH_FUNCTION_SIZE if THREADS is definedRoland Scheidegger
2004-07-05Fix typos in comments.Ian Romanick
2004-07-05Another "if it ain't broke, don't fix it" moment. Revert some moreIan Romanick
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).
2004-07-05fixed non-threaded codepathDaniel Borca
2004-07-02Fix a potential race condition. Fix a couple of places whereIan Romanick
_glapi_DispatchTSD wasn't properly handled.
2004-06-30Add infrastructure for t_vertex.c codegen. Add an example driverKeith Whitwell
for this which spits out C code for the generated functions.
2004-06-29First phase of TLS work. At this point SPARC assembly dispatch isIan Romanick
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.
2004-05-27Modify glprocs.h to have two tables instead of one. The first tableIan Romanick
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.
2004-04-23minor fixes for entrypoint name manglingBrian Paul
2004-01-07no-op table on par with main dispatcherDaniel Borca
2003-12-01fix __sparc_v9__ test to exclude linux (bug 852204)Brian Paul
2003-09-19Assorted casts to silence g++ warnings.Brian Paul
2003-08-27make _glapi_get_proc_address() return NULL if function doesn't start with gl ↵Brian Paul
prefix
2003-06-05Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.Ian Romanick
2002-10-29added some casts for mallocs (bug 630379)Brian Paul
2002-10-17s/functionOffset/offset/Brian Paul
2002-10-11Another round of glRead/DrawBuffer() clean-ups and simplifications.Brian Paul
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.
2002-10-02_glapi_get_proc_address() now always returns a valid dispatch stub functionBrian Paul
(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.
2002-06-29Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.Brian Paul
Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
2002-05-29added another spot-check to verify dispatch table correctnessBrian Paul
2002-03-07minor patches from David DawesBrian Paul
2001-12-04dispatch changes to minimize hassle with XFree86 libGLBrian Paul
2001-11-18API dispath updatesBrian Paul
2001-10-17updated for new glext.hBrian Paul
2001-09-14more GL 1.3 updatesBrian Paul
2001-06-06Remove dependency on MESA sources from gl* filesdavem69
in SPARC glapi optimizations by moving the icache flush into the glapi_sparc.S file. Brian, how is this?
2001-06-05Sparc optimized GLAPI dispatch table.davem69
2001-05-29infrastructure for GL_ARB_multisampleBrian Paul
2001-03-28removed a debug messageBrian Paul
2001-03-28New mechanism for thread-safe GL API dispatch. C-based dispatch is faster.Brian Paul
Folded glapinoop.c code into glapi.c. Added code to glapitemp.h to fill in dispatch tables. Updated Makefiles.
2001-03-12Consistent copyright info (version number, date) across all files.Gareth Hughes
2001-03-07fixed a bunch of g++ warnings/errors. Compiling with g++ can help find lots ↵Brian Paul
of potential problems
2001-01-23added dispatch override mechanism, used by trace extensionBrian Paul
2000-11-22 Committing in .Jouk Jansen
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. ----------------------------------------------------------------------
2000-10-27Enabled GL_EXT_secondary_color. Fixed a bunch of typos in the dlist.cBrian Paul
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
2000-10-19Rewrote get_static_proc_address(). It made mistakes in some situationsBrian Paul