added many more extension entry points
authorBrian Paul <brian.paul@tungstengraphics.com>
Wed, 15 Dec 1999 12:52:31 +0000 (12:52 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Wed, 15 Dec 1999 12:52:31 +0000 (12:52 +0000)
src/mesa/glapi/glapi.c
src/mesa/glapi/glapi.h
src/mesa/glapi/glapitable.h
src/mesa/glapi/glapitemp.h

index 25f05e547c9c8c98e50fef2022aa7ce868b7e59a..1a6b424e0132a95cf2970fe4d6f348c8303ce690 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: glapi.c,v 1.11 1999/12/10 20:01:06 brianp Exp $ */
+/* $Id: glapi.c,v 1.12 1999/12/15 12:52:31 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -134,51 +134,6 @@ _glapi_get_version(void)
 }
 
 
-/*
- * Return list of the hard-coded extension entrypoints in the dispatch table.
- */
-const char **
-_glapi_get_extensions(void)
-{
-   static const char *extensions[] = {
-#ifdef _GLAPI_EXT_paletted_texture
-      "GL_EXT_paletted_texture",
-#endif
-#ifdef _GLAPI_EXT_compiled_vertex_array
-      "GL_EXT_compiled_vertex_array",
-#endif
-#ifdef _GLAPI_EXT_point_parameters
-      "GL_EXT_point_parameters",
-#endif
-#ifdef _GLAPI_EXT_polygon_offset
-      "GL_EXT_polygon_offset",
-#endif
-#ifdef _GLAPI_EXT_blend_minmax
-      "GL_EXT_blend_minmax",
-#endif
-#ifdef _GLAPI_EXT_blend_color
-      "GL_EXT_blend_color",
-#endif
-#ifdef _GLAPI_ARB_multitexture
-      "GL_ARB_multitexture",
-#endif
-#ifdef _GLAPI_INGR_blend_func_separate
-      "GL_INGR_blend_func_separate",
-#endif
-#ifdef _GLAPI_MESA_window_pos
-      "GL_MESA_window_pos",
-#endif
-#ifdef _GLAPI_MESA_resize_buffers
-      "GL_MESA_resize_buffers",
-#endif
-      NULL
-   };
-
-   return extensions;
-}
-
-
-
 struct name_address_pair {
    const char *Name;
    GLvoid *Address;
@@ -573,37 +528,7 @@ static struct name_address_pair static_functions[] = {
 #endif
 #endif
 
-#ifdef _GLAPI_EXT_paletted_texture
-       { "glColorTableEXT", (GLvoid *) glColorTableEXT },
-       { "glColorSubTableEXT", (GLvoid *) glColorSubTableEXT },
-       { "glGetColorTableEXT", (GLvoid *) glGetColorTableEXT },
-       { "glGetColorTableParameterfvEXT", (GLvoid *) glGetColorTableParameterfvEXT },
-       { "glGetColorTableParameterivEXT", (GLvoid *) glGetColorTableParameterivEXT },
-#endif
-
-#ifdef _GLAPI_EXT_compiled_vertex_array
-       { "glLockArraysEXT", (GLvoid *) glLockArraysEXT },
-       { "glUnlockArraysEXT", (GLvoid *) glUnlockArraysEXT },
-#endif
-
-#ifdef _GLAPI_EXT_point_parameters
-       { "glPointParameterfEXT", (GLvoid *) glPointParameterfEXT },
-       { "glPointParameterfvEXT", (GLvoid *) glPointParameterfvEXT },
-#endif
-
-#ifdef _GLAPI_EXT_polygon_offset
-       { "glPolygonOffsetEXT", (GLvoid *) glPolygonOffsetEXT },
-#endif
-
-#ifdef _GLAPI_EXT_blend_minmax
-       { "glBlendEquationEXT", (GLvoid *) glBlendEquationEXT },
-#endif
-
-#ifdef _GLAPI_EXT_blend_color
-       { "glBlendColorEXT", (GLvoid *) glBlendColorEXT },
-#endif
-
-#ifdef _GLAPI_ARB_multitexture
+       /* GL_ARB_multitexture */
        { "glActiveTextureARB", (GLvoid *) glActiveTextureARB },
        { "glClientActiveTextureARB", (GLvoid *) glClientActiveTextureARB },
        { "glMultiTexCoord1dARB", (GLvoid *) glMultiTexCoord1dARB },
@@ -638,28 +563,47 @@ static struct name_address_pair static_functions[] = {
        { "glMultiTexCoord4ivARB", (GLvoid *) glMultiTexCoord4ivARB },
        { "glMultiTexCoord4sARB", (GLvoid *) glMultiTexCoord4sARB },
        { "glMultiTexCoord4svARB", (GLvoid *) glMultiTexCoord4svARB },
-#endif
 
-#ifdef _GLAPI_INGR_blend_func_separate
+       /* 2. GL_EXT_blend_color */
+       { "glBlendColorEXT", (GLvoid *) glBlendColorEXT },
+
+       /* 3. GL_EXT_polygon_offset */
+       { "glPolygonOffsetEXT", (GLvoid *) glPolygonOffsetEXT },
+
+       /* 54. GL_EXT_point_parameters */
+       { "glPointParameterfEXT", (GLvoid *) glPointParameterfEXT },
+       { "glPointParameterfvEXT", (GLvoid *) glPointParameterfvEXT },
+
+       /* 78. GL_EXT_paletted_texture */
+       { "glColorTableEXT", (GLvoid *) glColorTableEXT },
+       { "glColorSubTableEXT", (GLvoid *) glColorSubTableEXT },
+       { "glGetColorTableEXT", (GLvoid *) glGetColorTableEXT },
+       { "glGetColorTableParameterfvEXT", (GLvoid *) glGetColorTableParameterfvEXT },
+       { "glGetColorTableParameterivEXT", (GLvoid *) glGetColorTableParameterivEXT },
+
+       /* 97. GL_EXT_compiled_vertex_array */
+       { "glLockArraysEXT", (GLvoid *) glLockArraysEXT },
+       { "glUnlockArraysEXT", (GLvoid *) glUnlockArraysEXT },
+
+       /* 37. GL_EXT_blend_minmax */
+       { "glBlendEquationEXT", (GLvoid *) glBlendEquationEXT },
+
+       /* 173. GL_EXT/INGR_blend_func_separate */
        { "glBlendFuncSeparateINGR", (GLvoid *) glBlendFuncSeparateINGR },
-#endif
 
-#ifdef _GLAPI_MESA_window_pos
+       /* GL_MESA_window_pos */
        { "glWindowPos4fMESA", (GLvoid *) glWindowPos4fMESA },
-#endif
 
-#ifdef _GLAPI_MESA_resize_buffers
+       /* GL_MESA_resize_buffers */
        { "glResizeBuffersMESA", (GLvoid *) glResizeBuffersMESA },
-#endif
 
-#ifdef _GLAPI_ARB_transpose_matrix
-        { "glLoadTransposeMatrixdARB", (GLvoid *) glLoadTransposeMatrixdARB },
-        { "glLoadTransposeMatrixfARB", (GLvoid *) glLoadTransposeMatrixfARB },
-        { "glMultTransposeMatrixdARB", (GLvoid *) glMultTransposeMatrixdARB },
-        { "glMultTransposeMatrixfARB", (GLvoid *) glMultTransposeMatrixfARB },
-#endif
+       /* GL_ARB_transpose_matrix */
+       { "glLoadTransposeMatrixdARB", (GLvoid *) glLoadTransposeMatrixdARB },
+       { "glLoadTransposeMatrixfARB", (GLvoid *) glLoadTransposeMatrixfARB },
+       { "glMultTransposeMatrixdARB", (GLvoid *) glMultTransposeMatrixdARB },
+       { "glMultTransposeMatrixfARB", (GLvoid *) glMultTransposeMatrixfARB },
 
-      { NULL, NULL }  /* end of list marker */
+       { NULL, NULL }  /* end of list marker */
 };
 
 
@@ -815,6 +759,13 @@ _glapi_get_proc_address(const char *funcName)
 void
 _glapi_check_table(const struct _glapi_table *table)
 {
+   const GLuint entries = sizeof(struct _glapi_table) / sizeof(void *);
+   const void **tab = (const void **) table;
+   GLuint i;
+   for (i = 0; i < entries; i++) {
+      assert(tab[i]);
+   }
+#if 000
    assert(table->Accum);
    assert(table->AlphaFunc);
    assert(table->Begin);
@@ -1275,6 +1226,7 @@ _glapi_check_table(const struct _glapi_table *table)
    assert(table->MultTransposeMatrixdARB);
    assert(table->MultTransposeMatrixfARB);
 #endif
+#endif
 }
 
 
index cfd9d72204213c3b39e6fd32712067e6d9b7bc8c..e02b1f7867601865a71e370036af121118a2a480 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: glapi.h,v 1.4 1999/11/27 21:30:40 brianp Exp $ */
+/* $Id: glapi.h,v 1.5 1999/12/15 12:52:31 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -49,10 +49,6 @@ extern const char *
 _glapi_get_version(void);
 
 
-extern const char **
-_glapi_get_extensions(void);
-
-
 extern void
 _glapi_check_table(const struct _glapi_table *table);
 
index 84273a5b1aa15052589810e1be07bb57f43c2178..24a023e207eb2a9d30e1cf0f422d3e785461af07 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: glapitable.h,v 1.3 1999/12/10 20:01:06 brianp Exp $ */
+/* $Id: glapitable.h,v 1.4 1999/12/15 12:52:31 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
 #include "GL/gl.h"
 
 
-/* Which OpenGL API revisisions are supported by the table: */
-#define _GLAPI_VERSION_1_1  1
-#define _GLAPI_VERSION_1_2  1
-
-/* And which extensions: */
-#define _GLAPI_ARB_imaging  1
-#define _GLAPI_ARB_multitexture  1
-#define _GLAPI_EXT_paletted_texture  1
-#define _GLAPI_EXT_compiled_vertex_array  1
-#define _GLAPI_EXT_point_parameters  1
-#define _GLAPI_EXT_polygon_offset  1
-#define _GLAPI_EXT_blend_minmax  1
-#define _GLAPI_EXT_blend_color  1
-#define _GLAPI_EXT_texture3D 1
-#define _GLAPI_EXT_texture_object 1
-#define _GLAPI_EXT_vertex_array 1
-#define _GLAPI_INGR_blend_func_separate  1
-#define _GLAPI_MESA_window_pos  1
-#define _GLAPI_MESA_resize_buffers  1
-#define _GLAPI_ARB_transpose_matrix  1
-
-
-
 #define _GLAPI_EXTRA_SLOTS 1000
 
 
@@ -391,7 +368,6 @@ struct _glapi_table
    /*
     * OpenGL 1.1
     */
-#ifdef _GLAPI_VERSION_1_1
    GLboolean (*AreTexturesResident)(GLsizei, const GLuint *, GLboolean *);
    void (*ArrayElement)(GLint);
    void (*BindTexture)(GLenum, GLuint);
@@ -421,18 +397,20 @@ struct _glapi_table
    void (*TexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
    void (*TexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
    void (*VertexPointer)(GLint, GLenum, GLsizei, const GLvoid *);
-#endif
+
 
    /*
     * OpenGL 1.2
     */
-#ifdef _GLAPI_VERSION_1_2
    void (*CopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
    void (*DrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
    void (*TexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
    void (*TexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
 
-#ifdef _GLAPI_ARB_imaging
+
+   /*
+    * GL_ARB_imaging
+    */
    void (*BlendColor)(GLclampf, GLclampf, GLclampf, GLclampf);
    void (*BlendEquation)(GLenum);
    void (*ColorSubTable)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
@@ -467,45 +445,10 @@ struct _glapi_table
    void (*ResetHistogram)(GLenum);
    void (*ResetMinmax)(GLenum);
    void (*SeparableFilter2D)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
-#endif  /*_GLAPI_ARB_imaging*/
-#endif  /*_GLAPI_VERSION_1_2*/
-
 
    /*
-    * Extensions
+    * GL_ARB_multitexture
     */
-
-#ifdef _GLAPI_EXT_paletted_texture
-   void (*ColorTableEXT)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-   void (*ColorSubTableEXT)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-   void (*GetColorTableEXT)(GLenum, GLenum, GLenum, GLvoid *);
-   void (*GetColorTableParameterfvEXT)(GLenum, GLenum, GLfloat *);
-   void (*GetColorTableParameterivEXT)(GLenum, GLenum, GLint *);
-#endif
-
-#ifdef _GLAPI_EXT_compiled_vertex_array
-   void (*LockArraysEXT)(GLint, GLsizei);
-   void (*UnlockArraysEXT)(void);
-#endif
-
-#ifdef _GLAPI_EXT_point_parameters
-   void (*PointParameterfEXT)(GLenum, GLfloat);
-   void (*PointParameterfvEXT)(GLenum, const GLfloat *);
-#endif
-
-#ifdef _GLAPI_EXT_polygon_offset
-   void (*PolygonOffsetEXT)(GLfloat, GLfloat);
-#endif
-
-#ifdef _GLAPI_EXT_blend_minmax
-   void (*BlendEquationEXT)(GLenum);
-#endif
-
-#ifdef _GLAPI_EXT_blend_color
-   void (*BlendColorEXT)(GLclampf, GLclampf, GLclampf, GLclampf);
-#endif
-
-#ifdef _GLAPI_ARB_multitexture
    void (*ActiveTextureARB)(GLenum);
    void (*ClientActiveTextureARB)(GLenum);
    void (*MultiTexCoord1dARB)(GLenum, GLdouble);
@@ -540,28 +483,339 @@ struct _glapi_table
    void (*MultiTexCoord4ivARB)(GLenum, const GLint *);
    void (*MultiTexCoord4sARB)(GLenum, GLshort, GLshort, GLshort, GLshort);
    void (*MultiTexCoord4svARB)(GLenum, const GLshort *);
-#endif
 
-#ifdef _GLAPI_INGR_blend_func_separate
+
+   /*
+    * Extensions
+    */
+
+   /* 1. GL_EXT_abgr - no functions */
+
+   /* 2. GL_EXT_blend_color */
+   void (*BlendColorEXT)(GLclampf, GLclampf, GLclampf, GLclampf);
+
+   /* 3. GL_EXT_polygon_offset */
+   void (*PolygonOffsetEXT)(GLfloat, GLfloat);
+
+   /* 4. GL_EXT_texture - no functions */
+
+   /* 5. ??? */
+
+   /* 6. GL_EXT_texture3D */
+   void (*CopyTexSubImage3DEXT)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+   void (*TexImage3DEXT)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
+   void (*TexSubImage3DEXT)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
+
+   /* 7. GL_SGI_texture_filter4 */
+   void (*GetTexFilterFuncSGIS)(GLenum, GLenum, GLsizei, const GLfloat *);
+   void (*TexFilterFuncSGIS)(GLenum, GLenum, GLfloat *);
+
+   /* 8. ??? */
+
+   /* 9. GL_EXT_subtexture */
+   void (*TexSubImage1DEXT)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
+   void (*TexSubImage2DEXT)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
+
+   /* 10. GL_EXT_copy_texture */
+   void (*CopyTexImage1DEXT)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
+   void (*CopyTexImage2DEXT)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
+   void (*CopyTexSubImage1DEXT)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
+   void (*CopyTexSubImage2DEXT)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+
+   /* 11. GL_EXT_histogram */
+   void (*GetHistogramEXT)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
+   void (*GetHistogramParameterfvEXT)(GLenum, GLenum, GLfloat *);
+   void (*GetHistogramParameterivEXT)(GLenum, GLenum, GLint *);
+   void (*GetMinmaxEXT)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
+   void (*GetMinmaxParameterfvEXT)(GLenum, GLenum, GLfloat *);
+   void (*GetMinmaxParameterivEXT)(GLenum, GLenum, GLint *);
+   void (*HistogramEXT)(GLenum, GLsizei, GLenum, GLboolean);
+   void (*MinmaxEXT)(GLenum, GLenum, GLboolean);
+   void (*ResetHistogramEXT)(GLenum);
+   void (*ResetMinmaxEXT)(GLenum);
+
+   /* 12. GL_EXT_convolution */
+   void (*ConvolutionFilter1DEXT)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
+   void (*ConvolutionFilter2DEXT)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
+   void (*ConvolutionParameterfEXT)(GLenum, GLenum, GLfloat);
+   void (*ConvolutionParameterfvEXT)(GLenum, GLenum, const GLfloat *);
+   void (*ConvolutionParameteriEXT)(GLenum, GLenum, GLint);
+   void (*ConvolutionParameterivEXT)(GLenum, GLenum, const GLint *);
+   void (*CopyConvolutionFilter1DEXT)(GLenum, GLenum, GLint x, GLint y, GLsizei);
+   void (*CopyConvolutionFilter2DEXT)(GLenum, GLenum, GLint x, GLint y, GLsizei, GLsizei);
+   void (*GetConvolutionFilterEXT)(GLenum, GLenum, GLenum, GLvoid *);
+   void (*GetConvolutionParameterfvEXT)(GLenum, GLenum, GLfloat *);
+   void (*GetConvolutionParameterivEXT)(GLenum, GLenum, GLint *);
+   void (*GetSeparableFilterEXT)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
+   void (*SeparableFilter2DEXT)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
+
+   /* 13. GL_SGI_color_matrix - no functions */
+
+   /* 14. GL_SGI_color_table */
+   void (*ColorTableSGI)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
+   void (*CopyColorTableSGI)(GLenum, GLenum, GLint, GLint, GLsizei);
+   void (*GetColorTableSGI)(GLenum, GLenum, GLenum, GLvoid *);
+   void (*GetColorTableParameterfvSGI)(GLenum, GLenum, GLfloat *);
+   void (*GetColorTableParameterivSGI)(GLenum, GLenum, GLint *);
+
+   /* 15. GL_SGIS_pixel_texture */
+   void (*PixelTexGenParameterfSGIS)(GLenum, GLfloat);
+   void (*PixelTexGenParameteriSGIS)(GLenum, GLint);
+   void (*GetPixelTexGenParameterfvSGIS)(GLenum, GLfloat *);
+   void (*GetPixelTexGenParameterivSGIS)(GLenum, GLint *);
+
+   /* 16. GL_SGIS_texture4D */
+   void (*TexImage4DSGIS)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *);
+   void (*TexSubImage4DSGIS)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *);
+
+   /* 17. GL_SGI_texture_color_table - no functions */
+
+   /* 18. GL_EXT_cmyka - no functions */
+
+   /* 19. ??? */
+
+   /* 20. GL_EXT_texture_object */
+   GLboolean (*AreTexturesResidentEXT)(GLsizei, const GLuint *, GLboolean *);
+   void (*BindTextureEXT)(GLenum, GLuint);
+   void (*DeleteTexturesEXT)(GLsizei, const GLuint *);
+   GLboolean (*IsTextureEXT)(GLuint);
+   void (*PrioritizeTexturesEXT)(GLsizei, const GLuint *, const GLclampf *);
+
+   /* 21. GL_SGIS_detail_texture */
+   void (*DetailTexFuncSGIS)(GLenum, GLsizei, const GLfloat *);
+   void (*GetDetailTexFuncSGIS)(GLenum target, GLfloat *);
+
+   /* 22. GL_SGIS_sharpen_texture */
+   void (*GetSharpenTexFuncSGIS)(GLenum, GLfloat *);
+   void (*SharpenTexFuncSGIS)(GLenum, GLsizei, const GLfloat *);
+
+   /* 23. GL_EXT_packed_pixels - no functions */
+
+   /* 24. GL_SGIS_texture_lod - no functions */
+
+   /* 25. GL_SGIS_multisample */
+   void (*SampleMaskSGIS)(GLclampf, GLboolean);
+   void (*SamplePatternSGIS)(GLenum);
+
+   /* 26. ??? */
+
+   /* 27. GL_EXT_rescale_normal - no functions */
+   
+   /* 28. GLX_EXT_visual_info - no functions */
+
+   /* 29. ??? */
+
+   /* 30. GL_EXT_vertex_array */
+   void (*ArrayElementEXT)(GLint);
+   void (*ColorPointerEXT)(GLint, GLenum, GLsizei, GLsizei, const void *);
+   void (*DrawArraysEXT)(GLenum, GLint, GLsizei);
+   void (*EdgeFlagPointerEXT)(GLsizei, GLsizei, const GLboolean *);
+   void (*GetPointervEXT)(GLenum, void **);
+   void (*IndexPointerEXT)(GLenum, GLsizei, GLsizei, const void *);
+   void (*NormalPointerEXT)(GLenum, GLsizei, GLsizei, const void *);
+   void (*TexCoordPointerEXT)(GLint, GLenum, GLsizei, GLsizei, const void *);
+   void (*VertexPointerEXT)(GLint, GLenum, GLsizei, GLsizei, const void *);
+
+   /* 31. GL_EXT_misc_attribute - no functions */
+
+   /* 32. GL_SGIS_generate_mipmap - no functions */
+
+   /* 33. GL_SGIX_clipmap - no functions */
+
+   /* 34. GL_SGIX_shadow - no functions */
+
+   /* 35. GL_SGIS_texture_edge_clamp - no functions */
+
+   /* 36. GL_SGIS_texture_border_clamp - no functions */
+
+   /* 37. GL_EXT_blend_minmax */
+   void (*BlendEquationEXT)(GLenum);
+
+   /* 38. GL_EXT_blend_subtract - no functions */
+
+   /* 39. GL_EXT_blend_logic_op - no functions */
+
+   /* 40. GLX_SGI_swap_control - GLX functions */
+
+   /* 41. GLX_SGI_video_sync - GLX functions */
+
+   /* 42. GLX_SGI_make_current_read - GLX functions */
+
+   /* 43. GLX_SGIX_video_source - GLX functions */
+
+   /* 44. GLX_EXT_visual_rating - no functions */
+
+   /* 45. GL_SGIX_interlace - no functions */
+
+   /* 46. ??? */
+
+   /* 47. GLX_EXT_import_context - GLX functions */
+
+   /* 48. ??? */
+
+   /* 49. GLX_SGIX_fbconfig - GLX functions */
+
+   /* 50. GLX_SGIX_pbuffer - GLX functions */
+
+   /* 51. GL_SGIS_texture_select - no functions */
+
+   /* 52. GL_SGIX_sprite */
+   void (*SpriteParameterfSGIX)(GLenum, GLfloat);
+   void (*SpriteParameterfvSGIX)(GLenum, const GLfloat *);
+   void (*SpriteParameteriSGIX)(GLenum, GLint);
+   void (*SpriteParameterivSGIX)(GLenum, const GLint *);
+
+   /* 53. ??? */
+
+   /* 54. GL_EXT_point_parameters */
+   void (*PointParameterfEXT)(GLenum, GLfloat);
+   void (*PointParameterfvEXT)(GLenum, const GLfloat *);
+
+   /* 55. GL_SGIX_instruments */
+   GLint (*GetInstrumentsSGIX)(void);
+   void (*InstrumentsBufferSGIX)(GLsizei, GLint *);
+   GLint (*PollInstrumentsSGIX)(GLint *);
+   void (*ReadInstrumentsSGIX)(GLint);
+   void (*StartInstrumentsSGIX)(void);
+   void (*StopInstrumentsSGIX)(GLint);
+
+   /* 56. GL_SGIX_texture_scale_bias - no functions */
+
+   /* 57. GL_SGIX_framezoom */
+   void (*FrameZoomSGIX)(GLint);
+
+   /* 58. GL_SGIX_tag_sample_buffer - no functions */
+
+   /* 59. ??? */
+
+   /* 60. GL_SGIX_reference_plane */
+   void (*ReferencePlaneSGIX)(const GLdouble *);
+
+   /* 61. GL_SGIX_flush_raster */
+   void (*FlushRasterSGIX)(void);
+
+   /* 62. GLX_SGI_cushion - GLX functions */
+
+   /* 63. GL_SGIX_depth_texture - no functions */
+
+   /* 64. ??? */
+
+   /* 65. GL_SGIX_fog_offset - no functions */
+
+   /* 66. GL_HP_image_transform */
+   void (*GetImageTransformParameterfvHP)(GLenum, GLenum, GLfloat *);
+   void (*GetImageTransformParameterivHP)(GLenum, GLenum, GLint *);
+   void (*ImageTransformParameterfHP)(GLenum, GLenum, const GLfloat);
+   void (*ImageTransformParameterfvHP)(GLenum, GLenum, const GLfloat *);
+   void (*ImageTransformParameteriHP)(GLenum, GLenum, const GLint);
+   void (*ImageTransformParameterivHP)(GLenum, GLenum, const GLint *);
+
+   /* 67. GL_HP_convolution_border_modes - no functions */
+
+   /* 68. ??? */
+
+   /* 69. GL_SGIX_texture_add_env - no functions */
+
+   /* 70. ??? */
+
+   /* 71. ??? */
+
+   /* 72. ??? */
+
+   /* 73. ??? */
+
+   /* 74. GL_EXT_color_subtable */
+   void (*ColorSubTableEXT)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const void *);
+   void (*CopyColorSubTableEXT)(GLenum, GLsizei, GLint, GLint, GLsizei);
+
+   /* 75. GLU_EXT_object_space_tess - GLU functions */
+
+   /* 76. GL_PGI_vertex_hints - no functions */
+
+   /* 77. GL_PGI_misc_hints */
+   void (*HintPGI)(GLenum, GLint);
+
+   /* 78. GL_EXT_paletted_texture */
+   /* ColorSubTableEXT already defined */
+   void (*ColorTableEXT)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
+   void (*GetColorTableEXT)(GLenum, GLenum, GLenum, GLvoid *);
+   void (*GetColorTableParameterfvEXT)(GLenum, GLenum, GLfloat *);
+   void (*GetColorTableParameterivEXT)(GLenum, GLenum, GLint *);
+
+   /* 79. GL_EXT_clip_volume_hint - no functions */
+
+   /* 80. GL_SGIX_list_priority */
+   void (*GetListParameterfvSGIX)(GLuint, GLenum, GLfloat *);
+   void (*GetListParameterivSGIX)(GLuint, GLenum, GLint *);
+   void (*ListParameterfSGIX)(GLuint, GLenum, GLfloat);
+   void (*ListParameterfvSGIX)(GLuint, GLenum, const GLfloat *);
+   void (*ListParameteriSGIX)(GLuint, GLenum, GLint);
+   void (*ListParameterivSGIX)(GLuint, GLenum, const GLint *);
+
+   /* 81. GL_SGIX_ir_instrument1 - no functions */
+
+   /* 82. ??? */
+
+   /* 83. GLX_SGIX_video_resize - GLX functions */
+
+   /* 84. GL_SGIX_texture_lod_bias - no functions */
+
+   /* 85. GLU_SGI_filter4_parameters - GLU functions */
+
+   /* 86. GLX_SGIX_dm_buffer - GLX functions */
+
+   /* 87. ??? */
+
+   /* 88. ??? */
+
+   /* 89. ??? */
+
+   /* 90. ??? */
+
+   /* 91. GLX_SGIX_swap_group - GLX functions */
+
+   /* 92. GLX_SGIX_swap_barrier - GLX functions */
+
+   /* 93. GL_EXT_index_texture - no functions */
+
+   /* 94. GL_EXT_index_material */
+   void (*IndexMaterialEXT)(GLenum, GLenum);
+
+   /* 95. GL_EXT_index_func */
+   void (*IndexFuncEXT)(GLenum, GLfloat);
+
+   /* 96. GL_EXT_index_array_formats - no functions */
+
+   /* 97. GL_EXT_compiled_vertex_array */
+   void (*LockArraysEXT)(GLint, GLsizei);
+   void (*UnlockArraysEXT)(void);
+
+   /* 98. GL_EXT_cull_vertex */
+   void (*CullParameterfvEXT)(GLenum, const GLfloat *);
+   void (*CullParameterdvEXT)(GLenum, const GLdouble *);
+
+   /* 99. ??? */
+
+   /* 100. GLU_EXT_nurbs_tessellator - GLU functions */
+
+   /* 173. GL_EXT/INGR_blend_func_separate */
    void (*BlendFuncSeparateINGR)(GLenum, GLenum, GLenum, GLenum);
-#endif
 
-#ifdef _GLAPI_MESA_window_pos
+   /* GL_MESA_window_pos */
    void (*WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-#endif
 
-#ifdef _GLAPI_MESA_resize_buffers
+   /* GL_MESA_resize_buffers */
    void (*ResizeBuffersMESA)(void);
-#endif
 
-#ifdef _GLAPI_ARB_transpose_matrix
+   /* GL_ARB_transpose_matrix */
    void (*LoadTransposeMatrixdARB)(const GLdouble m[16]);
    void (*LoadTransposeMatrixfARB)(const GLfloat m[16]);
    void (*MultTransposeMatrixdARB)(const GLdouble m[16]);
    void (*MultTransposeMatrixfARB)(const GLfloat m[16]);
-#endif
 
+#if 0
    void *ExtensionFuncs[_GLAPI_EXTRA_SLOTS];
+#endif
 };
 
 
index 32578ba66b2f3b2ff8dc65b2d2d2624e92697de5..24b9467f75e7eee655216bef988d0dc0f36d60ad 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: glapitemp.h,v 1.2 1999/12/10 20:01:06 brianp Exp $ */
+/* $Id: glapitemp.h,v 1.3 1999/12/15 12:52:31 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
  *   #define DISPATCH_SETUP  struct _glapi_table *dispatch = CurrentDispatch;
  *   #define DISPATCH(func, args)  (*dispatch->func) args
  *
- * Furthermore, sets of entrypoints (extensions) can selectively be
- * generated by defining the following symbols before including this
- * file:
- *
- *   _GLAPI_VERSION_1_1       - generate 1.1 functions
- *   _GLAPI_VERSION_1_2       - generate 1.2 functions
- *   _GLAPI_ARB_imaging       - generate 1.2 imaging functions
- *   _GLAPI_ARB_multitexture  - generate 1.2 multi-texture functions
- *   _GLAPI_EXT_paletted_texture
- *   _GLAPI_EXT_compiled_vertex_array
- *   _GLAPI_EXT_point_parameters
- *   _GLAPI_EXT_polygon_offset
- *   _GLAPI_EXT_blend_minmax
- *   _GLAPI_EXT_blend_color
- *   _GLAPI_EXT_texture3
- *   _GLAPI_EXT_texture_object
- *   _GLAPI_EXT_vertex_array
- *   _GLAPI_INGR_blend_func_separate
- *   _GLAPI_MESA_window_pos
- *   _GLAPI_MESA_resize_buffers
- *   etc...
  */
 
 
 
+/* GL 1.0 */
 
 KEYWORD1 void KEYWORD2 NAME(Accum)(GLenum op, GLfloat value)
 {
@@ -800,18 +780,6 @@ KEYWORD1 void KEYWORD2 NAME(Indexsv)(const GLshort *c)
    DISPATCH(Indexsv, (c));
 }
 
-KEYWORD1 void KEYWORD2 NAME(Indexub)(GLubyte c)
-{
-   DISPATCH_SETUP;
-   DISPATCH(Indexub, (c));
-}
-
-KEYWORD1 void KEYWORD2 NAME(Indexubv)(const GLubyte *c)
-{
-   DISPATCH_SETUP;
-   DISPATCH(Indexubv, (c));
-}
-
 KEYWORD1 void KEYWORD2 NAME(IndexMask)(GLuint mask)
 {
    DISPATCH_SETUP;
@@ -824,12 +792,6 @@ KEYWORD1 void KEYWORD2 NAME(InitNames)(void)
    DISPATCH(InitNames, ());
 }
 
-KEYWORD1 void KEYWORD2 NAME(InterleavedArrays)(GLenum format, GLsizei stride, const GLvoid *pointer)
-{
-   DISPATCH_SETUP;
-   DISPATCH(InterleavedArrays, (format, stride, pointer));
-}
-
 KEYWORD1 GLboolean KEYWORD2 NAME(IsEnabled)(GLenum cap)
 {
    DISPATCH_SETUP;
@@ -842,12 +804,6 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsList)(GLuint list)
    return DISPATCH(IsList, (list));
 }
 
-KEYWORD1 GLboolean KEYWORD2 NAME(IsTexture)(GLuint texture)
-{
-   DISPATCH_SETUP;
-   return DISPATCH(IsTexture, (texture));
-}
-
 KEYWORD1 void KEYWORD2 NAME(Lightf)(GLenum light, GLenum pname, GLfloat param)
 {
    DISPATCH_SETUP;
@@ -1937,7 +1893,7 @@ KEYWORD1 void KEYWORD2 NAME(Viewport)(GLint x, GLint y, GLsizei width, GLsizei h
 
 
 
-#ifdef _GLAPI_VERSION_1_1
+/* GL 1.1 */
 
 KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences)
 {
@@ -2035,6 +1991,30 @@ KEYWORD1 void KEYWORD2 NAME(IndexPointer)(GLenum type, GLsizei stride, const GLv
    DISPATCH(IndexPointer, (type, stride, ptr));
 }
 
+KEYWORD1 void KEYWORD2 NAME(Indexub)(GLubyte c)
+{
+   DISPATCH_SETUP;
+   DISPATCH(Indexub, (c));
+}
+
+KEYWORD1 void KEYWORD2 NAME(Indexubv)(const GLubyte *c)
+{
+   DISPATCH_SETUP;
+   DISPATCH(Indexubv, (c));
+}
+
+KEYWORD1 void KEYWORD2 NAME(InterleavedArrays)(GLenum format, GLsizei stride, const GLvoid *pointer)
+{
+   DISPATCH_SETUP;
+   DISPATCH(InterleavedArrays, (format, stride, pointer));
+}
+
+KEYWORD1 GLboolean KEYWORD2 NAME(IsTexture)(GLuint texture)
+{
+   DISPATCH_SETUP;
+   return DISPATCH(IsTexture, (texture));
+}
+
 KEYWORD1 void KEYWORD2 NAME(NormalPointer)(GLenum type, GLsizei stride, const GLvoid *ptr)
 {
    DISPATCH_SETUP;
@@ -2089,11 +2069,10 @@ KEYWORD1 void KEYWORD2 NAME(VertexPointer)(GLint size, GLenum type, GLsizei stri
    DISPATCH(VertexPointer, (size, type, stride, ptr));
 }
 
-#endif  /*_GLAPI_VERSION_1_1*/
 
 
 
-#ifdef _GLAPI_VERSION_1_2
+/* GL 1.2 */
 
 KEYWORD1 void KEYWORD2 NAME(CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
 {
@@ -2120,7 +2099,8 @@ KEYWORD1 void KEYWORD2 NAME(TexSubImage3D)(GLenum target, GLint level, GLint xof
 }
 
 
-#ifdef _GLAPI_ARB_imaging
+
+/* GL_ARB_imaging */
 
 KEYWORD1 void KEYWORD2 NAME(BlendColor)(GLclampf r, GLclampf g, GLclampf b, GLclampf a)
 {
@@ -2327,469 +2307,450 @@ KEYWORD1 void KEYWORD2 NAME(SeparableFilter2D)(GLenum target, GLenum internalfor
 }
 
 
-#endif  /*_GLAPI_ARB_imaging*/
-#endif  /*_GLAPI_VERSION_1_2*/
-
 
+/* GL_ARB_multitexture */
 
-/***
- *** Extension functions
- ***/
-
-#ifdef _GLAPI_EXT_blend_minmax
-KEYWORD1 void KEYWORD2 NAME(BlendEquationEXT)(GLenum mode)
+KEYWORD1 void KEYWORD2 NAME(ActiveTextureARB)(GLenum texture)
 {
    DISPATCH_SETUP;
-   DISPATCH(BlendEquationEXT, (mode));
+   DISPATCH(ActiveTextureARB, (texture));
 }
-#endif
-
 
-#ifdef _GLAPI_EXT_blend_color
-KEYWORD1 void KEYWORD2 NAME(BlendColorEXT)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
+KEYWORD1 void KEYWORD2 NAME(ClientActiveTextureARB)(GLenum texture)
 {
    DISPATCH_SETUP;
-   DISPATCH(BlendColorEXT, (red, green, blue, alpha));
+   DISPATCH(ClientActiveTextureARB, (texture));
 }
-#endif
-
 
-#ifdef _GLAPI_EXT_polygon_offset
-KEYWORD1 void KEYWORD2 NAME(PolygonOffsetEXT)(GLfloat factor, GLfloat bias)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1dARB)(GLenum target, GLdouble s)
 {
    DISPATCH_SETUP;
-   DISPATCH(PolygonOffsetEXT, (factor, bias));
+   DISPATCH(MultiTexCoord1dARB, (target, s));
 }
-#endif
-
-
-
-#ifdef _GLAPI_EXT_vertex_array
 
-KEYWORD1 void KEYWORD2 NAME(VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1dvARB)(GLenum target, const GLdouble *v)
 {
    DISPATCH_SETUP;
-   (void) count;
-   DISPATCH(VertexPointer, (size, type, stride, ptr));
+   DISPATCH(MultiTexCoord1dvARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1fARB)(GLenum target, GLfloat s)
 {
    DISPATCH_SETUP;
-   (void) count;
-   DISPATCH(NormalPointer, (type, stride, ptr));
+   DISPATCH(MultiTexCoord1fARB, (target, s));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1fvARB)(GLenum target, const GLfloat *v)
 {
    DISPATCH_SETUP;
-   (void) count;
-   DISPATCH(ColorPointer, (size, type, stride, ptr));
+   DISPATCH(MultiTexCoord1fvARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1iARB)(GLenum target, GLint s)
 {
    DISPATCH_SETUP;
-   (void) count;
-   DISPATCH(IndexPointer, (type, stride, ptr));
+   DISPATCH(MultiTexCoord1iARB, (target, s));
 }
 
-KEYWORD1 void KEYWORD2 NAME(TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1ivARB)(GLenum target, const GLint *v)
 {
    DISPATCH_SETUP;
-   (void) count;
-   DISPATCH(ColorPointer, (size, type, stride, ptr));
+   DISPATCH(MultiTexCoord1ivARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean *ptr)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1sARB)(GLenum target, GLshort s)
 {
    DISPATCH_SETUP;
-   (void) count;
-   DISPATCH(EdgeFlagPointer, (stride, ptr));
+   DISPATCH(MultiTexCoord1sARB, (target, s));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetPointervEXT)(GLenum pname, void **params)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1svARB)(GLenum target, const GLshort *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(GetPointerv, (pname, params));
+   DISPATCH(MultiTexCoord1svARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ArrayElementEXT)(GLint i)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t)
 {
    DISPATCH_SETUP;
-   DISPATCH(ArrayElement, (i));
+   DISPATCH(MultiTexCoord2dARB, (target, s, t));
 }
 
-KEYWORD1 void KEYWORD2 NAME(DrawArraysEXT)(GLenum mode, GLint first, GLsizei count)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2dvARB)(GLenum target, const GLdouble *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(DrawArrays, (mode, first, count));
+   DISPATCH(MultiTexCoord2dvARB, (target, v));
 }
 
-#endif  /* GL_EXT_vertex_arrays */
-
-
-
-#ifdef _GLAPI_EXT_texture_object
-
-KEYWORD1 void KEYWORD2 NAME(GenTexturesEXT)(GLsizei n, GLuint *textures)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t)
 {
    DISPATCH_SETUP;
-   DISPATCH(GenTextures, (n, textures));
+   DISPATCH(MultiTexCoord2fARB, (target, s, t));
 }
 
-KEYWORD1 void KEYWORD2 NAME(DeleteTexturesEXT)(GLsizei n, const GLuint *texture)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2fvARB)(GLenum target, const GLfloat *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(DeleteTextures, (n, texture));
+   DISPATCH(MultiTexCoord2fvARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(BindTextureEXT)(GLenum target, GLuint texture)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2iARB)(GLenum target, GLint s, GLint t)
 {
    DISPATCH_SETUP;
-   DISPATCH(BindTexture, (target, texture));
+   DISPATCH(MultiTexCoord2iARB, (target, s, t));
 }
 
-KEYWORD1 void KEYWORD2 NAME(PrioritizeTexturesEXT)(GLsizei n, const GLuint *textures, const GLclampf *priorities)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2ivARB)(GLenum target, const GLint *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(PrioritizeTextures, (n, textures, priorities));
+   DISPATCH(MultiTexCoord2ivARB, (target, v));
 }
 
-KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResidentEXT)(GLsizei n, const GLuint *textures, GLboolean *residences)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2sARB)(GLenum target, GLshort s, GLshort t)
 {
    DISPATCH_SETUP;
-   DISPATCH(AreTexturesResident, (n, textures, residences));
-   return GL_FALSE;
+   DISPATCH(MultiTexCoord2sARB, (target, s, t));
 }
 
-KEYWORD1 GLboolean KEYWORD2 NAME(IsTextureEXT)(GLuint texture)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2svARB)(GLenum target, const GLshort *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(IsTexture, (texture));
-   return GL_FALSE;
+   DISPATCH(MultiTexCoord2svARB, (target, v));
 }
-#endif  /* GL_EXT_texture_object */
-
 
-
-#ifdef _GLAPI_EXT_texture3D
-
-KEYWORD1 void KEYWORD2 NAME(TexImage3DEXT)(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r)
 {
    DISPATCH_SETUP;
-   DISPATCH(TexImage3D, (target, level, internalFormat, width, height, depth, border, format, type, pixels));
+   DISPATCH(MultiTexCoord3dARB, (target, s, t, r));
 }
 
-KEYWORD1 void KEYWORD2 NAME(TexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3dvARB)(GLenum target, const GLdouble *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(TexSubImage3D, (target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels));
+   DISPATCH(MultiTexCoord3dvARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(CopyTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r)
 {
    DISPATCH_SETUP;
-   DISPATCH(CopyTexSubImage3D, (target, level, xoffset, yoffset, zoffset, x, y, width, height));
+   DISPATCH(MultiTexCoord3fARB, (target, s, t, r));
 }
 
-#endif  /* GL_EXT_texture3D*/
-
-
-
-#ifdef _GLAPI_EXT_paletted_texture
-
-KEYWORD1 void KEYWORD2 NAME(ColorTableEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3fvARB)(GLenum target, const GLfloat *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(ColorTableEXT, (target, internalformat, width, format, type, table));
+   DISPATCH(MultiTexCoord3fvARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ColorSubTableEXT)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r)
 {
    DISPATCH_SETUP;
-   DISPATCH(ColorSubTableEXT, (target, start, count, format, type, data));
+   DISPATCH(MultiTexCoord3iARB, (target, s, t, r));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetColorTableEXT)(GLenum target, GLenum format, GLenum type, GLvoid *table)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3ivARB)(GLenum target, const GLint *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(GetColorTableEXT, (target, format, type, table));
+   DISPATCH(MultiTexCoord3ivARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat *params)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3sARB)(GLenum target, GLshort s, GLshort t, GLshort r)
 {
    DISPATCH_SETUP;
-   DISPATCH(GetColorTableParameterfvEXT, (target, pname, params));
+   DISPATCH(MultiTexCoord3sARB, (target, s, t, r));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint *params)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3svARB)(GLenum target, const GLshort *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(GetColorTableParameterivEXT, (target, pname, params));
+   DISPATCH(MultiTexCoord3svARB, (target, v));
 }
 
-#endif  /* GL_EXT_paletted_texture */
-
-
-
-#ifdef _GLAPI_EXT_compiled_vertex_array
-
-KEYWORD1 void KEYWORD2 NAME(LockArraysEXT)(GLint first, GLsizei count)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
 {
    DISPATCH_SETUP;
-   DISPATCH(LockArraysEXT, (first, count));
+   DISPATCH(MultiTexCoord4dARB, (target, s, t, r, q));
 }
 
-KEYWORD1 void KEYWORD2 NAME(UnlockArraysEXT)(void)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4dvARB)(GLenum target, const GLdouble *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(UnlockArraysEXT, ());
+   DISPATCH(MultiTexCoord4dvARB, (target, v));
 }
 
-#endif  /* GL_EXT_compiled_vertex_array */
-
-
-
-#ifdef _GLAPI_EXT_point_parameters
-
-KEYWORD1 void KEYWORD2 NAME(PointParameterfEXT)(GLenum target, GLfloat param)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
 {
    DISPATCH_SETUP;
-   DISPATCH(PointParameterfEXT, (target, param));
+   DISPATCH(MultiTexCoord4fARB, (target, s, t, r, q));
 }
 
-KEYWORD1 void KEYWORD2 NAME(PointParameterfvEXT)(GLenum target, const GLfloat *param)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4fvARB)(GLenum target, const GLfloat *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(PointParameterfvEXT, (target, param));
+   DISPATCH(MultiTexCoord4fvARB, (target, v));
 }
 
-#endif  /* GL_EXT_point_parameters */
-
-
-
-#ifdef _GLAPI_ARB_multitexture
-
-KEYWORD1 void KEYWORD2 NAME(ActiveTextureARB)(GLenum texture)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q)
 {
    DISPATCH_SETUP;
-   DISPATCH(ActiveTextureARB, (texture));
+   DISPATCH(MultiTexCoord4iARB, (target, s, t, r, q));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ClientActiveTextureARB)(GLenum texture)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4ivARB)(GLenum target, const GLint *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(ClientActiveTextureARB, (texture));
+   DISPATCH(MultiTexCoord4ivARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1dARB)(GLenum target, GLdouble s)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord1dARB, (target, s));
+   DISPATCH(MultiTexCoord4sARB, (target, s, t, r, q));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1dvARB)(GLenum target, const GLdouble *v)
+KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4svARB)(GLenum target, const GLshort *v)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord1dvARB, (target, v));
+   DISPATCH(MultiTexCoord4svARB, (target, v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1fARB)(GLenum target, GLfloat s)
+
+
+/***
+ *** Extension functions
+ ***/
+
+
+/* 2. GL_EXT_blend_color */
+KEYWORD1 void KEYWORD2 NAME(BlendColorEXT)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord1fARB, (target, s));
+   DISPATCH(BlendColorEXT, (red, green, blue, alpha));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1fvARB)(GLenum target, const GLfloat *v)
+
+
+/* 3. GL_EXT_polygon_offset */
+KEYWORD1 void KEYWORD2 NAME(PolygonOffsetEXT)(GLfloat factor, GLfloat bias)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord1fvARB, (target, v));
+   DISPATCH(PolygonOffsetEXT, (factor, bias));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1iARB)(GLenum target, GLint s)
+
+
+/* 6. GL_EXT_texture3D */
+
+KEYWORD1 void KEYWORD2 NAME(TexImage3DEXT)(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord1iARB, (target, s));
+   DISPATCH(TexImage3D, (target, level, internalFormat, width, height, depth, border, format, type, pixels));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1ivARB)(GLenum target, const GLint *v)
+KEYWORD1 void KEYWORD2 NAME(TexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord1ivARB, (target, v));
+   DISPATCH(TexSubImage3D, (target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1sARB)(GLenum target, GLshort s)
+KEYWORD1 void KEYWORD2 NAME(CopyTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord1sARB, (target, s));
+   DISPATCH(CopyTexSubImage3D, (target, level, xoffset, yoffset, zoffset, x, y, width, height));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord1svARB)(GLenum target, const GLshort *v)
+
+
+/* 20. GL_EXT_texture_object */
+
+KEYWORD1 void KEYWORD2 NAME(GenTexturesEXT)(GLsizei n, GLuint *textures)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord1svARB, (target, v));
+   DISPATCH(GenTextures, (n, textures));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t)
+KEYWORD1 void KEYWORD2 NAME(DeleteTexturesEXT)(GLsizei n, const GLuint *texture)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord2dARB, (target, s, t));
+   DISPATCH(DeleteTextures, (n, texture));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2dvARB)(GLenum target, const GLdouble *v)
+KEYWORD1 void KEYWORD2 NAME(BindTextureEXT)(GLenum target, GLuint texture)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord2dvARB, (target, v));
+   DISPATCH(BindTexture, (target, texture));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t)
+KEYWORD1 void KEYWORD2 NAME(PrioritizeTexturesEXT)(GLsizei n, const GLuint *textures, const GLclampf *priorities)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord2fARB, (target, s, t));
+   DISPATCH(PrioritizeTextures, (n, textures, priorities));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2fvARB)(GLenum target, const GLfloat *v)
+KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResidentEXT)(GLsizei n, const GLuint *textures, GLboolean *residences)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord2fvARB, (target, v));
+   return DISPATCH(AreTexturesResident, (n, textures, residences));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2iARB)(GLenum target, GLint s, GLint t)
+KEYWORD1 GLboolean KEYWORD2 NAME(IsTextureEXT)(GLuint texture)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord2iARB, (target, s, t));
+   return DISPATCH(IsTexture, (texture));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2ivARB)(GLenum target, const GLint *v)
+
+
+/* 37. GL_EXT_blend_minmax */
+KEYWORD1 void KEYWORD2 NAME(BlendEquationEXT)(GLenum mode)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord2ivARB, (target, v));
+   DISPATCH(BlendEquationEXT, (mode));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2sARB)(GLenum target, GLshort s, GLshort t)
+
+
+/* 30. GL_EXT_vertex_array */
+
+KEYWORD1 void KEYWORD2 NAME(VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord2sARB, (target, s, t));
+   (void) count;
+   DISPATCH(VertexPointer, (size, type, stride, ptr));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord2svARB)(GLenum target, const GLshort *v)
+KEYWORD1 void KEYWORD2 NAME(NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord2svARB, (target, v));
+   (void) count;
+   DISPATCH(NormalPointer, (type, stride, ptr));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r)
+KEYWORD1 void KEYWORD2 NAME(ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord3dARB, (target, s, t, r));
+   (void) count;
+   DISPATCH(ColorPointer, (size, type, stride, ptr));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3dvARB)(GLenum target, const GLdouble *v)
+KEYWORD1 void KEYWORD2 NAME(IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord3dvARB, (target, v));
+   (void) count;
+   DISPATCH(IndexPointer, (type, stride, ptr));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r)
+KEYWORD1 void KEYWORD2 NAME(TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord3fARB, (target, s, t, r));
+   (void) count;
+   DISPATCH(ColorPointer, (size, type, stride, ptr));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3fvARB)(GLenum target, const GLfloat *v)
+KEYWORD1 void KEYWORD2 NAME(EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean *ptr)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord3fvARB, (target, v));
+   (void) count;
+   DISPATCH(EdgeFlagPointer, (stride, ptr));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r)
+KEYWORD1 void KEYWORD2 NAME(GetPointervEXT)(GLenum pname, void **params)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord3iARB, (target, s, t, r));
+   DISPATCH(GetPointerv, (pname, params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3ivARB)(GLenum target, const GLint *v)
+KEYWORD1 void KEYWORD2 NAME(ArrayElementEXT)(GLint i)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord3ivARB, (target, v));
+   DISPATCH(ArrayElement, (i));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3sARB)(GLenum target, GLshort s, GLshort t, GLshort r)
+KEYWORD1 void KEYWORD2 NAME(DrawArraysEXT)(GLenum mode, GLint first, GLsizei count)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord3sARB, (target, s, t, r));
+   DISPATCH(DrawArrays, (mode, first, count));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord3svARB)(GLenum target, const GLshort *v)
+
+
+/* 54. GL_EXT_point_parameters */
+
+KEYWORD1 void KEYWORD2 NAME(PointParameterfEXT)(GLenum target, GLfloat param)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord3svARB, (target, v));
+   DISPATCH(PointParameterfEXT, (target, param));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
+KEYWORD1 void KEYWORD2 NAME(PointParameterfvEXT)(GLenum target, const GLfloat *param)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord4dARB, (target, s, t, r, q));
+   DISPATCH(PointParameterfvEXT, (target, param));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4dvARB)(GLenum target, const GLdouble *v)
+
+
+/* 78. GL_EXT_paletted_texture */
+
+KEYWORD1 void KEYWORD2 NAME(ColorTableEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord4dvARB, (target, v));
+   DISPATCH(ColorTableEXT, (target, internalformat, width, format, type, table));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
+KEYWORD1 void KEYWORD2 NAME(ColorSubTableEXT)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord4fARB, (target, s, t, r, q));
+   DISPATCH(ColorSubTableEXT, (target, start, count, format, type, data));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4fvARB)(GLenum target, const GLfloat *v)
+KEYWORD1 void KEYWORD2 NAME(GetColorTableEXT)(GLenum target, GLenum format, GLenum type, GLvoid *table)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord4fvARB, (target, v));
+   DISPATCH(GetColorTableEXT, (target, format, type, table));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q)
+KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat *params)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord4iARB, (target, s, t, r, q));
+   DISPATCH(GetColorTableParameterfvEXT, (target, pname, params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4ivARB)(GLenum target, const GLint *v)
+KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint *params)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord4ivARB, (target, v));
+   DISPATCH(GetColorTableParameterivEXT, (target, pname, params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
+
+
+
+/* 97. GL_EXT_compiled_vertex_array */
+
+KEYWORD1 void KEYWORD2 NAME(LockArraysEXT)(GLint first, GLsizei count)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord4sARB, (target, s, t, r, q));
+   DISPATCH(LockArraysEXT, (first, count));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4svARB)(GLenum target, const GLshort *v)
+KEYWORD1 void KEYWORD2 NAME(UnlockArraysEXT)(void)
 {
    DISPATCH_SETUP;
-   DISPATCH(MultiTexCoord4svARB, (target, v));
+   DISPATCH(UnlockArraysEXT, ());
 }
 
