]> git.jsancho.org Git - lugaru.git/blobdiff - Dependencies/OpenGL/GL/gl.h
CMake: Purge all the bundled dependencies
[lugaru.git] / Dependencies / OpenGL / GL / gl.h
index bab8ce91f11797518a0e0ab535ceb1641d0c2922..8e5f1383ffaadcd72e136f757173d4a582894c02 100644 (file)
@@ -1,10 +1,9 @@
-/* $Id: gl.h,v 1.44.4.3 2001/03/21 15:59:49 brianp Exp $ */
-
 /*
  * Mesa 3-D graphics library
- * Version:  3.4
+ * Version:  7.6
  *
- * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
+ * Copyright (C) 2009  VMware, Inc.  All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
 
 
 /**********************************************************************
- * Begin system-specific stuff.
+ * Begin system-specific stuff. Do not do any of this when building
+ * for SciTech SNAP, as this is all done before this header file is
+ * included. 
  */
+#if !defined(__SCITECH_SNAP__)
+
 #if defined(__BEOS__)
 #include <stdlib.h>     /* to get some BeOS-isms */
 #endif
 #endif
 
 #if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__))
-#  if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
+#  if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
 #    define GLAPI __declspec(dllexport)
-#  elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
+#  elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
 #    define GLAPI __declspec(dllimport)
 #  else /* for use with static link lib build of Win32 edition only */
 #    define GLAPI extern
 #  endif /* _STATIC_MESA support */
-#  define GLAPIENTRY __stdcall
-#else
-/* non-Windows compilation */
+#  if defined(__MINGW32__) && defined(GL_NO_STDCALL) || defined(UNDER_CE)  /* The generated DLLs by MingW with STDCALL are not compatible with the ones done by Microsoft's compilers */
+#    define GLAPIENTRY 
+#  else
+#    define GLAPIENTRY __stdcall
+#  endif
+#elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows opengl32 */
 #  define GLAPI extern
+#  define GLAPIENTRY __stdcall
+#elif defined(__GNUC__)        || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+#  define GLAPI __attribute__((visibility("default")))
 #  define GLAPIENTRY
-#endif /* WIN32 / CYGWIN bracket */
+#endif /* WIN32 && !CYGWIN */
+
+#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
+#  define PRAGMA_EXPORT_SUPPORTED              1
+#endif
+
+/*
+ * WINDOWS: Include windows.h here to define APIENTRY.
+ * It is also useful when applications include this file by
+ * including only glut.h, since glut.h depends on windows.h.
+ * Applications needing to include windows.h with parms other
+ * than "WIN32_LEAN_AND_MEAN" may include windows.h before
+ * glut.h or gl.h.
+ */
+#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN 1
+#endif
+#include <windows.h>
+#endif
 
-#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
-#include <gl/mesa_wgl.h>
+#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_WIN32_WCE) \
+     && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) \
+     && !defined(__CYGWIN__) || defined(__MINGW32__)
+#include <GL/mesa_wgl.h>
 #endif
 
 #if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
 #pragma import on
 #endif
+
+#ifndef GLAPI
+#define GLAPI extern
+#endif
+
+#ifndef GLAPIENTRY
+#define GLAPIENTRY
+#endif
+
+#ifndef APIENTRY
+#define APIENTRY GLAPIENTRY
+#endif
+
+/* "P" suffix to be used for a pointer to a function */
+#ifndef APIENTRYP
+#define APIENTRYP APIENTRY *
+#endif
+
+#ifndef GLAPIENTRYP
+#define GLAPIENTRYP GLAPIENTRY *
+#endif
+
+#ifdef CENTERLINE_CLPP
+#define signed
+#endif
+
+#if defined(PRAGMA_EXPORT_SUPPORTED)
+#pragma export on
+#endif
+
+#endif /* !__SCITECH_SNAP__ */
 /*
  * End system-specific stuff.
  **********************************************************************/
