Add a new offset mode to the GL API XML. This mode, called "assign,"
tells the scripts to assign an available offset to the function. The
important changes are in src/mesa/glapi/gl_XML.py and
src/mesa/glapi/*.xml.
Since the DRI drivers only depend on functions required by the ABI
(e.g., GL 1.2 + ARB_multitexture) having fixed offsets, all functions
not in the ABI use "assign" mode. This has caused the offset of
basically every function outside the ABI to change. I have verified
that a libGL with this patch works with a DRI driver without the patch.
Futher, several function were removed from the dispatch tables
altogether. These are the functions for the following extensions:
GL_SGIS_texture_filter4
GL_SGIS_texture4D
GL_SGIS_detail_texture
GL_SGIS_sharpen_texture
GL_SGIX_sprite
GL_SGIX_instruments
GL_SGIX_framezoom
GL_SGIX_tag_sample_buffer
GL_SGIX_reference_plane
GL_SGIX_flush_raster
GL_SGIX_list_priority
GL_SGIX_fragment_lighting
GL_PGI_misc_hints
GL_EXT_index_material
GL_EXT_index_func
GL_3DFX_tbuffer
This removes 50 functions from the dispatch table.
diff --git a/src/mesa/glapi/gl_offsets.py b/src/mesa/glapi/gl_offsets.py
index 2966e3b..59f8d37 100644
--- a/src/mesa/glapi/gl_offsets.py
+++ b/src/mesa/glapi/gl_offsets.py
@@ -65,10 +65,8 @@
for [f, index] in functions:
print '#define _gloffset_%s %d' % (f.name, f.offset)
- if f.offset > last_static:
- last_static = f.offset
- print '#define _gloffset_FIRST_DYNAMIC %d' % (last_static + 1)
+ print '#define _gloffset_FIRST_DYNAMIC %d' % (api.next_offset)
print ''
print '#else'