-#endif  /* GL_ARB_multitexture */
-
 
 
-#ifdef _GLAPI_INGR_blend_func_separate
+/* 173. GL_EXT/INGR_blend_func_separate */
 KEYWORD1 void KEYWORD2 NAME(BlendFuncSeparateINGR)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
 {
    DISPATCH_SETUP;
    DISPATCH(BlendFuncSeparateINGR, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha));
 }
-#endif  /* GL_INGR_blend_func_separate */
 
 
 
-#ifdef _GLAPI_MESA_window_pos
+/* GL_MESA_window_pos */
 
 KEYWORD1 void KEYWORD2 NAME(WindowPos2iMESA)(GLint x, GLint y)
 {
@@ -2935,19 +2896,18 @@ KEYWORD1 void KEYWORD2 NAME(WindowPos4dvMESA)(const GLdouble *p)
    DISPATCH(WindowPos4fMESA, (p[0], p[1], p[2], p[3]));
 }
 
-#endif  /* GL_MESA_window_pos */
 
 
-#ifdef _GLAPI_MESA_resize_buffers
+/* GL_MESA_resize_buffers */
 KEYWORD1 void KEYWORD2 NAME(ResizeBuffersMESA)(void)
 {
    DISPATCH_SETUP;
    DISPATCH(ResizeBuffersMESA, ());
 }
-#endif  /* GL_MESA_resize_buffers */
 
 
-#ifdef _GLAPI_ARB_transpose_matrix
+
+/* GL_ARB_transpose_matrix */
 KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixdARB)(const GLdouble m[16])
 {
    DISPATCH_SETUP;
@@ -2972,8 +2932,6 @@ KEYWORD1 void KEYWORD2 NAME(MultTransposeMatrixfARB)(const GLfloat m[16])
    DISPATCH(MultTransposeMatrixfARB, (m));
 }
 
-#endif
-
 
 
 #undef KEYWORD1