@@ -84,17 +145,13 @@ extern "C" {
 
 #define GL_VERSION_1_1   1
 #define GL_VERSION_1_2   1
-
+#define GL_VERSION_1_3   1
+#define GL_ARB_imaging   1
 
 
 /*
- *
  * Datatypes
- *
  */
-#ifdef CENTERLINE_CLPP
-#define signed
-#endif
 typedef unsigned int   GLenum;
 typedef unsigned char  GLboolean;
 typedef unsigned int   GLbitfield;
@@ -114,9 +171,7 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
 
 
 /*
- *
  * Constants
- *
  */
 
 /* Boolean values */
@@ -131,10 +186,10 @@ typedef double            GLclampd;       /* double precision float in [0,1] */
 #define GL_INT                                 0x1404
 #define GL_UNSIGNED_INT                                0x1405
 #define GL_FLOAT                               0x1406
-#define GL_DOUBLE                              0x140A
 #define GL_2_BYTES                             0x1407
 #define GL_3_BYTES                             0x1408
 #define GL_4_BYTES                             0x1409
+#define GL_DOUBLE                              0x140A
 
 /* Primitives */
 #define GL_POINTS                              0x0000
@@ -325,17 +380,13 @@ typedef double            GLclampd;       /* double precision float in [0,1] */
 #define GL_ONE                                 0x1
 #define GL_SRC_COLOR                           0x0300
 #define GL_ONE_MINUS_SRC_COLOR                 0x0301
-#define GL_DST_COLOR                           0x0306
-#define GL_ONE_MINUS_DST_COLOR                 0x0307
 #define GL_SRC_ALPHA                           0x0302
 #define GL_ONE_MINUS_SRC_ALPHA                 0x0303
 #define GL_DST_ALPHA                           0x0304
 #define GL_ONE_MINUS_DST_ALPHA                 0x0305
+#define GL_DST_COLOR                           0x0306
+#define GL_ONE_MINUS_DST_COLOR                 0x0307
 #define GL_SRC_ALPHA_SATURATE                  0x0308
-#define GL_CONSTANT_COLOR                      0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR            0x8002
-#define GL_CONSTANT_ALPHA                      0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA            0x8004
 
 /* Render Mode */
 #define GL_FEEDBACK                            0x1C01
@@ -399,16 +450,16 @@ typedef double            GLclampd;       /* double precision float in [0,1] */
 #define GL_OR_INVERTED                         0x150D
 
 /* Stencil */
-#define GL_STENCIL_TEST                                0x0B90
-#define GL_STENCIL_WRITEMASK                   0x0B98
 #define GL_STENCIL_BITS                                0x0D57
+#define GL_STENCIL_TEST                                0x0B90
+#define GL_STENCIL_CLEAR_VALUE                 0x0B91
 #define GL_STENCIL_FUNC                                0x0B92
 #define GL_STENCIL_VALUE_MASK                  0x0B93
-#define GL_STENCIL_REF                         0x0B97
 #define GL_STENCIL_FAIL                                0x0B94
-#define GL_STENCIL_PASS_DEPTH_PASS             0x0B96
 #define GL_STENCIL_PASS_DEPTH_FAIL             0x0B95
-#define GL_STENCIL_CLEAR_VALUE                 0x0B91
+#define GL_STENCIL_PASS_DEPTH_PASS             0x0B96
+#define GL_STENCIL_REF                         0x0B97
+#define GL_STENCIL_WRITEMASK                   0x0B98
 #define GL_STENCIL_INDEX                       0x1901
 #define GL_KEEP                                        0x1E00
 #define GL_REPLACE                             0x1E01
@@ -458,16 +509,16 @@ typedef double            GLclampd;       /* double precision float in [0,1] */
 
 /* Implementation limits */
 #define GL_MAX_LIST_NESTING                    0x0B31
-#define GL_MAX_ATTRIB_STACK_DEPTH              0x0D35
-#define GL_MAX_MODELVIEW_STACK_DEPTH           0x0D36
-#define GL_MAX_NAME_STACK_DEPTH                        0x0D37
-#define GL_MAX_PROJECTION_STACK_DEPTH          0x0D38
-#define GL_MAX_TEXTURE_STACK_DEPTH             0x0D39
 #define GL_MAX_EVAL_ORDER                      0x0D30
 #define GL_MAX_LIGHTS                          0x0D31
 #define GL_MAX_CLIP_PLANES                     0x0D32
 #define GL_MAX_TEXTURE_SIZE                    0x0D33
 #define GL_MAX_PIXEL_MAP_TABLE                 0x0D34
+#define GL_MAX_ATTRIB_STACK_DEPTH              0x0D35
+#define GL_MAX_MODELVIEW_STACK_DEPTH           0x0D36
+#define GL_MAX_NAME_STACK_DEPTH                        0x0D37
+#define GL_MAX_PROJECTION_STACK_DEPTH          0x0D38
+#define GL_MAX_TEXTURE_STACK_DEPTH             0x0D39
 #define GL_MAX_VIEWPORT_DIMS                   0x0D3A
 #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH       0x0D3B
 
@@ -503,8 +554,6 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
 /* Evaluators */
 #define GL_AUTO_NORMAL                         0x0D80
 #define GL_MAP1_COLOR_4                                0x0D90
-#define GL_MAP1_GRID_DOMAIN                    0x0DD0
-#define GL_MAP1_GRID_SEGMENTS                  0x0DD1
 #define GL_MAP1_INDEX                          0x0D91
 #define GL_MAP1_NORMAL                         0x0D92
 #define GL_MAP1_TEXTURE_COORD_1                        0x0D93
@@ -514,8 +563,6 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
 #define GL_MAP1_VERTEX_3                       0x0D97
 #define GL_MAP1_VERTEX_4                       0x0D98
 #define GL_MAP2_COLOR_4                                0x0DB0
-#define GL_MAP2_GRID_DOMAIN                    0x0DD2
-#define GL_MAP2_GRID_SEGMENTS                  0x0DD3
 #define GL_MAP2_INDEX                          0x0DB1
 #define GL_MAP2_NORMAL                         0x0DB2
 #define GL_MAP2_TEXTURE_COORD_1                        0x0DB3
@@ -524,23 +571,27 @@ typedef double            GLclampd;       /* double precision float in [0,1] */
 #define GL_MAP2_TEXTURE_COORD_4                        0x0DB6
 #define GL_MAP2_VERTEX_3                       0x0DB7
 #define GL_MAP2_VERTEX_4                       0x0DB8
+#define GL_MAP1_GRID_DOMAIN                    0x0DD0
+#define GL_MAP1_GRID_SEGMENTS                  0x0DD1
+#define GL_MAP2_GRID_DOMAIN                    0x0DD2
+#define GL_MAP2_GRID_SEGMENTS                  0x0DD3
 #define GL_COEFF                               0x0A00
-#define GL_DOMAIN                              0x0A02
 #define GL_ORDER                               0x0A01
+#define GL_DOMAIN                              0x0A02
 
 /* Hints */
-#define GL_FOG_HINT                            0x0C54
-#define GL_LINE_SMOOTH_HINT                    0x0C52
 #define GL_PERSPECTIVE_CORRECTION_HINT         0x0C50
 #define GL_POINT_SMOOTH_HINT                   0x0C51
+#define GL_LINE_SMOOTH_HINT                    0x0C52
 #define GL_POLYGON_SMOOTH_HINT                 0x0C53
+#define GL_FOG_HINT                            0x0C54
 #define GL_DONT_CARE                           0x1100
 #define GL_FASTEST                             0x1101
 #define GL_NICEST                              0x1102
 
 /* Scissor box */
-#define GL_SCISSOR_TEST                                0x0C11
 #define GL_SCISSOR_BOX                         0x0C10
+#define GL_SCISSOR_TEST                                0x0C11
 
 /* Pixel Mode / Transfer */
 #define GL_MAP_COLOR                           0x0D10
@@ -637,7 +688,46 @@ typedef double             GLclampd;       /* double precision float in [0,1] */
 #define GL_TEXTURE_GEN_R                       0x0C62
 #define GL_TEXTURE_GEN_Q                       0x0C63
 
-/* GL 1.1 texturing */
+/* Utility */
+#define GL_VENDOR                              0x1F00
+#define GL_RENDERER                            0x1F01
+#define GL_VERSION                             0x1F02
+#define GL_EXTENSIONS                          0x1F03
+
+/* Errors */
+#define GL_NO_ERROR                            0x0
+#define GL_INVALID_ENUM                                0x0500
+#define GL_INVALID_VALUE                       0x0501
+#define GL_INVALID_OPERATION                   0x0502
+#define GL_STACK_OVERFLOW                      0x0503
+#define GL_STACK_UNDERFLOW                     0x0504
+#define GL_OUT_OF_MEMORY                       0x0505
+
+/* glPush/PopAttrib bits */
+#define GL_CURRENT_BIT                         0x00000001
+#define GL_POINT_BIT                           0x00000002
+#define GL_LINE_BIT                            0x00000004
+#define GL_POLYGON_BIT                         0x00000008
+#define GL_POLYGON_STIPPLE_BIT                 0x00000010
+#define GL_PIXEL_MODE_BIT                      0x00000020
+#define GL_LIGHTING_BIT                                0x00000040
+#define GL_FOG_BIT                             0x00000080
+#define GL_DEPTH_BUFFER_BIT                    0x00000100
+#define GL_ACCUM_BUFFER_BIT                    0x00000200
+#define GL_STENCIL_BUFFER_BIT                  0x00000400
+#define GL_VIEWPORT_BIT                                0x00000800
+#define GL_TRANSFORM_BIT                       0x00001000
+#define GL_ENABLE_BIT                          0x00002000
+#define GL_COLOR_BUFFER_BIT                    0x00004000
+#define GL_HINT_BIT                            0x00008000
+#define GL_EVAL_BIT                            0x00010000
+#define GL_LIST_BIT                            0x00020000
+#define GL_TEXTURE_BIT                         0x00040000
+#define GL_SCISSOR_BIT                         0x00080000
+#define GL_ALL_ATTRIB_BITS                     0x000FFFFF
+
+
+/* OpenGL 1.1 */
 #define GL_PROXY_TEXTURE_1D                    0x8063
 #define GL_PROXY_TEXTURE_2D                    0x8064
 #define GL_TEXTURE_PRIORITY                    0x8066
@@ -645,20 +735,6 @@ typedef double             GLclampd;       /* double precision float in [0,1] */
 #define GL_TEXTURE_BINDING_1D                  0x8068
 #define GL_TEXTURE_BINDING_2D                  0x8069
 #define GL_TEXTURE_INTERNAL_FORMAT             0x1003
-
-/* GL 1.2 texturing */
-#define GL_PACK_SKIP_IMAGES                    0x806B
-#define GL_PACK_IMAGE_HEIGHT                   0x806C
-#define GL_UNPACK_SKIP_IMAGES                  0x806D
-#define GL_UNPACK_IMAGE_HEIGHT                 0x806E
-#define GL_TEXTURE_3D                          0x806F
-#define GL_PROXY_TEXTURE_3D                    0x8070
-#define GL_TEXTURE_DEPTH                       0x8071
-#define GL_TEXTURE_WRAP_R                      0x8072
-#define GL_MAX_3D_TEXTURE_SIZE                 0x8073
-#define GL_TEXTURE_BINDING_3D                  0x806A
-
-/* Internal texture formats (GL 1.1) */
 #define GL_ALPHA4                              0x803B
 #define GL_ALPHA8                              0x803C
 #define GL_ALPHA12                             0x803D
@@ -692,193 +768,26 @@ typedef double           GLclampd;       /* double precision float in [0,1] */
 #define GL_RGB10_A2                            0x8059
 #define GL_RGBA12                              0x805A
 #define GL_RGBA16                              0x805B
+#define GL_CLIENT_PIXEL_STORE_BIT              0x00000001
+#define GL_CLIENT_VERTEX_ARRAY_BIT             0x00000002
+#define GL_ALL_CLIENT_ATTRIB_BITS              0xFFFFFFFF
+#define GL_CLIENT_ALL_ATTRIB_BITS              0xFFFFFFFF
 
-/* Utility */
-#define GL_VENDOR                              0x1F00
-#define GL_RENDERER                            0x1F01
-#define GL_VERSION                             0x1F02
-#define GL_EXTENSIONS                          0x1F03
 
-/* Errors */
-#define GL_NO_ERROR                            0x0
-#define GL_INVALID_VALUE                       0x0501
-#define GL_INVALID_ENUM                                0x0500
-#define GL_INVALID_OPERATION                   0x0502
-#define GL_STACK_OVERFLOW                      0x0503
-#define GL_STACK_UNDERFLOW                     0x0504
-#define GL_OUT_OF_MEMORY                       0x0505
 
+/*
+ * Miscellaneous
+ */
 
-/* OpenGL 1.2 */
-#define GL_RESCALE_NORMAL                      0x803A
-#define GL_CLAMP_TO_EDGE                       0x812F
-#define GL_MAX_ELEMENTS_VERTICES               0x80E8
-#define GL_MAX_ELEMENTS_INDICES                        0x80E9
-#define GL_BGR                                 0x80E0
-#define GL_BGRA                                        0x80E1
-#define GL_UNSIGNED_BYTE_3_3_2                 0x8032
-#define GL_UNSIGNED_BYTE_2_3_3_REV             0x8362
-#define GL_UNSIGNED_SHORT_5_6_5                        0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV            0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4              0x8033
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV          0x8365
-#define GL_UNSIGNED_SHORT_5_5_5_1              0x8034
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV          0x8366
-#define GL_UNSIGNED_INT_8_8_8_8                        0x8035
-#define GL_UNSIGNED_INT_8_8_8_8_REV            0x8367
-#define GL_UNSIGNED_INT_10_10_10_2             0x8036
-#define GL_UNSIGNED_INT_2_10_10_10_REV         0x8368
-#define GL_LIGHT_MODEL_COLOR_CONTROL           0x81F8
-#define GL_SINGLE_COLOR                                0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR             0x81FA
-#define GL_TEXTURE_MIN_LOD                     0x813A
-#define GL_TEXTURE_MAX_LOD                     0x813B
-#define GL_TEXTURE_BASE_LEVEL                  0x813C
-#define GL_TEXTURE_MAX_LEVEL                   0x813D
-#define GL_SMOOTH_POINT_SIZE_RANGE             0x0B12
-#define GL_SMOOTH_POINT_SIZE_GRANULARITY       0x0B13
-#define GL_SMOOTH_LINE_WIDTH_RANGE             0x0B22
-#define GL_SMOOTH_LINE_WIDTH_GRANULARITY       0x0B23
-#define GL_ALIASED_POINT_SIZE_RANGE            0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE            0x846E
+GLAPI void GLAPIENTRY glClearIndex( GLfloat c );
 
+GLAPI void GLAPIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
 
-
-/*
- * OpenGL 1.2 imaging subset (NOT IMPLEMENTED BY MESA)
- */
-/* GL_EXT_color_table */
-#define GL_COLOR_TABLE                         0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE                0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE       0x80D2
-#define GL_PROXY_COLOR_TABLE                   0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE  0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
-#define GL_COLOR_TABLE_SCALE                   0x80D6
-#define GL_COLOR_TABLE_BIAS                    0x80D7
-#define GL_COLOR_TABLE_FORMAT                  0x80D8
-#define GL_COLOR_TABLE_WIDTH                   0x80D9
-#define GL_COLOR_TABLE_RED_SIZE                        0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE              0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE               0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE              0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE          0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE          0x80DF
-/* GL_EXT_convolution and GL_HP_convolution_border_modes */
-#define GL_CONVOLUTION_1D                      0x8010
-#define GL_CONVOLUTION_2D                      0x8011
-#define GL_SEPARABLE_2D                                0x8012
-#define GL_CONVOLUTION_BORDER_MODE             0x8013
-#define GL_CONVOLUTION_FILTER_SCALE            0x8014
-#define GL_CONVOLUTION_FILTER_BIAS             0x8015
-#define GL_REDUCE                              0x8016
-#define GL_CONVOLUTION_FORMAT                  0x8017
-#define GL_CONVOLUTION_WIDTH                   0x8018
-#define GL_CONVOLUTION_HEIGHT                  0x8019
-#define GL_MAX_CONVOLUTION_WIDTH               0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT              0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE          0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE                0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE         0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE                0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS           0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS         0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS          0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS         0x8023
-#define GL_CONSTANT_BORDER                     0x8151
-#define GL_REPLICATE_BORDER                    0x8153
-#define GL_CONVOLUTION_BORDER_COLOR            0x8154
-/* GL_SGI_color_matrix */
-#define GL_COLOR_MATRIX                                0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH            0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH                0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE         0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE       0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE                0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE       0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS          0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS                0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS         0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS                0x80BB
-/* GL_EXT_histogram */
-#define GL_HISTOGRAM                           0x8024
-#define GL_PROXY_HISTOGRAM                     0x8025
-#define GL_HISTOGRAM_WIDTH                     0x8026
-#define GL_HISTOGRAM_FORMAT                    0x8027
-#define GL_HISTOGRAM_RED_SIZE                  0x8028
-#define GL_HISTOGRAM_GREEN_SIZE                        0x8029
-#define GL_HISTOGRAM_BLUE_SIZE                 0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE                        0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE            0x802C
-#define GL_HISTOGRAM_SINK                      0x802D
-#define GL_MINMAX                              0x802E
-#define GL_MINMAX_FORMAT                       0x802F
-#define GL_MINMAX_SINK                         0x8030
-#define GL_TABLE_TOO_LARGE                     0x8031
-/* GL_EXT_blend_color, GL_EXT_blend_minmax */
-#define GL_BLEND_EQUATION                      0x8009
-#define GL_MIN                                 0x8007
-#define GL_MAX                                 0x8008
-#define GL_FUNC_ADD                            0x8006
-#define GL_FUNC_SUBTRACT                       0x800A
-#define GL_FUNC_REVERSE_SUBTRACT               0x800B
-#define        GL_BLEND_COLOR                          0x8005
-
-
-/* glPush/PopAttrib bits */
-#define GL_CURRENT_BIT                         0x00000001
-#define GL_POINT_BIT                           0x00000002
-#define GL_LINE_BIT                            0x00000004
-#define GL_POLYGON_BIT                         0x00000008
-#define GL_POLYGON_STIPPLE_BIT                 0x00000010
-#define GL_PIXEL_MODE_BIT                      0x00000020
-#define GL_LIGHTING_BIT                                0x00000040
-#define GL_FOG_BIT                             0x00000080
-#define GL_DEPTH_BUFFER_BIT                    0x00000100
-#define GL_ACCUM_BUFFER_BIT                    0x00000200
-#define GL_STENCIL_BUFFER_BIT                  0x00000400
-#define GL_VIEWPORT_BIT                                0x00000800
-#define GL_TRANSFORM_BIT                       0x00001000
-#define GL_ENABLE_BIT                          0x00002000
-#define GL_COLOR_BUFFER_BIT                    0x00004000
-#define GL_HINT_BIT                            0x00008000
-#define GL_EVAL_BIT                            0x00010000
-#define GL_LIST_BIT                            0x00020000
-#define GL_TEXTURE_BIT                         0x00040000
-#define GL_SCISSOR_BIT                         0x00080000
-#define GL_ALL_ATTRIB_BITS                     0x000FFFFF
-
-
-#define GL_CLIENT_PIXEL_STORE_BIT              0x00000001
-#define GL_CLIENT_VERTEX_ARRAY_BIT             0x00000002
-#define GL_ALL_CLIENT_ATTRIB_BITS              0xFFFFFFFF
-
-
-
-
-
-#if defined(__BEOS__) || defined(__QUICKDRAW__)
-#pragma export on
-#endif
-
-
-/*
- * Miscellaneous
- */
-
-GLAPI void GLAPIENTRY glClearIndex( GLfloat c );
-
-GLAPI void GLAPIENTRY glClearColor( GLclampf red,
-                         GLclampf green,
-                         GLclampf blue,
-                         GLclampf alpha );
-
-GLAPI void GLAPIENTRY glClear( GLbitfield mask );
+GLAPI void GLAPIENTRY glClear( GLbitfield mask );
 
 GLAPI void GLAPIENTRY glIndexMask( GLuint mask );
 
-GLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green,
-                        GLboolean blue, GLboolean alpha );
+GLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
 
 GLAPI void GLAPIENTRY glAlphaFunc( GLenum func, GLclampf ref );
 
