summaryrefslogtreecommitdiffstats
path: root/src/mesa/glapi/glapi.c
Commit message (Collapse)AuthorAgeFilesLines
* glapi: EXTRA_DEBUG is never defined, make this explicitGeorge Sapountzis2010-02-251-1/+1
|
* glapi: minor ugliness to be able to copy to xorgGeorge Sapountzis2010-02-251-12/+1
|
* glapi: split the no-op dispatch code into new glapi_nop.c fileBrian Paul2010-01-221-80/+1
| | | | This unclutters the glapi.c file a bit.
* glapi: fix int->pointer conversions warnings in no-op functionsBrian Paul2010-01-221-1/+1
|
* Merge branch 'master' into opengl-es-v2Chia-I Wu2010-01-121-23/+26
|\ | | | | | | | | Conflicts: src/mesa/main/dd.h
| * Only enable verbose NoOp dispatch if DEBUG is definedKristian Høgsberg2010-01-031-2/+19
| | | | | | | | | | | | | | | | By default we generate a function per GL entry point to warn if it's called without a context set. This is to allow the function to print it's name in the warning. By using a generic function that doesn't print the function name in the non-DEBUG case, we reduce libGL size from 320008 bytes to 283144 bytes (11%).
| * Noop dispatch: move warning code out of the generated functionsKristian Høgsberg2010-01-031-21/+7
| | | | | | | | | | This reduces libGL size by 11% here, going from 360968 bytes to 320008 bytes.
| * Export a few glapi functions used by gallium and r300Kristian Høgsberg2010-01-031-1/+1
| | | | | | | | Fixes breakage from -fvisibility-hidden commit.
* | glapi: Include headers with directory prefixes.Chia-I Wu2009-11-051-4/+4
|/ | | | | | This allows different sets of generated sources and headers to be used. Signed-off-by: Chia-I Wu <[email protected]>
* Revert "glapi: Fix a possible race in getting current context/dispatch."Brian Paul2009-08-251-36/+39
| | | | | | | 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-39/+36
| | | | | | | | | | | | | | | | | | 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]>
* glapi: Static mutex does not work on WIN32_THREADS.Chia-I Wu2009-08-241-2/+11
| | | | | | | This re-introduces the race in _glapi_check_multithread, but avoids a crash on windows. Signed-off-by: Chia-I Wu <[email protected]>
* glapi: Fix a race in accessing context/dispatch TSD.Chia-I Wu2009-08-241-0/+4
| | | | | | | | | If multiple threads set/get a TSD at roughly same time for the first time, glthread might (wrongly) initialize it more than once. This patch solves the race by initializing context/dispatch TSDs early. Acked-by: Ian Romanick <[email protected]> Signed-off-by: Chia-I Wu <[email protected]>
* glapi: Protect _glapi_check_multithread by a mutex.Chia-I Wu2009-08-241-14/+15
| | | | | | | | | Multiple threads might call _glapi_check_multithread at roughly the same time. It is possbile that all of them are wrongly regarded as firstCall if there is no mutex. This bug causes xeglthreads to crash sometimes. Acked-by: Ian Romanick <[email protected]> Signed-off-by: Chia-I Wu <[email protected]>
* mesa: Resurrect SPARC asm code.David S. Miller2009-02-261-0/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This rewrites the sparc GLAPI code so that it's PIC friendly and works with all of the TLS/PTHREADS/64-bit/32-bit combinations properly. As a result we can turn SPARC asm back on. Currently it's only enabled on Linux, as that's the only place where I can test this stuff out. For the moment the cliptest SPARC asm routines are disabled as they are non-working. The problem is that they use register %g7 as a temporary which is where the threading libraries store the thread pointer on SPARC. I will fix that code up in a future change as it's a pretty important routine to optimize. Like x86 we do the runtime patch as a pthread once-invoked initializer in init_glapi_relocs(). Unlike x86, however, our GLAPI stubs on SPARC are just two instruction sequences that branch to a trampoline and put the GLAPI offset into a register. The trampoline is what we run-time patch. The stubs thus all look like: glFoo: ba __glapi_sparc_foo_stub sethi GLAPI_OFFSET(glFOO) * PTR_SIZE, %g3 This actually makes generate_entrypoint() a lot simpler on SPARC. For this case in generate_entrypoint() we generate stubs using a 'call' instead of the 'ba' above to make sure it can reach. In order to get a proper tail call going here, in the unpatched case, we do several tricks. To get the current PC, for example, we save the return address register into a temporary, do a call, save the return address register written by the call to another temporary, then restore the original return address register value. This is to avoid having to allocate a stack frame. This is necessary for PIC address formation. This new GLAPI scheme lets us get rid of the ugly SPARC GLAPI hacks in __glXInitialize() and one_time_init(). Signed-off-by: David S. Miller <[email protected]>
* mesa: move a bunch of compiler-related stuff into new compiler.h headerBrian Paul2009-02-221-0/+2
| | | | This trims down and cleans up imports.h and glheader.h quite a bit.
* Merge commit 'origin/master' into gallium-0.2Keith Whitwell2008-10-101-0/+24
|\ | | | | | | | | | | | | Conflicts: src/mesa/glapi/descrip.mms src/mesa/shader/grammar/descrip.mms
| * glapi: add DISPATCH_FUNCTION_SIZETobias Jakobi2008-09-271-0/+14
| |
| * glapi: add gl_dispatch_functions_start and endTobias Jakobi2008-09-271-0/+10
| |
| * mesa: refactor: move GetProcAddress code from glapi.c into new ↵Brian Paul2008-09-231-622/+30
| | | | | | | | glapi_getproc.c file
* | Merge branch 'master' into gallium-0.2Keith Whitwell2008-09-211-0/+16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: include/GLES/egl.h include/GLES/egltypes.h src/egl/main/eglconfig.c src/egl/main/eglconfig.h src/glu/sgi/libnurbs/interface/bezierEval.h src/glu/sgi/libnurbs/interface/bezierPatch.h src/glu/sgi/libnurbs/interface/bezierPatchMesh.h src/glu/sgi/libnurbs/internals/dataTransform.h src/glu/sgi/libnurbs/internals/displaymode.h src/glu/sgi/libnurbs/internals/sorter.h src/glu/sgi/libnurbs/nurbtess/definitions.h src/glu/sgi/libnurbs/nurbtess/directedLine.h src/glu/sgi/libnurbs/nurbtess/gridWrap.h src/glu/sgi/libnurbs/nurbtess/monoChain.h src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h src/glu/sgi/libnurbs/nurbtess/partitionX.h src/glu/sgi/libnurbs/nurbtess/partitionY.h src/glu/sgi/libnurbs/nurbtess/polyDBG.h src/glu/sgi/libnurbs/nurbtess/polyUtil.h src/glu/sgi/libnurbs/nurbtess/primitiveStream.h src/glu/sgi/libnurbs/nurbtess/quicksort.h src/glu/sgi/libnurbs/nurbtess/rectBlock.h src/glu/sgi/libnurbs/nurbtess/sampleComp.h src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h src/glu/sgi/libnurbs/nurbtess/sampledLine.h src/glu/sgi/libnurbs/nurbtess/searchTree.h src/glu/sgi/libnurbs/nurbtess/zlassert.h src/glu/sgi/libutil/error.c src/glu/sgi/libutil/glue.c src/glu/sgi/libutil/gluint.h src/glu/sgi/libutil/project.c src/glu/sgi/libutil/registry.c src/glx/x11/Makefile src/glx/x11/glxclient.h src/glx/x11/glxext.c src/mesa/drivers/dri/ffb/ffb_dd.h src/mesa/drivers/dri/ffb/ffb_points.h src/mesa/drivers/dri/gamma/gamma_context.h src/mesa/drivers/dri/gamma/gamma_macros.h src/mesa/drivers/dri/i810/i810context.h src/mesa/drivers/dri/r128/r128_dd.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/tdfx/tdfx_dd.h src/mesa/drivers/x11/xm_buffer.c src/mesa/glapi/glapi.c src/mesa/main/dispatch.c src/mesa/main/state.c src/mesa/main/texstate.c src/mesa/shader/arbprogparse.c src/mesa/shader/arbprogram.c src/mesa/shader/nvfragparse.c src/mesa/shader/nvprogram.c src/mesa/shader/shader_api.c src/mesa/sources src/mesa/swrast/s_aaline.c src/mesa/swrast/s_aaline.h src/mesa/swrast/s_aatriangle.h src/mesa/swrast/s_accum.c src/mesa/swrast/s_alpha.h src/mesa/swrast/s_bitmap.c src/mesa/swrast/s_blend.h src/mesa/swrast/s_context.c src/mesa/swrast/s_copypix.c src/mesa/swrast/s_depth.c src/mesa/swrast/s_depth.h src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_drawpix.h src/mesa/swrast/s_feedback.c src/mesa/swrast/s_feedback.h src/mesa/swrast/s_fog.h src/mesa/swrast/s_lines.h src/mesa/swrast/s_logic.h src/mesa/swrast/s_masking.h src/mesa/swrast/s_points.c src/mesa/swrast/s_points.h src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast/s_span.h src/mesa/swrast/s_stencil.h src/mesa/swrast/s_texcombine.c src/mesa/swrast/s_texcombine.h src/mesa/swrast/s_texfilter.c src/mesa/swrast/s_texfilter.h src/mesa/swrast/s_texstore.c src/mesa/swrast/s_triangle.c src/mesa/swrast/s_triangle.h src/mesa/swrast/s_zoom.h src/mesa/swrast_setup/ss_context.c src/mesa/swrast_setup/ss_triangle.h src/mesa/tnl/t_draw.c src/mesa/tnl/t_vb_light.c src/mesa/tnl/t_vertex_generic.c src/mesa/tnl/t_vertex_sse.c src/mesa/tnl/t_vp_build.h src/mesa/tnl/tnl.h src/mesa/x86/common_x86.c
| * mesa: prefix a bunch of #include lines with "main/".Brian Paul2008-09-181-1/+1
| | | | | | | | | | This is another step toward removing a whole bunch of -I flags from the cc commands. Still need to address driver code...
* | tree buildsAlan Hourihane2008-09-111-460/+0
| |
* | Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-179/+35
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A first attempt at moving gallium onto a branch directly off master... It will be interesting to see how much work this takes to get running. Have resolved the conflicts semi-arbitarily, not compiled or tested. Conflicts: .gitignore Makefile configs/config.mgw configs/darwin configs/darwin-x86ppc configs/default configs/freebsd-dri configs/linux-dri configs/linux-dri-xcb configs/linux-fbdev configs/linux-static configs/linux-x86-64-static configs/linux-x86-static doxygen/Makefile include/GL/gl.h progs/demos/Makefile progs/demos/descrip.mms progs/demos/texenv.c progs/egl/.gitignore progs/egl/Makefile progs/glsl/.gitignore progs/glsl/Makefile progs/glsl/convolutions.c progs/samples/Makefile.mgw progs/tests/.gitignore progs/trivial/.gitignore progs/trivial/point-param.c progs/trivial/tri.c progs/xdemos/.gitignore progs/xdemos/glthreads.c src/egl/drivers/demo/Makefile src/egl/drivers/dri/Makefile src/egl/main/Makefile src/glu/Makefile src/glu/sgi/Makefile src/glu/sgi/Makefile.mgw src/glut/glx/Makefile.mgw src/glut/os2/WarpWin.cpp src/glut/os2/glut_cindex.cpp src/glut/os2/glut_gamemode.cpp src/glut/os2/glut_win.cpp src/glut/os2/glut_winmisc.cpp src/glut/os2/os2_glx.cpp src/glut/os2/os2_menu.cpp src/glut/os2/os2_winproc.cpp src/glw/Makefile src/glx/x11/dri_glx.c src/glx/x11/glxext.c src/mesa/Makefile src/mesa/Makefile.mgw src/mesa/descrip.mms src/mesa/drivers/beos/Makefile src/mesa/drivers/common/descrip.mms src/mesa/drivers/common/driverfuncs.c src/mesa/drivers/directfb/Makefile src/mesa/drivers/dri/Makefile.template src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_bufmgr.h src/mesa/drivers/dri/common/dri_util.c src/mesa/drivers/dri/common/extension_helper.h src/mesa/drivers/dri/common/mmio.h src/mesa/drivers/dri/common/utils.c src/mesa/drivers/dri/common/utils.h src/mesa/drivers/dri/glcore/Makefile src/mesa/drivers/dri/i810/i810screen.c src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/drivers/dri/i915/intel_ioctl.h src/mesa/drivers/dri/i915/intel_screen.c src/mesa/drivers/dri/i915/server/i830_common.h src/mesa/drivers/dri/i915/server/i830_dri.h src/mesa/drivers/dri/i965/intel_screen.c src/mesa/drivers/dri/i965/server/i830_common.h src/mesa/drivers/dri/i965/server/i830_dri.h src/mesa/drivers/dri/mach64/mach64_screen.c src/mesa/drivers/dri/nouveau/nouveau_context.h src/mesa/drivers/dri/nouveau/nouveau_fifo.c src/mesa/drivers/dri/nouveau/nouveau_fifo.h src/mesa/drivers/dri/nouveau/nouveau_screen.c src/mesa/drivers/dri/nouveau/nouveau_screen.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/savage/savageioctl.h src/mesa/drivers/fbdev/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/descrip.mms src/mesa/drivers/x11/Makefile src/mesa/drivers/x11/descrip.mms src/mesa/drivers/x11/xm_dd.c src/mesa/glapi/glapi.c src/mesa/glapi/glthread.c src/mesa/main/api_validate.c src/mesa/main/attrib.c src/mesa/main/bufferobj.c src/mesa/main/bufferobj.h src/mesa/main/buffers.c src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/descrip.mms src/mesa/main/drawpix.c src/mesa/main/enums.c src/mesa/main/fbobject.c src/mesa/main/glheader.h src/mesa/main/imports.c src/mesa/main/mipmap.c src/mesa/main/mm.c src/mesa/main/mm.h src/mesa/main/mtypes.h src/mesa/main/points.c src/mesa/main/sources src/mesa/main/state.c src/mesa/main/texcompress_fxt1.c src/mesa/main/texenvprogram.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c src/mesa/math/descrip.mms src/mesa/shader/arbprogram.c src/mesa/shader/descrip.mms src/mesa/shader/prog_execute.c src/mesa/shader/prog_statevars.c src/mesa/shader/prog_statevars.h src/mesa/shader/prog_uniform.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/shader_api.c src/mesa/shader/slang/descrip.mms src/mesa/shader/slang/library/slang_vertex_builtin_gc.h src/mesa/sources src/mesa/swrast/descrip.mms src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_fragprog.c src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast_setup/descrip.mms src/mesa/tnl/descrip.mms src/mesa/tnl/t_context.h src/mesa/tnl/t_vp_build.c src/mesa/tnl/tnl.h src/mesa/vbo/descrip.mms src/mesa/vbo/vbo_context.c src/mesa/vbo/vbo_exec_array.c src/mesa/x86-64/xform4.S src/mesa/x86/rtasm/x86sse.c src/mesa/x86/rtasm/x86sse.h windows/VC6/progs/glut/glut.dsp windows/VC7/mesa/gdi/gdi.vcproj windows/VC7/mesa/glu/glu.vcproj windows/VC7/mesa/mesa.sln windows/VC7/mesa/mesa/mesa.vcproj windows/VC7/mesa/osmesa/osmesa.vcproj windows/VC7/progs/glut/glut.vcproj windows/VC8/mesa/gdi/gdi.vcproj windows/VC8/mesa/glu/glu.vcproj windows/VC8/mesa/mesa.sln windows/VC8/mesa/mesa/mesa.vcproj windows/VC8/progs/glut/glut.vcproj
| * mesa: Prefix main includes with dir to avoid conflicts.José Fonseca2008-07-241-1/+1
| | | | | | | | | | Some of the headers in src/mesa/main have pretty common names which easily conflict with third-party code, e.g. config.h
| * mesa: No getenv on WinCE.José Fonseca2008-06-241-0/+4
| |
| * mesa: refactor: move GetProcAddress code from glapi.c into new ↵Brian Paul2008-06-181-622/+30
| | | | | | | | glapi_getproc.c file
* | mesa: return -1, not GL_FALSE if _glapi_add_dispatch() fails name sanity checkBrian Paul2008-07-091-2/+2
| |
* | Bring over commit 8d4d0b47a07a298a20ffae9fefe96c8c7ca9dccc from xserver treePaulo Cesar Pereira de Andrade2008-07-021-0/+3
| |
* | Make the shared glapi files not include glheader.h.Kristian Høgsberg2008-05-211-1/+10
| |
* | glcore: build from mesaGeorge Sapountzis2008-04-231-0/+4
|/
* Fix TEXREL issues when using GLX_USE_TLS (see bug 7459).Brian2007-06-121-9/+11
|
* Call _glapi_set_context(NULL) in _glapi_check_multithread() to make sure the ↵Brian2007-04-021-0/+1
| | | | _glapi_Context global gets cleared properly.
* Delete two invalid assertions.Ian Romanick2007-02-201-2/+0
| | | | | | These two assertions are invalid for a couple reasons. Primarily, when this code is compiled into the X-server, the symbols "glSecondaryColor3fEXT" and "glPointParameterivNV" do not exist.
* 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)