@@ -908,8 +817,7 @@ GLAPI void GLAPIENTRY glEdgeFlag( GLboolean flag );
 
 GLAPI void GLAPIENTRY glEdgeFlagv( const GLboolean *flag );
 
-GLAPI void GLAPIENTRY glScissor( GLint x, GLint y,
-                                   GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
 
 GLAPI void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
 
@@ -954,7 +862,7 @@ GLAPI GLint GLAPIENTRY glRenderMode( GLenum mode );
 
 GLAPI GLenum GLAPIENTRY glGetError( void );
 
-GLAPI const GLubyte* GLAPIENTRY glGetString( GLenum name );
+GLAPI const GLubyte * GLAPIENTRY glGetString( GLenum name );
 
 GLAPI void GLAPIENTRY glFinish( void );
 
@@ -963,7 +871,6 @@ GLAPI void GLAPIENTRY glFlush( void );
 GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
 
 
-
 /*
  * Depth Buffer
  */
@@ -981,13 +888,11 @@ GLAPI void GLAPIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
  * Accumulation Buffer
  */
 
-GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green,
-                                      GLfloat blue, GLfloat alpha );
+GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
 
 GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
 
 
-
 /*
  * Transformation
  */
@@ -1029,7 +934,6 @@ GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
 GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
 
 
-
 /*
  * Display Lists
  */
@@ -1052,7 +956,6 @@ GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
 GLAPI void GLAPIENTRY glListBase( GLuint base );
 
 
-
 /*
  * Drawing Functions
  */
@@ -1248,7 +1151,6 @@ GLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );
 GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
 
 
-
 /*
  * Vertex Arrays  (1.1)
  */
@@ -1270,7 +1172,7 @@ GLAPI void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type,
 
 GLAPI void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
 
-GLAPI void GLAPIENTRY glGetPointerv( GLenum pname, void **params );
+GLAPI void GLAPIENTRY glGetPointerv( GLenum pname, GLvoid **params );
 
 GLAPI void GLAPIENTRY glArrayElement( GLint i );
 
@@ -1282,7 +1184,6 @@ GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
 GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
                                            const GLvoid *pointer );
 
-
 /*
  * Lighting
  */
@@ -1317,8 +1218,6 @@ GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params
 GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
 
 
-
-
 /*
  * Raster functions
  */
@@ -1331,11 +1230,11 @@ GLAPI void GLAPIENTRY glPixelStorei( GLenum pname, GLint param );
 GLAPI void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param );
 GLAPI void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param );
 
-GLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLint mapsize,
+GLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLsizei mapsize,
                                     const GLfloat *values );
-GLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLint mapsize,
+GLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLsizei mapsize,
                                      const GLuint *values );
-GLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLint mapsize,
+GLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLsizei mapsize,
                                      const GLushort *values );
 
 GLAPI void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
@@ -1360,8 +1259,6 @@ GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
                                     GLsizei width, GLsizei height,
                                     GLenum type );
 
-
-
 /*
  * Stenciling
  */
@@ -1439,7 +1336,6 @@ GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
                                      GLvoid *pixels );
 
 
-
 /* 1.1 functions */
 
 GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
@@ -1496,8 +1392,6 @@ GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
                                            GLsizei width, GLsizei height );
 
 
-
-
 /*
  * Evaluators
  */
@@ -1551,7 +1445,6 @@ GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
 GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
 
 
-
 /*
  * Fog
  */
@@ -1565,7 +1458,6 @@ GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
 GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
 
 
-
 /*
  * Selection and Feedback
  */
@@ -1586,7 +1478,52 @@ GLAPI void GLAPIENTRY glPopName( void );
 
 
 
-/* 1.2 functions */
+/*
+ * OpenGL 1.2
+ */
+
+#define GL_RESCALE_NORMAL                      0x803A
+#define GL_CLAMP_TO_EDGE                       0x812F
+#define GL_MAX_ELEMENTS_VERTICES               0x80E8
+#define GL_MAX_ELEMENTS_INDICES                        0x80E9
+#define GL_BGR                                 0x80E0
+#define GL_BGRA                                        0x80E1
+#define GL_UNSIGNED_BYTE_3_3_2                 0x8032
+#define GL_UNSIGNED_BYTE_2_3_3_REV             0x8362
+#define GL_UNSIGNED_SHORT_5_6_5                        0x8363
+#define GL_UNSIGNED_SHORT_5_6_5_REV            0x8364
+#define GL_UNSIGNED_SHORT_4_4_4_4              0x8033
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV          0x8365
+#define GL_UNSIGNED_SHORT_5_5_5_1              0x8034
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV          0x8366
+#define GL_UNSIGNED_INT_8_8_8_8                        0x8035
+#define GL_UNSIGNED_INT_8_8_8_8_REV            0x8367
+#define GL_UNSIGNED_INT_10_10_10_2             0x8036
+#define GL_UNSIGNED_INT_2_10_10_10_REV         0x8368
+#define GL_LIGHT_MODEL_COLOR_CONTROL           0x81F8
+#define GL_SINGLE_COLOR                                0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR             0x81FA
+#define GL_TEXTURE_MIN_LOD                     0x813A
+#define GL_TEXTURE_MAX_LOD                     0x813B
+#define GL_TEXTURE_BASE_LEVEL                  0x813C
+#define GL_TEXTURE_MAX_LEVEL                   0x813D
+#define GL_SMOOTH_POINT_SIZE_RANGE             0x0B12
+#define GL_SMOOTH_POINT_SIZE_GRANULARITY       0x0B13
+#define GL_SMOOTH_LINE_WIDTH_RANGE             0x0B22
+#define GL_SMOOTH_LINE_WIDTH_GRANULARITY       0x0B23
+#define GL_ALIASED_POINT_SIZE_RANGE            0x846D
+#define GL_ALIASED_LINE_WIDTH_RANGE            0x846E
+#define GL_PACK_SKIP_IMAGES                    0x806B
+#define GL_PACK_IMAGE_HEIGHT                   0x806C
+#define GL_UNPACK_SKIP_IMAGES                  0x806D
+#define GL_UNPACK_IMAGE_HEIGHT                 0x806E
+#define GL_TEXTURE_3D                          0x806F
+#define GL_PROXY_TEXTURE_3D                    0x8070
+#define GL_TEXTURE_DEPTH                       0x8071
+#define GL_TEXTURE_WRAP_R                      0x8072
+#define GL_MAX_3D_TEXTURE_SIZE                 0x8073
+#define GL_TEXTURE_BINDING_3D                  0x806A
+
 GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
        GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
 
@@ -1610,8 +1547,92 @@ GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level,
                                              GLint y, GLsizei width,
                                              GLsizei height );
 
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+
+
+/*
+ * GL_ARB_imaging
+ */
+
+#define GL_CONSTANT_COLOR                      0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR            0x8002
+#define GL_CONSTANT_ALPHA                      0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA            0x8004
+#define GL_COLOR_TABLE                         0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE                0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE       0x80D2
+#define GL_PROXY_COLOR_TABLE                   0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE  0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
+#define GL_COLOR_TABLE_SCALE                   0x80D6
+#define GL_COLOR_TABLE_BIAS                    0x80D7
+#define GL_COLOR_TABLE_FORMAT                  0x80D8
+#define GL_COLOR_TABLE_WIDTH                   0x80D9
+#define GL_COLOR_TABLE_RED_SIZE                        0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE              0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE               0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE              0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE          0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE          0x80DF
+#define GL_CONVOLUTION_1D                      0x8010
+#define GL_CONVOLUTION_2D                      0x8011
+#define GL_SEPARABLE_2D                                0x8012
+#define GL_CONVOLUTION_BORDER_MODE             0x8013
+#define GL_CONVOLUTION_FILTER_SCALE            0x8014
+#define GL_CONVOLUTION_FILTER_BIAS             0x8015
+#define GL_REDUCE                              0x8016
+#define GL_CONVOLUTION_FORMAT                  0x8017
+#define GL_CONVOLUTION_WIDTH                   0x8018
+#define GL_CONVOLUTION_HEIGHT                  0x8019
+#define GL_MAX_CONVOLUTION_WIDTH               0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT              0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE          0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE                0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE         0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE                0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS           0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS         0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS          0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS         0x8023
+#define GL_CONSTANT_BORDER                     0x8151
+#define GL_REPLICATE_BORDER                    0x8153
+#define GL_CONVOLUTION_BORDER_COLOR            0x8154
+#define GL_COLOR_MATRIX                                0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH            0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH                0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE         0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE       0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE                0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE       0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS          0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS                0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS         0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS                0x80BB
+#define GL_HISTOGRAM                           0x8024
+#define GL_PROXY_HISTOGRAM                     0x8025
+#define GL_HISTOGRAM_WIDTH                     0x8026
+#define GL_HISTOGRAM_FORMAT                    0x8027
+#define GL_HISTOGRAM_RED_SIZE                  0x8028
+#define GL_HISTOGRAM_GREEN_SIZE                        0x8029
+#define GL_HISTOGRAM_BLUE_SIZE                 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE                        0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE            0x802C
+#define GL_HISTOGRAM_SINK                      0x802D
+#define GL_MINMAX                              0x802E
+#define GL_MINMAX_FORMAT                       0x802F
+#define GL_MINMAX_SINK                         0x8030
+#define GL_TABLE_TOO_LARGE                     0x8031
+#define GL_BLEND_EQUATION                      0x8009
+#define GL_MIN                                 0x8007
+#define GL_MAX                                 0x8008
+#define GL_FUNC_ADD                            0x8006
+#define GL_FUNC_SUBTRACT                       0x800A
+#define GL_FUNC_REVERSE_SUBTRACT               0x800B
+#define GL_BLEND_COLOR                         0x8005
 
-/* 1.2 imaging extension functions */
 
 GLAPI void GLAPIENTRY glColorTable( GLenum target, GLenum internalformat,
                                     GLsizei width, GLenum format,
@@ -1721,6 +1742,224 @@ GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
 GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
        GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
 
+typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
+
+
+
+/*
+ * OpenGL 1.3
+ */
+
+/* multitexture */
+#define GL_TEXTURE0                            0x84C0
+#define GL_TEXTURE1                            0x84C1
+#define GL_TEXTURE2                            0x84C2
+#define GL_TEXTURE3                            0x84C3
+#define GL_TEXTURE4                            0x84C4
+#define GL_TEXTURE5                            0x84C5
+#define GL_TEXTURE6                            0x84C6
+#define GL_TEXTURE7                            0x84C7
+#define GL_TEXTURE8                            0x84C8
+#define GL_TEXTURE9                            0x84C9
+#define GL_TEXTURE10                           0x84CA
+#define GL_TEXTURE11                           0x84CB
+#define GL_TEXTURE12                           0x84CC
+#define GL_TEXTURE13                           0x84CD
+#define GL_TEXTURE14                           0x84CE
+#define GL_TEXTURE15                           0x84CF
+#define GL_TEXTURE16                           0x84D0
+#define GL_TEXTURE17                           0x84D1
+#define GL_TEXTURE18                           0x84D2
+#define GL_TEXTURE19                           0x84D3
+#define GL_TEXTURE20                           0x84D4
+#define GL_TEXTURE21                           0x84D5
+#define GL_TEXTURE22                           0x84D6
+#define GL_TEXTURE23                           0x84D7
+#define GL_TEXTURE24                           0x84D8
+#define GL_TEXTURE25                           0x84D9
+#define GL_TEXTURE26                           0x84DA
+#define GL_TEXTURE27                           0x84DB
+#define GL_TEXTURE28                           0x84DC
+#define GL_TEXTURE29                           0x84DD
+#define GL_TEXTURE30                           0x84DE
+#define GL_TEXTURE31                           0x84DF
+#define GL_ACTIVE_TEXTURE                      0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE               0x84E1
+#define GL_MAX_TEXTURE_UNITS                   0x84E2
+/* texture_cube_map */
+#define GL_NORMAL_MAP                          0x8511
+#define GL_REFLECTION_MAP                      0x8512
+#define GL_TEXTURE_CUBE_MAP                    0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP            0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X         0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X         0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y         0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y         0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z         0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z         0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP              0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE           0x851C
+/* texture_compression */
+#define GL_COMPRESSED_ALPHA                    0x84E9
+#define GL_COMPRESSED_LUMINANCE                        0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA          0x84EB
+#define GL_COMPRESSED_INTENSITY                        0x84EC
+#define GL_COMPRESSED_RGB                      0x84ED
+#define GL_COMPRESSED_RGBA                     0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT            0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE       0x86A0
+#define GL_TEXTURE_COMPRESSED                  0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS      0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS          0x86A3
+/* multisample */
+#define GL_MULTISAMPLE                         0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE            0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE                 0x809F
+#define GL_SAMPLE_COVERAGE                     0x80A0
+#define GL_SAMPLE_BUFFERS                      0x80A8
+#define GL_SAMPLES                             0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE               0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT              0x80AB
+#define GL_MULTISAMPLE_BIT                     0x20000000
+/* transpose_matrix */
+#define GL_TRANSPOSE_MODELVIEW_MATRIX          0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX         0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX            0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX              0x84E6
+/* texture_env_combine */
+#define GL_COMBINE                             0x8570
+#define GL_COMBINE_RGB                         0x8571
+#define GL_COMBINE_ALPHA                       0x8572
+#define GL_SOURCE0_RGB                         0x8580
+#define GL_SOURCE1_RGB                         0x8581
+#define GL_SOURCE2_RGB                         0x8582
+#define GL_SOURCE0_ALPHA                       0x8588
+#define GL_SOURCE1_ALPHA                       0x8589
+#define GL_SOURCE2_ALPHA                       0x858A
+#define GL_OPERAND0_RGB                                0x8590
+#define GL_OPERAND1_RGB                                0x8591
+#define GL_OPERAND2_RGB                                0x8592
+#define GL_OPERAND0_ALPHA                      0x8598
+#define GL_OPERAND1_ALPHA                      0x8599
+#define GL_OPERAND2_ALPHA                      0x859A
+#define GL_RGB_SCALE                           0x8573
+#define GL_ADD_SIGNED                          0x8574
+#define GL_INTERPOLATE                         0x8575
+#define GL_SUBTRACT                            0x84E7
+#define GL_CONSTANT                            0x8576
+#define GL_PRIMARY_COLOR                       0x8577
+#define GL_PREVIOUS                            0x8578
+/* texture_env_dot3 */
+#define GL_DOT3_RGB                            0x86AE
+#define GL_DOT3_RGBA                           0x86AF
+/* texture_border_clamp */
+#define GL_CLAMP_TO_BORDER                     0x812D
+
+GLAPI void GLAPIENTRY glActiveTexture( GLenum texture );
+
+GLAPI void GLAPIENTRY glClientActiveTexture( GLenum texture );
+
+GLAPI void GLAPIENTRY glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1d( GLenum target, GLdouble s );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1dv( GLenum target, const GLdouble *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1f( GLenum target, GLfloat s );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1fv( GLenum target, const GLfloat *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1i( GLenum target, GLint s );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1iv( GLenum target, const GLint *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1s( GLenum target, GLshort s );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1sv( GLenum target, const GLshort *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2dv( GLenum target, const GLdouble *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2fv( GLenum target, const GLfloat *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2i( GLenum target, GLint s, GLint t );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2iv( GLenum target, const GLint *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2s( GLenum target, GLshort s, GLshort t );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2sv( GLenum target, const GLshort *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3dv( GLenum target, const GLdouble *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3fv( GLenum target, const GLfloat *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3iv( GLenum target, const GLint *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3sv( GLenum target, const GLshort *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4dv( GLenum target, const GLdouble *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4fv( GLenum target, const GLfloat *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4iv( GLenum target, const GLint *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4sv( GLenum target, const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glLoadTransposeMatrixd( const GLdouble m[16] );
+
+GLAPI void GLAPIENTRY glLoadTransposeMatrixf( const GLfloat m[16] );
+
+GLAPI void GLAPIENTRY glMultTransposeMatrixd( const GLdouble m[16] );
+
+GLAPI void GLAPIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
+
+GLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
+
+
+typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
+
 
 
 /*
@@ -1800,459 +2039,190 @@ GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v);
 GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
 GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
 
-#endif /* GL_ARB_multitexture */
-
-
-
-
-#if defined(GL_GLEXT_LEGACY)
-
-
-/*
- * 1. GL_EXT_abgr
- */
-#ifndef GL_EXT_abgr
-#define GL_EXT_abgr 1
-
-#define GL_ABGR_EXT                            0x8000
-
-#endif /* GL_EXT_abgr */
-
-
-
-/*
- * 2. GL_EXT_blend_color
- */
-#ifndef GL_EXT_blend_color
-#define GL_EXT_blend_color 1
-
-#define GL_CONSTANT_COLOR_EXT                  0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR_EXT                0x8002
-#define GL_CONSTANT_ALPHA_EXT                  0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT                0x8004
-#define GL_BLEND_COLOR_EXT                     0x8005
-
-GLAPI void GLAPIENTRY glBlendColorEXT( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
-
-#endif /* GL_EXT_blend_color */
-
-
-
-/*
- * 3. GL_EXT_polygon_offset
- */
-#ifndef GL_EXT_polygon_offset
-#define GL_EXT_polygon_offset 1
-
-#define GL_POLYGON_OFFSET_EXT                  0x8037
-#define GL_POLYGON_OFFSET_FACTOR_EXT           0x8038
-#define GL_POLYGON_OFFSET_BIAS_EXT             0x8039
-
-GLAPI void GLAPIENTRY glPolygonOffsetEXT( GLfloat factor, GLfloat bias );
-
-#endif /* GL_EXT_polygon_offset */
-
-
-
-/*
- * 6. GL_EXT_texture3D
- */
-#ifndef GL_EXT_texture3D
-#define GL_EXT_texture3D 1
-
-#define GL_PACK_SKIP_IMAGES_EXT                        0x806B
-#define GL_PACK_IMAGE_HEIGHT_EXT               0x806C
-#define GL_UNPACK_SKIP_IMAGES_EXT              0x806D
-#define GL_UNPACK_IMAGE_HEIGHT_EXT             0x806E
-#define GL_TEXTURE_3D_EXT                      0x806F
-#define GL_PROXY_TEXTURE_3D_EXT                        0x8070
-#define GL_TEXTURE_DEPTH_EXT                   0x8071
-#define GL_TEXTURE_WRAP_R_EXT                  0x8072
-#define GL_MAX_3D_TEXTURE_SIZE_EXT             0x8073
-#define GL_TEXTURE_3D_BINDING_EXT              0x806A
-
-GLAPI void GLAPIENTRY glTexImage3DEXT( GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
-
-GLAPI void GLAPIENTRY glTexSubImage3DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-
-GLAPI void GLAPIENTRY glCopyTexSubImage3DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-
-#endif /* GL_EXT_texture3D */
-
-
-
-/*
- * 20. GL_EXT_texture_object
- */
-#ifndef GL_EXT_texture_object
-#define GL_EXT_texture_object 1
-
-#define GL_TEXTURE_PRIORITY_EXT                        0x8066
-#define GL_TEXTURE_RESIDENT_EXT                        0x8067
-#define GL_TEXTURE_1D_BINDING_EXT              0x8068
-#define GL_TEXTURE_2D_BINDING_EXT              0x8069
-
-GLAPI void GLAPIENTRY glGenTexturesEXT( GLsizei n, GLuint *textures );
-
-GLAPI void GLAPIENTRY glDeleteTexturesEXT( GLsizei n, const GLuint *textures);
-
-GLAPI void GLAPIENTRY glBindTextureEXT( GLenum target, GLuint texture );
-
-GLAPI void GLAPIENTRY glPrioritizeTexturesEXT( GLsizei n, const GLuint *textures, const GLclampf *priorities );
-
-GLAPI GLboolean GLAPIENTRY glAreTexturesResidentEXT( GLsizei n, const GLuint *textures, GLboolean *residences );
-
-GLAPI GLboolean GLAPIENTRY glIsTextureEXT( GLuint texture );
-
-#endif /* GL_EXT_texture_object */
-
-
-
-/*
- * 27. GL_EXT_rescale_normal
- */
-#ifndef GL_EXT_rescale_normal
-#define GL_EXT_rescale_normal 1
-
-#define GL_RESCALE_NORMAL_EXT                  0x803A
-
-#endif /* GL_EXT_rescale_normal */
-
-
+typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
 
-/*
- * 30. GL_EXT_vertex_array
- */
-#ifndef GL_EXT_vertex_array
-#define GL_EXT_vertex_array 1
-
-#define GL_VERTEX_ARRAY_EXT                    0x8074
-#define GL_NORMAL_ARRAY_EXT                    0x8075
-#define GL_COLOR_ARRAY_EXT                     0x8076
-#define GL_INDEX_ARRAY_EXT                     0x8077
-#define GL_TEXTURE_COORD_ARRAY_EXT             0x8078
-#define GL_EDGE_FLAG_ARRAY_EXT                 0x8079
-#define GL_VERTEX_ARRAY_SIZE_EXT               0x807A
-#define GL_VERTEX_ARRAY_TYPE_EXT               0x807B
-#define GL_VERTEX_ARRAY_STRIDE_EXT             0x807C
-#define GL_VERTEX_ARRAY_COUNT_EXT              0x807D
-#define GL_NORMAL_ARRAY_TYPE_EXT               0x807E
-#define GL_NORMAL_ARRAY_STRIDE_EXT             0x807F
-#define GL_NORMAL_ARRAY_COUNT_EXT              0x8080
-#define GL_COLOR_ARRAY_SIZE_EXT                        0x8081
-#define GL_COLOR_ARRAY_TYPE_EXT                        0x8082
-#define GL_COLOR_ARRAY_STRIDE_EXT              0x8083
-#define GL_COLOR_ARRAY_COUNT_EXT               0x8084
-#define GL_INDEX_ARRAY_TYPE_EXT                        0x8085
-#define GL_INDEX_ARRAY_STRIDE_EXT              0x8086
-#define GL_INDEX_ARRAY_COUNT_EXT               0x8087
-#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT                0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT                0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT      0x808A
-#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT       0x808B
-#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT          0x808C
-#define GL_EDGE_FLAG_ARRAY_COUNT_EXT           0x808D
-#define GL_VERTEX_ARRAY_POINTER_EXT            0x808E
-#define GL_NORMAL_ARRAY_POINTER_EXT            0x808F
-#define GL_COLOR_ARRAY_POINTER_EXT             0x8090
-#define GL_INDEX_ARRAY_POINTER_EXT             0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT     0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER_EXT         0x8093
-
-GLAPI void GLAPIENTRY glVertexPointerEXT( GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glNormalPointerEXT( GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glColorPointerEXT( GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glIndexPointerEXT( GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glTexCoordPointerEXT( GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glEdgeFlagPointerEXT( GLsizei stride, GLsizei count, const GLboolean *ptr );
-
-GLAPI void GLAPIENTRY glGetPointervEXT( GLenum pname, void **params );
-
-GLAPI void GLAPIENTRY glArrayElementEXT( GLint i );
-
-GLAPI void GLAPIENTRY glDrawArraysEXT( GLenum mode, GLint first, GLsizei count );
-
-#endif /* GL_EXT_vertex_array */
-
-
-
-/*
- * 35. GL_SGIS_texture_edge_clamp
- */
-#ifndef GL_SGIS_texture_edge_clamp
-#define GL_SGIS_texture_edge_clamp 1
-
-#define GL_CLAMP_TO_EDGE_SGIS                  0x812F
-
-#endif /* GL_SGIS_texture_edge_clamp */
-
-
-
-/*
- * 37. GL_EXT_blend_minmax
- */
-#ifndef GL_EXT_blend_minmax
-#define GL_EXT_blend_minmax 1
-
-#define GL_FUNC_ADD_EXT                                0x8006
-#define GL_MIN_EXT                             0x8007
-#define GL_MAX_EXT                             0x8008
-#define GL_BLEND_EQUATION_EXT                  0x8009
-
-GLAPI void GLAPIENTRY glBlendEquationEXT( GLenum mode );
-
-#endif /* GL_EXT_blend_minmax */
-
-
-
-/*
- * 38. GL_EXT_blend_subtract (requires GL_EXT_blend_max )
- */
-#ifndef GL_EXT_blend_subtract
-#define GL_EXT_blend_subtract 1
-
-#define GL_FUNC_SUBTRACT_EXT                   0x800A
-#define GL_FUNC_REVERSE_SUBTRACT_EXT           0x800B
-
-#endif /* GL_EXT_blend_subtract */
-
-
-
-/*
- * 39. GL_EXT_blend_logic_op
- */
-#ifndef GL_EXT_blend_logic_op
-#define GL_EXT_blend_logic_op 1
-
-/* No new tokens or functions */
-
-#endif /* GL_EXT_blend_logic_op */
-
-
-
-/*
- * 54. GL_EXT_point_parameters
- */
-#ifndef GL_EXT_point_parameters
-#define GL_EXT_point_parameters 1
-
-#define GL_POINT_SIZE_MIN_EXT                  0x8126
-#define GL_POINT_SIZE_MAX_EXT                  0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_EXT       0x8128
-#define GL_DISTANCE_ATTENUATION_EXT            0x8129
-
-GLAPI void GLAPIENTRY glPointParameterfEXT( GLenum pname, GLfloat param );
-GLAPI void GLAPIENTRY glPointParameterfvEXT( GLenum pname, const GLfloat *params );
-GLAPI void GLAPIENTRY glPointParameterfSGIS(GLenum pname, GLfloat param);
-GLAPI void GLAPIENTRY glPointParameterfvSGIS(GLenum pname, const GLfloat *params);
-
-#endif /* GL_EXT_point_parameters */
+#endif /* GL_ARB_multitexture */
 
 
 
 /*
- * 78. GL_EXT_paletted_texture
+ * Define this token if you want "old-style" header file behaviour (extensions
+ * defined in gl.h).  Otherwise, extensions will be included from glext.h.
  */
-#ifndef GL_EXT_paletted_texture
-#define GL_EXT_paletted_texture 1
-
-#define GL_TABLE_TOO_LARGE_EXT                 0x8031
-#define GL_COLOR_TABLE_FORMAT_EXT              0x80D8
-#define GL_COLOR_TABLE_WIDTH_EXT               0x80D9
-#define GL_COLOR_TABLE_RED_SIZE_EXT            0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE_EXT          0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE_EXT           0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE_EXT          0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT      0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT      0x80DF
-#define GL_TEXTURE_INDEX_SIZE_EXT              0x80ED
-#define GL_COLOR_INDEX1_EXT                    0x80E2
-#define GL_COLOR_INDEX2_EXT                    0x80E3
-#define GL_COLOR_INDEX4_EXT                    0x80E4
-#define GL_COLOR_INDEX8_EXT                    0x80E5
-#define GL_COLOR_INDEX12_EXT                   0x80E6
-#define GL_COLOR_INDEX16_EXT                   0x80E7
-
-GLAPI void GLAPIENTRY glColorTableEXT( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table );
-
-GLAPI void GLAPIENTRY glColorSubTableEXT( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data );
-
-GLAPI void GLAPIENTRY glGetColorTableEXT( GLenum target, GLenum format, GLenum type, GLvoid *table );
-
-GLAPI void GLAPIENTRY glGetColorTableParameterfvEXT( GLenum target, GLenum pname, GLfloat *params );
-
-GLAPI void GLAPIENTRY glGetColorTableParameterivEXT( GLenum target, GLenum pname, GLint *params );
-
-#endif /* GL_EXT_paletted_texture */
-
-
+#if defined(GL_GLEXT_LEGACY)
 
-/*
- * 79. GL_EXT_clip_volume_hint
- */
-#ifndef GL_EXT_clip_volume_hint
-#define GL_EXT_clip_volume_hint 1
+/* All extensions that used to be here are now found in glext.h */
 
-#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT       0x80F0
+#else  /* GL_GLEXT_LEGACY */
 
-#endif /* GL_EXT_clip_volume_hint */
+#include <GL/glext.h>
 
+#endif  /* GL_GLEXT_LEGACY */
 
 
-/*
- * 97. GL_EXT_compiled_vertex_array
- */
-#ifndef GL_EXT_compiled_vertex_array
-#define GL_EXT_compiled_vertex_array 1
 
-#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT                0x81A8
-#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT                0x81A9
+#if GL_ARB_shader_objects
 
-GLAPI void GLAPIENTRY glLockArraysEXT( GLint first, GLsizei count );
-GLAPI void GLAPIENTRY glUnlockArraysEXT( void );
+#ifndef GL_MESA_shader_debug
+#define GL_MESA_shader_debug 1
 
-#endif /* GL_EXT_compiled_vertex_array */
+#define GL_DEBUG_OBJECT_MESA              0x8759
+#define GL_DEBUG_PRINT_MESA               0x875A
+#define GL_DEBUG_ASSERT_MESA              0x875B
 
-/*
- * 137. GL_HP_occlusion_test
- */
-#ifndef GL_HP_occlusion_test
-#define GL_HP_occlusion_test 1
+GLAPI GLhandleARB GLAPIENTRY glCreateDebugObjectMESA (void);
+GLAPI void GLAPIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
+GLAPI void GLAPIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
+                                         GLsizei *length, GLcharARB *debugLog);
+GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
 
-#define GL_OCCLUSION_TEST_HP                    0x8165
-#define GL_OCCLUSION_TEST_RESULT_HP             0x8166
+#endif /* GL_MESA_shader_debug */
 
-#endif /* GL_HP_occlusion_test */
+#endif /* GL_ARB_shader_objects */
 
 
 /*
- * 141. GL_EXT_shared_texture_palette (req's GL_EXT_paletted_texture)
+ * ???. GL_MESA_packed_depth_stencil
+ * XXX obsolete
  */
-#ifndef GL_EXT_shared_texture_palette
-#define GL_EXT_shared_texture_palette 1
-
-#define GL_SHARED_TEXTURE_PALETTE_EXT          0x81FB
-
-#endif /* GL_EXT_shared_texture_palette */
+#ifndef GL_MESA_packed_depth_stencil
+#define GL_MESA_packed_depth_stencil 1
 
+#define GL_DEPTH_STENCIL_MESA                  0x8750
+#define GL_UNSIGNED_INT_24_8_MESA              0x8751
+#define GL_UNSIGNED_INT_8_24_REV_MESA          0x8752
+#define GL_UNSIGNED_SHORT_15_1_MESA            0x8753
+#define GL_UNSIGNED_SHORT_1_15_REV_MESA                0x8754
 
+#endif /* GL_MESA_packed_depth_stencil */
 
-/*
- * 176. GL_EXT_stencil_wrap
- */
-#ifndef GL_EXT_stencil_wrap
-#define GL_EXT_stencil_wrap 1
-
-#define GL_INCR_WRAP_EXT                       0x8507
-#define GL_DECR_WRAP_EXT                       0x8508
 
-#endif /* GL_EXT_stencil_wrap */
+#ifndef GL_MESA_program_debug
+#define GL_MESA_program_debug 1
 
+#define GL_FRAGMENT_PROGRAM_POSITION_MESA       0x8bb0
+#define GL_FRAGMENT_PROGRAM_CALLBACK_MESA       0x8bb1
+#define GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA  0x8bb2
+#define GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA  0x8bb3
+#define GL_VERTEX_PROGRAM_POSITION_MESA         0x8bb4
+#define GL_VERTEX_PROGRAM_CALLBACK_MESA         0x8bb5
+#define GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA    0x8bb6
+#define GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA    0x8bb7
 
+typedef void (*GLprogramcallbackMESA)(GLenum target, GLvoid *data);
 
-/*
- * 179. GL_NV_texgen_reflection
- */
-#ifndef GL_NV_texgen_reflection
-#define GL_NV_texgen_reflection 1
+GLAPI void GLAPIENTRY glProgramCallbackMESA(GLenum target, GLprogramcallbackMESA callback, GLvoid *data);
 
-#define GL_NORMAL_MAP_NV                       0x8511
-#define GL_REFLECTION_MAP_NV                   0x8512
+GLAPI void GLAPIENTRY glGetProgramRegisterfvMESA(GLenum target, GLsizei len, const GLubyte *name, GLfloat *v);
 
-#endif /* GL_NV_texgen_reflection */
+#endif /* GL_MESA_program_debug */
 
 
+#ifndef GL_MESA_texture_array
+#define GL_MESA_texture_array 1
 
-/*
- * 185. GL_EXT_texture_env_add
+/* GL_MESA_texture_array uses the same enum values as GL_EXT_texture_array.
  */
-#ifndef GL_EXT_texture_env_add
-#define GL_EXT_texture_env_add 1
-
-/* No new tokens or functions */
-
-#endif /* GL_EXT_texture_env_add */
-
-
+#ifndef GL_EXT_texture_array
 
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFramebufferTextureLayerEXT(GLenum target,
+    GLenum attachment, GLuint texture, GLint level, GLint layer);
+#endif /* GL_GLEXT_PROTOTYPES */
 
-
-/*
- * 197. GL_MESA_window_pos
+#if 0
+/* (temporarily) disabled because of collision with typedef in glext.h
+ * that happens if apps include both gl.h and glext.h
  */
-#ifndef GL_MESA_window_pos
-#define GL_MESA_window_pos 1
-
-GLAPI void GLAPIENTRY glWindowPos2iMESA( GLint x, GLint y );
-GLAPI void GLAPIENTRY glWindowPos2sMESA( GLshort x, GLshort y );
-GLAPI void GLAPIENTRY glWindowPos2fMESA( GLfloat x, GLfloat y );
-GLAPI void GLAPIENTRY glWindowPos2dMESA( GLdouble x, GLdouble y );
-GLAPI void GLAPIENTRY glWindowPos2ivMESA( const GLint *p );
-GLAPI void GLAPIENTRY glWindowPos2svMESA( const GLshort *p );
-GLAPI void GLAPIENTRY glWindowPos2fvMESA( const GLfloat *p );
-GLAPI void GLAPIENTRY glWindowPos2dvMESA( const GLdouble *p );
-GLAPI void GLAPIENTRY glWindowPos3iMESA( GLint x, GLint y, GLint z );
-GLAPI void GLAPIENTRY glWindowPos3sMESA( GLshort x, GLshort y, GLshort z );
-GLAPI void GLAPIENTRY glWindowPos3fMESA( GLfloat x, GLfloat y, GLfloat z );
-GLAPI void GLAPIENTRY glWindowPos3dMESA( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void GLAPIENTRY glWindowPos3ivMESA( const GLint *p );
-GLAPI void GLAPIENTRY glWindowPos3svMESA( const GLshort *p );
-GLAPI void GLAPIENTRY glWindowPos3fvMESA( const GLfloat *p );
-GLAPI void GLAPIENTRY glWindowPos3dvMESA( const GLdouble *p );
-GLAPI void GLAPIENTRY glWindowPos4iMESA( GLint x, GLint y, GLint z, GLint w );
-GLAPI void GLAPIENTRY glWindowPos4sMESA( GLshort x, GLshort y, GLshort z, GLshort w );
-GLAPI void GLAPIENTRY glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
-GLAPI void GLAPIENTRY glWindowPos4dMESA( GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-GLAPI void GLAPIENTRY glWindowPos4ivMESA( const GLint *p );
-GLAPI void GLAPIENTRY glWindowPos4svMESA( const GLshort *p );
-GLAPI void GLAPIENTRY glWindowPos4fvMESA( const GLfloat *p );
-GLAPI void GLAPIENTRY glWindowPos4dvMESA( const GLdouble *p );
-
-#endif /* GL_MESA_window_pos */
-
-
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target,
+    GLenum attachment, GLuint texture, GLint level, GLint layer);
+#endif
 
-/*
- * 196. GL_MESA_resize_bufffers
- */
-#ifndef GL_MESA_resize_bufffers
-#define GL_MESA_resize_buffers 1
+#define GL_TEXTURE_1D_ARRAY_EXT         0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY_EXT   0x8C19
+#define GL_TEXTURE_2D_ARRAY_EXT         0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY_EXT   0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
+#endif
 
-GLAPI void GLAPIENTRY glResizeBuffersMESA( void );
+#endif
 
-#endif /* GL_MESA_resize_bufffers */
 
+#ifndef GL_ATI_blend_equation_separate
+#define GL_ATI_blend_equation_separate 1
 
+#define GL_ALPHA_BLEND_EQUATION_ATI            0x883D
 
-/*
- * 220. GL_EXT_texture_env_dot3
- */
-#ifndef GL_EXT_texture_env_dot3
-#define GL_EXT_texture_env_dot3 1
+GLAPI void GLAPIENTRY glBlendEquationSeparateATI( GLenum modeRGB, GLenum modeA );
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLenum modeA);
 
-#define GL_DOT3_RGB_EXT                                0x8740
-#define GL_DOT3_RGBA_EXT                       0x8741
+#endif /* GL_ATI_blend_equation_separate */
 
-#endif /* GL_EXT_texture_env_dot3 */
 
+/* GL_OES_EGL_image */
+#ifndef GL_OES_EGL_image
+typedef void* GLeglImageOES;
+#endif
 
-#else  /* GL_GLEXT_LEGACY */
+#ifndef GL_OES_EGL_image
+#define GL_OES_EGL_image 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
+GLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
+#endif
+typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
+typedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
+#endif
 
-#include <GL/glext.h>
 
-#endif  /* GL_GLEXT_LEGACY */
+/**
+ ** NOTE!!!!!  If you add new functions to this file, or update
+ ** glext.h be sure to regenerate the gl_mangle.h file.  See comments
+ ** in that file for details.
+ **/
 
 
 
 /**********************************************************************
  * Begin system-specific stuff
  */
-#if defined(__BEOS__) || defined(__QUICKDRAW__)
+#if defined(PRAGMA_EXPORT_SUPPORTED)
 #pragma export off
 #endif
 
@@ -2269,4 +2239,3 @@ GLAPI void GLAPIENTRY glResizeBuffersMESA( void );
 #endif
 
 #endif /* __gl_h_ */
-