Home | History | Annotate | Download | only in src
      1 /*M///////////////////////////////////////////////////////////////////////////////////////
      2 //
      3 //  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
      4 //
      5 //  By downloading, copying, installing or using the software you agree to this license.
      6 //  If you do not agree to this license, do not download, install,
      7 //  copy or use the software.
      8 //
      9 //
     10 //                           License Agreement
     11 //                For Open Source Computer Vision Library
     12 //
     13 // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
     14 // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
     15 // Third party copyrights are property of their respective owners.
     16 //
     17 // Redistribution and use in source and binary forms, with or without modification,
     18 // are permitted provided that the following conditions are met:
     19 //
     20 //   * Redistribution's of source code must retain the above copyright notice,
     21 //     this list of conditions and the following disclaimer.
     22 //
     23 //   * Redistribution's in binary form must reproduce the above copyright notice,
     24 //     this list of conditions and the following disclaimer in the documentation
     25 //     and/or other materials provided with the distribution.
     26 //
     27 //   * The name of the copyright holders may not be used to endorse or promote products
     28 //     derived from this software without specific prior written permission.
     29 //
     30 // This software is provided by the copyright holders and contributors "as is" and
     31 // any express or implied warranties, including, but not limited to, the implied
     32 // warranties of merchantability and fitness for a particular purpose are disclaimed.
     33 // In no event shall the Intel Corporation or contributors be liable for any direct,
     34 // indirect, incidental, special, exemplary, or consequential damages
     35 // (including, but not limited to, procurement of substitute goods or services;
     36 // loss of use, data, or profits; or business interruption) however caused
     37 // and on any theory of liability, whether in contract, strict liability,
     38 // or tort (including negligence or otherwise) arising in any way out of
     39 // the use of this software, even if advised of the possibility of such damage.
     40 //
     41 //M*/
     42 
     43 #ifndef OPENGL_NOLOAD_STYLE_HPP
     44 #define OPENGL_NOLOAD_STYLE_HPP
     45 
     46 #if defined(__gl_h_) || defined(__GL_H__)
     47 #error Attempt to include auto-generated header after including gl.h
     48 #endif
     49 #if defined(__glext_h_) || defined(__GLEXT_H_)
     50 #error Attempt to include auto-generated header after including glext.h
     51 #endif
     52 #if defined(__gl_ATI_h_)
     53 #error Attempt to include auto-generated header after including glATI.h
     54 #endif
     55 
     56 #define __gl_h_
     57 #define __GL_H__
     58 #define __glext_h_
     59 #define __GLEXT_H_
     60 #define __gl_ATI_h_
     61 
     62 #ifndef APIENTRY
     63     #if defined(__MINGW32__)
     64         #ifndef WIN32_LEAN_AND_MEAN
     65             #define WIN32_LEAN_AND_MEAN 1
     66         #endif
     67         #ifndef NOMINMAX
     68             #define NOMINMAX
     69         #endif
     70         #include <windows.h>
     71     #elif (defined(_MSC_VER) && _MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__)
     72         #ifndef WIN32_LEAN_AND_MEAN
     73             #define WIN32_LEAN_AND_MEAN 1
     74         #endif
     75         #ifndef NOMINMAX
     76             #define NOMINMAX
     77         #endif
     78         #include <windows.h>
     79     #else
     80         #define APIENTRY
     81     #endif
     82 #endif // APIENTRY
     83 
     84 #ifndef CODEGEN_FUNCPTR
     85     #define CODEGEN_REMOVE_FUNCPTR
     86     #if defined(_WIN32)
     87         #define CODEGEN_FUNCPTR APIENTRY
     88     #else
     89         #define CODEGEN_FUNCPTR
     90     #endif
     91 #endif // CODEGEN_FUNCPTR
     92 
     93 #ifndef GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS
     94 #define GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS
     95     typedef unsigned int GLenum;
     96     typedef unsigned char GLboolean;
     97     typedef unsigned int GLbitfield;
     98     typedef signed char GLbyte;
     99     typedef short GLshort;
    100     typedef int GLint;
    101     typedef int GLsizei;
    102     typedef unsigned char GLubyte;
    103     typedef unsigned short GLushort;
    104     typedef unsigned int GLuint;
    105     typedef float GLfloat;
    106     typedef float GLclampf;
    107     typedef double GLdouble;
    108     typedef double GLclampd;
    109     #define GLvoid void
    110 #endif // GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS
    111 
    112 #include <stddef.h>
    113 
    114 #ifndef GL_VERSION_2_0
    115     // GL type for program/shader text
    116     typedef char GLchar;
    117 #endif
    118 
    119 #ifndef GL_VERSION_1_5
    120     // GL types for handling large vertex buffer objects
    121     typedef ptrdiff_t GLintptr;
    122     typedef ptrdiff_t GLsizeiptr;
    123 #endif
    124 
    125 #ifndef GL_ARB_vertex_buffer_object
    126     // GL types for handling large vertex buffer objects
    127     typedef ptrdiff_t GLintptrARB;
    128     typedef ptrdiff_t GLsizeiptrARB;
    129 #endif
    130 
    131 #ifndef GL_ARB_shader_objects
    132     // GL types for program/shader text and shader object handles
    133     typedef char GLcharARB;
    134     typedef unsigned int GLhandleARB;
    135 #endif
    136 
    137 // GL type for "half" precision (s10e5) float data in host memory
    138 #ifndef GL_ARB_half_float_pixel
    139     typedef unsigned short GLhalfARB;
    140 #endif
    141 #ifndef GL_NV_half_float
    142     typedef unsigned short GLhalfNV;
    143 #endif
    144 
    145 #ifndef GLEXT_64_TYPES_DEFINED
    146     // This code block is duplicated in glxext.h, so must be protected
    147     #define GLEXT_64_TYPES_DEFINED
    148 
    149     // Define int32_t, int64_t, and uint64_t types for UST/MSC
    150     // (as used in the GL_EXT_timer_query extension)
    151     #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    152         #include <inttypes.h>
    153     #elif defined(__sun__) || defined(__digital__)
    154         #include <inttypes.h>
    155         #if defined(__STDC__)
    156             #if defined(__arch64__) || defined(_LP64)
    157                 typedef long int int64_t;
    158                 typedef unsigned long int uint64_t;
    159             #else
    160                 typedef long long int int64_t;
    161                 typedef unsigned long long int uint64_t;
    162             #endif // __arch64__
    163         #endif // __STDC__
    164     #elif defined( __VMS ) || defined(__sgi)
    165         #include <inttypes.h>
    166     #elif defined(__SCO__) || defined(__USLC__)
    167         #include <stdint.h>
    168     #elif defined(__UNIXOS2__) || defined(__SOL64__)
    169         typedef long int int32_t;
    170         typedef long long int int64_t;
    171         typedef unsigned long long int uint64_t;
    172     #elif defined(_WIN32) && defined(__GNUC__)
    173         #include <stdint.h>
    174     #elif defined(_WIN32)
    175         typedef __int32 int32_t;
    176         typedef __int64 int64_t;
    177         typedef unsigned __int64 uint64_t;
    178     #else
    179         // Fallback if nothing above works
    180         #include <inttypes.h>
    181     #endif
    182 #endif
    183 
    184 #ifndef GL_EXT_timer_query
    185     typedef int64_t GLint64EXT;
    186     typedef uint64_t GLuint64EXT;
    187 #endif
    188 
    189 #ifndef GL_ARB_sync
    190     typedef int64_t GLint64;
    191     typedef uint64_t GLuint64;
    192     typedef struct __GLsync *GLsync;
    193 #endif
    194 
    195 #ifndef GL_ARB_cl_event
    196     // These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event
    197     struct _cl_context;
    198     struct _cl_event;
    199 #endif
    200 
    201 #ifndef GL_ARB_debug_output
    202     typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
    203 #endif
    204 
    205 #ifndef GL_AMD_debug_output
    206     typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
    207 #endif
    208 
    209 #ifndef GL_KHR_debug
    210     typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
    211 #endif
    212 
    213 #ifndef GL_NV_vdpau_interop
    214     typedef GLintptr GLvdpauSurfaceNV;
    215 #endif
    216 
    217 namespace gl
    218 {
    219     enum
    220     {
    221         // Version: 1.1
    222         DEPTH_BUFFER_BIT                 = 0x00000100,
    223         STENCIL_BUFFER_BIT               = 0x00000400,
    224         COLOR_BUFFER_BIT                 = 0x00004000,
    225         FALSE_                           = 0,
    226         TRUE_                            = 1,
    227         POINTS                           = 0x0000,
    228         LINES                            = 0x0001,
    229         LINE_LOOP                        = 0x0002,
    230         LINE_STRIP                       = 0x0003,
    231         TRIANGLES                        = 0x0004,
    232         TRIANGLE_STRIP                   = 0x0005,
    233         TRIANGLE_FAN                     = 0x0006,
    234         QUADS                            = 0x0007,
    235         NEVER                            = 0x0200,
    236         LESS                             = 0x0201,
    237         EQUAL                            = 0x0202,
    238         LEQUAL                           = 0x0203,
    239         GREATER                          = 0x0204,
    240         NOTEQUAL                         = 0x0205,
    241         GEQUAL                           = 0x0206,
    242         ALWAYS                           = 0x0207,
    243         ZERO                             = 0,
    244         ONE                              = 1,
    245         SRC_COLOR                        = 0x0300,
    246         ONE_MINUS_SRC_COLOR              = 0x0301,
    247         SRC_ALPHA                        = 0x0302,
    248         ONE_MINUS_SRC_ALPHA              = 0x0303,
    249         DST_ALPHA                        = 0x0304,
    250         ONE_MINUS_DST_ALPHA              = 0x0305,
    251         DST_COLOR                        = 0x0306,
    252         ONE_MINUS_DST_COLOR              = 0x0307,
    253         SRC_ALPHA_SATURATE               = 0x0308,
    254         NONE                             = 0,
    255         FRONT_LEFT                       = 0x0400,
    256         FRONT_RIGHT                      = 0x0401,
    257         BACK_LEFT                        = 0x0402,
    258         BACK_RIGHT                       = 0x0403,
    259         FRONT                            = 0x0404,
    260         BACK                             = 0x0405,
    261         LEFT                             = 0x0406,
    262         RIGHT                            = 0x0407,
    263         FRONT_AND_BACK                   = 0x0408,
    264         NO_ERROR_                        = 0,
    265         INVALID_ENUM                     = 0x0500,
    266         INVALID_VALUE                    = 0x0501,
    267         INVALID_OPERATION                = 0x0502,
    268         OUT_OF_MEMORY                    = 0x0505,
    269         CW                               = 0x0900,
    270         CCW                              = 0x0901,
    271         POINT_SIZE                       = 0x0B11,
    272         POINT_SIZE_RANGE                 = 0x0B12,
    273         POINT_SIZE_GRANULARITY           = 0x0B13,
    274         LINE_SMOOTH                      = 0x0B20,
    275         LINE_WIDTH                       = 0x0B21,
    276         LINE_WIDTH_RANGE                 = 0x0B22,
    277         LINE_WIDTH_GRANULARITY           = 0x0B23,
    278         POLYGON_MODE                     = 0x0B40,
    279         POLYGON_SMOOTH                   = 0x0B41,
    280         CULL_FACE                        = 0x0B44,
    281         CULL_FACE_MODE                   = 0x0B45,
    282         FRONT_FACE                       = 0x0B46,
    283         DEPTH_RANGE                      = 0x0B70,
    284         DEPTH_TEST                       = 0x0B71,
    285         DEPTH_WRITEMASK                  = 0x0B72,
    286         DEPTH_CLEAR_VALUE                = 0x0B73,
    287         DEPTH_FUNC                       = 0x0B74,
    288         STENCIL_TEST                     = 0x0B90,
    289         STENCIL_CLEAR_VALUE              = 0x0B91,
    290         STENCIL_FUNC                     = 0x0B92,
    291         STENCIL_VALUE_MASK               = 0x0B93,
    292         STENCIL_FAIL                     = 0x0B94,
    293         STENCIL_PASS_DEPTH_FAIL          = 0x0B95,
    294         STENCIL_PASS_DEPTH_PASS          = 0x0B96,
    295         STENCIL_REF                      = 0x0B97,
    296         STENCIL_WRITEMASK                = 0x0B98,
    297         VIEWPORT                         = 0x0BA2,
    298         DITHER                           = 0x0BD0,
    299         BLEND_DST                        = 0x0BE0,
    300         BLEND_SRC                        = 0x0BE1,
    301         BLEND                            = 0x0BE2,
    302         LOGIC_OP_MODE                    = 0x0BF0,
    303         COLOR_LOGIC_OP                   = 0x0BF2,
    304         DRAW_BUFFER                      = 0x0C01,
    305         READ_BUFFER                      = 0x0C02,
    306         SCISSOR_BOX                      = 0x0C10,
    307         SCISSOR_TEST                     = 0x0C11,
    308         COLOR_CLEAR_VALUE                = 0x0C22,
    309         COLOR_WRITEMASK                  = 0x0C23,
    310         DOUBLEBUFFER                     = 0x0C32,
    311         STEREO                           = 0x0C33,
    312         LINE_SMOOTH_HINT                 = 0x0C52,
    313         POLYGON_SMOOTH_HINT              = 0x0C53,
    314         UNPACK_SWAP_BYTES                = 0x0CF0,
    315         UNPACK_LSB_FIRST                 = 0x0CF1,
    316         UNPACK_ROW_LENGTH                = 0x0CF2,
    317         UNPACK_SKIP_ROWS                 = 0x0CF3,
    318         UNPACK_SKIP_PIXELS               = 0x0CF4,
    319         UNPACK_ALIGNMENT                 = 0x0CF5,
    320         PACK_SWAP_BYTES                  = 0x0D00,
    321         PACK_LSB_FIRST                   = 0x0D01,
    322         PACK_ROW_LENGTH                  = 0x0D02,
    323         PACK_SKIP_ROWS                   = 0x0D03,
    324         PACK_SKIP_PIXELS                 = 0x0D04,
    325         PACK_ALIGNMENT                   = 0x0D05,
    326         MAX_TEXTURE_SIZE                 = 0x0D33,
    327         MAX_VIEWPORT_DIMS                = 0x0D3A,
    328         SUBPIXEL_BITS                    = 0x0D50,
    329         TEXTURE_1D                       = 0x0DE0,
    330         TEXTURE_2D                       = 0x0DE1,
    331         POLYGON_OFFSET_UNITS             = 0x2A00,
    332         POLYGON_OFFSET_POINT             = 0x2A01,
    333         POLYGON_OFFSET_LINE              = 0x2A02,
    334         POLYGON_OFFSET_FILL              = 0x8037,
    335         POLYGON_OFFSET_FACTOR            = 0x8038,
    336         TEXTURE_BINDING_1D               = 0x8068,
    337         TEXTURE_BINDING_2D               = 0x8069,
    338         TEXTURE_WIDTH                    = 0x1000,
    339         TEXTURE_HEIGHT                   = 0x1001,
    340         TEXTURE_INTERNAL_FORMAT          = 0x1003,
    341         TEXTURE_BORDER_COLOR             = 0x1004,
    342         TEXTURE_RED_SIZE                 = 0x805C,
    343         TEXTURE_GREEN_SIZE               = 0x805D,
    344         TEXTURE_BLUE_SIZE                = 0x805E,
    345         TEXTURE_ALPHA_SIZE               = 0x805F,
    346         DONT_CARE                        = 0x1100,
    347         FASTEST                          = 0x1101,
    348         NICEST                           = 0x1102,
    349         BYTE                             = 0x1400,
    350         UNSIGNED_BYTE                    = 0x1401,
    351         SHORT                            = 0x1402,
    352         UNSIGNED_SHORT                   = 0x1403,
    353         INT                              = 0x1404,
    354         UNSIGNED_INT                     = 0x1405,
    355         FLOAT                            = 0x1406,
    356         DOUBLE                           = 0x140A,
    357         CLEAR                            = 0x1500,
    358         AND                              = 0x1501,
    359         AND_REVERSE                      = 0x1502,
    360         COPY                             = 0x1503,
    361         AND_INVERTED                     = 0x1504,
    362         NOOP                             = 0x1505,
    363         XOR                              = 0x1506,
    364         OR                               = 0x1507,
    365         NOR                              = 0x1508,
    366         EQUIV                            = 0x1509,
    367         INVERT                           = 0x150A,
    368         OR_REVERSE                       = 0x150B,
    369         COPY_INVERTED                    = 0x150C,
    370         OR_INVERTED                      = 0x150D,
    371         NAND                             = 0x150E,
    372         SET                              = 0x150F,
    373         TEXTURE                          = 0x1702,
    374         COLOR                            = 0x1800,
    375         DEPTH                            = 0x1801,
    376         STENCIL                          = 0x1802,
    377         STENCIL_INDEX                    = 0x1901,
    378         DEPTH_COMPONENT                  = 0x1902,
    379         RED                              = 0x1903,
    380         GREEN                            = 0x1904,
    381         BLUE                             = 0x1905,
    382         ALPHA                            = 0x1906,
    383         RGB                              = 0x1907,
    384         RGBA                             = 0x1908,
    385         POINT                            = 0x1B00,
    386         LINE                             = 0x1B01,
    387         FILL                             = 0x1B02,
    388         KEEP                             = 0x1E00,
    389         REPLACE                          = 0x1E01,
    390         INCR                             = 0x1E02,
    391         DECR                             = 0x1E03,
    392         VENDOR                           = 0x1F00,
    393         RENDERER                         = 0x1F01,
    394         VERSION_                         = 0x1F02,
    395         EXTENSIONS                       = 0x1F03,
    396         NEAREST                          = 0x2600,
    397         LINEAR                           = 0x2601,
    398         NEAREST_MIPMAP_NEAREST           = 0x2700,
    399         LINEAR_MIPMAP_NEAREST            = 0x2701,
    400         NEAREST_MIPMAP_LINEAR            = 0x2702,
    401         LINEAR_MIPMAP_LINEAR             = 0x2703,
    402         TEXTURE_MAG_FILTER               = 0x2800,
    403         TEXTURE_MIN_FILTER               = 0x2801,
    404         TEXTURE_WRAP_S                   = 0x2802,
    405         TEXTURE_WRAP_T                   = 0x2803,
    406         PROXY_TEXTURE_1D                 = 0x8063,
    407         PROXY_TEXTURE_2D                 = 0x8064,
    408         REPEAT                           = 0x2901,
    409         R3_G3_B2                         = 0x2A10,
    410         RGB4                             = 0x804F,
    411         RGB5                             = 0x8050,
    412         RGB8                             = 0x8051,
    413         RGB10                            = 0x8052,
    414         RGB12                            = 0x8053,
    415         RGB16                            = 0x8054,
    416         RGBA2                            = 0x8055,
    417         RGBA4                            = 0x8056,
    418         RGB5_A1                          = 0x8057,
    419         RGBA8                            = 0x8058,
    420         RGB10_A2                         = 0x8059,
    421         RGBA12                           = 0x805A,
    422         RGBA16                           = 0x805B,
    423 
    424         // Core Extension: ARB_imaging
    425         CONSTANT_COLOR                   = 0x8001,
    426         ONE_MINUS_CONSTANT_COLOR         = 0x8002,
    427         CONSTANT_ALPHA                   = 0x8003,
    428         ONE_MINUS_CONSTANT_ALPHA         = 0x8004,
    429         BLEND_COLOR                      = 0x8005,
    430         FUNC_ADD                         = 0x8006,
    431         MIN                              = 0x8007,
    432         MAX                              = 0x8008,
    433         BLEND_EQUATION                   = 0x8009,
    434         FUNC_SUBTRACT                    = 0x800A,
    435         FUNC_REVERSE_SUBTRACT            = 0x800B,
    436         CONVOLUTION_1D                   = 0x8010,
    437         CONVOLUTION_2D                   = 0x8011,
    438         SEPARABLE_2D                     = 0x8012,
    439         CONVOLUTION_BORDER_MODE          = 0x8013,
    440         CONVOLUTION_FILTER_SCALE         = 0x8014,
    441         CONVOLUTION_FILTER_BIAS          = 0x8015,
    442         REDUCE                           = 0x8016,
    443         CONVOLUTION_FORMAT               = 0x8017,
    444         CONVOLUTION_WIDTH                = 0x8018,
    445         CONVOLUTION_HEIGHT               = 0x8019,
    446         MAX_CONVOLUTION_WIDTH            = 0x801A,
    447         MAX_CONVOLUTION_HEIGHT           = 0x801B,
    448         POST_CONVOLUTION_RED_SCALE       = 0x801C,
    449         POST_CONVOLUTION_GREEN_SCALE     = 0x801D,
    450         POST_CONVOLUTION_BLUE_SCALE      = 0x801E,
    451         POST_CONVOLUTION_ALPHA_SCALE     = 0x801F,
    452         POST_CONVOLUTION_RED_BIAS        = 0x8020,
    453         POST_CONVOLUTION_GREEN_BIAS      = 0x8021,
    454         POST_CONVOLUTION_BLUE_BIAS       = 0x8022,
    455         POST_CONVOLUTION_ALPHA_BIAS      = 0x8023,
    456         HISTOGRAM                        = 0x8024,
    457         PROXY_HISTOGRAM                  = 0x8025,
    458         HISTOGRAM_WIDTH                  = 0x8026,
    459         HISTOGRAM_FORMAT                 = 0x8027,
    460         HISTOGRAM_RED_SIZE               = 0x8028,
    461         HISTOGRAM_GREEN_SIZE             = 0x8029,
    462         HISTOGRAM_BLUE_SIZE              = 0x802A,
    463         HISTOGRAM_ALPHA_SIZE             = 0x802B,
    464         HISTOGRAM_LUMINANCE_SIZE         = 0x802C,
    465         HISTOGRAM_SINK                   = 0x802D,
    466         MINMAX                           = 0x802E,
    467         MINMAX_FORMAT                    = 0x802F,
    468         MINMAX_SINK                      = 0x8030,
    469         TABLE_TOO_LARGE                  = 0x8031,
    470         COLOR_MATRIX                     = 0x80B1,
    471         COLOR_MATRIX_STACK_DEPTH         = 0x80B2,
    472         MAX_COLOR_MATRIX_STACK_DEPTH     = 0x80B3,
    473         POST_COLOR_MATRIX_RED_SCALE      = 0x80B4,
    474         POST_COLOR_MATRIX_GREEN_SCALE    = 0x80B5,
    475         POST_COLOR_MATRIX_BLUE_SCALE     = 0x80B6,
    476         POST_COLOR_MATRIX_ALPHA_SCALE    = 0x80B7,
    477         POST_COLOR_MATRIX_RED_BIAS       = 0x80B8,
    478         POST_COLOR_MATRIX_GREEN_BIAS     = 0x80B9,
    479         POST_COLOR_MATRIX_BLUE_BIAS      = 0x80BA,
    480         POST_COLOR_MATRIX_ALPHA_BIAS     = 0x80BB,
    481         COLOR_TABLE                      = 0x80D0,
    482         POST_CONVOLUTION_COLOR_TABLE     = 0x80D1,
    483         POST_COLOR_MATRIX_COLOR_TABLE    = 0x80D2,
    484         PROXY_COLOR_TABLE                = 0x80D3,
    485         PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4,
    486         PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5,
    487         COLOR_TABLE_SCALE                = 0x80D6,
    488         COLOR_TABLE_BIAS                 = 0x80D7,
    489         COLOR_TABLE_FORMAT               = 0x80D8,
    490         COLOR_TABLE_WIDTH                = 0x80D9,
    491         COLOR_TABLE_RED_SIZE             = 0x80DA,
    492         COLOR_TABLE_GREEN_SIZE           = 0x80DB,
    493         COLOR_TABLE_BLUE_SIZE            = 0x80DC,
    494         COLOR_TABLE_ALPHA_SIZE           = 0x80DD,
    495         COLOR_TABLE_LUMINANCE_SIZE       = 0x80DE,
    496         COLOR_TABLE_INTENSITY_SIZE       = 0x80DF,
    497         CONSTANT_BORDER                  = 0x8151,
    498         REPLICATE_BORDER                 = 0x8153,
    499         CONVOLUTION_BORDER_COLOR         = 0x8154,
    500 
    501         // Version: 1.2
    502         UNSIGNED_BYTE_3_3_2              = 0x8032,
    503         UNSIGNED_SHORT_4_4_4_4           = 0x8033,
    504         UNSIGNED_SHORT_5_5_5_1           = 0x8034,
    505         UNSIGNED_INT_8_8_8_8             = 0x8035,
    506         UNSIGNED_INT_10_10_10_2          = 0x8036,
    507         TEXTURE_BINDING_3D               = 0x806A,
    508         PACK_SKIP_IMAGES                 = 0x806B,
    509         PACK_IMAGE_HEIGHT                = 0x806C,
    510         UNPACK_SKIP_IMAGES               = 0x806D,
    511         UNPACK_IMAGE_HEIGHT              = 0x806E,
    512         TEXTURE_3D                       = 0x806F,
    513         PROXY_TEXTURE_3D                 = 0x8070,
    514         TEXTURE_DEPTH                    = 0x8071,
    515         TEXTURE_WRAP_R                   = 0x8072,
    516         MAX_3D_TEXTURE_SIZE              = 0x8073,
    517         UNSIGNED_BYTE_2_3_3_REV          = 0x8362,
    518         UNSIGNED_SHORT_5_6_5             = 0x8363,
    519         UNSIGNED_SHORT_5_6_5_REV         = 0x8364,
    520         UNSIGNED_SHORT_4_4_4_4_REV       = 0x8365,
    521         UNSIGNED_SHORT_1_5_5_5_REV       = 0x8366,
    522         UNSIGNED_INT_8_8_8_8_REV         = 0x8367,
    523         UNSIGNED_INT_2_10_10_10_REV      = 0x8368,
    524         BGR                              = 0x80E0,
    525         BGRA                             = 0x80E1,
    526         MAX_ELEMENTS_VERTICES            = 0x80E8,
    527         MAX_ELEMENTS_INDICES             = 0x80E9,
    528         CLAMP_TO_EDGE                    = 0x812F,
    529         TEXTURE_MIN_LOD                  = 0x813A,
    530         TEXTURE_MAX_LOD                  = 0x813B,
    531         TEXTURE_BASE_LEVEL               = 0x813C,
    532         TEXTURE_MAX_LEVEL                = 0x813D,
    533         SMOOTH_POINT_SIZE_RANGE          = 0x0B12,
    534         SMOOTH_POINT_SIZE_GRANULARITY    = 0x0B13,
    535         SMOOTH_LINE_WIDTH_RANGE          = 0x0B22,
    536         SMOOTH_LINE_WIDTH_GRANULARITY    = 0x0B23,
    537         ALIASED_LINE_WIDTH_RANGE         = 0x846E,
    538 
    539         // Version: 1.3
    540         TEXTURE0                         = 0x84C0,
    541         TEXTURE1                         = 0x84C1,
    542         TEXTURE2                         = 0x84C2,
    543         TEXTURE3                         = 0x84C3,
    544         TEXTURE4                         = 0x84C4,
    545         TEXTURE5                         = 0x84C5,
    546         TEXTURE6                         = 0x84C6,
    547         TEXTURE7                         = 0x84C7,
    548         TEXTURE8                         = 0x84C8,
    549         TEXTURE9                         = 0x84C9,
    550         TEXTURE10                        = 0x84CA,
    551         TEXTURE11                        = 0x84CB,
    552         TEXTURE12                        = 0x84CC,
    553         TEXTURE13                        = 0x84CD,
    554         TEXTURE14                        = 0x84CE,
    555         TEXTURE15                        = 0x84CF,
    556         TEXTURE16                        = 0x84D0,
    557         TEXTURE17                        = 0x84D1,
    558         TEXTURE18                        = 0x84D2,
    559         TEXTURE19                        = 0x84D3,
    560         TEXTURE20                        = 0x84D4,
    561         TEXTURE21                        = 0x84D5,
    562         TEXTURE22                        = 0x84D6,
    563         TEXTURE23                        = 0x84D7,
    564         TEXTURE24                        = 0x84D8,
    565         TEXTURE25                        = 0x84D9,
    566         TEXTURE26                        = 0x84DA,
    567         TEXTURE27                        = 0x84DB,
    568         TEXTURE28                        = 0x84DC,
    569         TEXTURE29                        = 0x84DD,
    570         TEXTURE30                        = 0x84DE,
    571         TEXTURE31                        = 0x84DF,
    572         ACTIVE_TEXTURE                   = 0x84E0,
    573         MULTISAMPLE                      = 0x809D,
    574         SAMPLE_ALPHA_TO_COVERAGE         = 0x809E,
    575         SAMPLE_ALPHA_TO_ONE              = 0x809F,
    576         SAMPLE_COVERAGE                  = 0x80A0,
    577         SAMPLE_BUFFERS                   = 0x80A8,
    578         SAMPLES                          = 0x80A9,
    579         SAMPLE_COVERAGE_VALUE            = 0x80AA,
    580         SAMPLE_COVERAGE_INVERT           = 0x80AB,
    581         TEXTURE_CUBE_MAP                 = 0x8513,
    582         TEXTURE_BINDING_CUBE_MAP         = 0x8514,
    583         TEXTURE_CUBE_MAP_POSITIVE_X      = 0x8515,
    584         TEXTURE_CUBE_MAP_NEGATIVE_X      = 0x8516,
    585         TEXTURE_CUBE_MAP_POSITIVE_Y      = 0x8517,
    586         TEXTURE_CUBE_MAP_NEGATIVE_Y      = 0x8518,
    587         TEXTURE_CUBE_MAP_POSITIVE_Z      = 0x8519,
    588         TEXTURE_CUBE_MAP_NEGATIVE_Z      = 0x851A,
    589         PROXY_TEXTURE_CUBE_MAP           = 0x851B,
    590         MAX_CUBE_MAP_TEXTURE_SIZE        = 0x851C,
    591         COMPRESSED_RGB                   = 0x84ED,
    592         COMPRESSED_RGBA                  = 0x84EE,
    593         TEXTURE_COMPRESSION_HINT         = 0x84EF,
    594         TEXTURE_COMPRESSED_IMAGE_SIZE    = 0x86A0,
    595         TEXTURE_COMPRESSED               = 0x86A1,
    596         NUM_COMPRESSED_TEXTURE_FORMATS   = 0x86A2,
    597         COMPRESSED_TEXTURE_FORMATS       = 0x86A3,
    598         CLAMP_TO_BORDER                  = 0x812D,
    599 
    600         // Version: 1.4
    601         BLEND_DST_RGB                    = 0x80C8,
    602         BLEND_SRC_RGB                    = 0x80C9,
    603         BLEND_DST_ALPHA                  = 0x80CA,
    604         BLEND_SRC_ALPHA                  = 0x80CB,
    605         POINT_FADE_THRESHOLD_SIZE        = 0x8128,
    606         DEPTH_COMPONENT16                = 0x81A5,
    607         DEPTH_COMPONENT24                = 0x81A6,
    608         DEPTH_COMPONENT32                = 0x81A7,
    609         MIRRORED_REPEAT                  = 0x8370,
    610         MAX_TEXTURE_LOD_BIAS             = 0x84FD,
    611         TEXTURE_LOD_BIAS                 = 0x8501,
    612         INCR_WRAP                        = 0x8507,
    613         DECR_WRAP                        = 0x8508,
    614         TEXTURE_DEPTH_SIZE               = 0x884A,
    615         TEXTURE_COMPARE_MODE             = 0x884C,
    616         TEXTURE_COMPARE_FUNC             = 0x884D,
    617 
    618         // Version: 1.5
    619         BUFFER_SIZE                      = 0x8764,
    620         BUFFER_USAGE                     = 0x8765,
    621         QUERY_COUNTER_BITS               = 0x8864,
    622         CURRENT_QUERY                    = 0x8865,
    623         QUERY_RESULT                     = 0x8866,
    624         QUERY_RESULT_AVAILABLE           = 0x8867,
    625         ARRAY_BUFFER                     = 0x8892,
    626         ELEMENT_ARRAY_BUFFER             = 0x8893,
    627         ARRAY_BUFFER_BINDING             = 0x8894,
    628         ELEMENT_ARRAY_BUFFER_BINDING     = 0x8895,
    629         VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F,
    630         READ_ONLY                        = 0x88B8,
    631         WRITE_ONLY                       = 0x88B9,
    632         READ_WRITE                       = 0x88BA,
    633         BUFFER_ACCESS                    = 0x88BB,
    634         BUFFER_MAPPED                    = 0x88BC,
    635         BUFFER_MAP_POINTER               = 0x88BD,
    636         STREAM_DRAW                      = 0x88E0,
    637         STREAM_READ                      = 0x88E1,
    638         STREAM_COPY                      = 0x88E2,
    639         STATIC_DRAW                      = 0x88E4,
    640         STATIC_READ                      = 0x88E5,
    641         STATIC_COPY                      = 0x88E6,
    642         DYNAMIC_DRAW                     = 0x88E8,
    643         DYNAMIC_READ                     = 0x88E9,
    644         DYNAMIC_COPY                     = 0x88EA,
    645         SAMPLES_PASSED                   = 0x8914,
    646         SRC1_ALPHA                       = 0x8589,
    647 
    648         // Version: 2.0
    649         BLEND_EQUATION_RGB               = 0x8009,
    650         VERTEX_ATTRIB_ARRAY_ENABLED      = 0x8622,
    651         VERTEX_ATTRIB_ARRAY_SIZE         = 0x8623,
    652         VERTEX_ATTRIB_ARRAY_STRIDE       = 0x8624,
    653         VERTEX_ATTRIB_ARRAY_TYPE         = 0x8625,
    654         CURRENT_VERTEX_ATTRIB            = 0x8626,
    655         VERTEX_PROGRAM_POINT_SIZE        = 0x8642,
    656         VERTEX_ATTRIB_ARRAY_POINTER      = 0x8645,
    657         STENCIL_BACK_FUNC                = 0x8800,
    658         STENCIL_BACK_FAIL                = 0x8801,
    659         STENCIL_BACK_PASS_DEPTH_FAIL     = 0x8802,
    660         STENCIL_BACK_PASS_DEPTH_PASS     = 0x8803,
    661         MAX_DRAW_BUFFERS                 = 0x8824,
    662         DRAW_BUFFER0                     = 0x8825,
    663         DRAW_BUFFER1                     = 0x8826,
    664         DRAW_BUFFER2                     = 0x8827,
    665         DRAW_BUFFER3                     = 0x8828,
    666         DRAW_BUFFER4                     = 0x8829,
    667         DRAW_BUFFER5                     = 0x882A,
    668         DRAW_BUFFER6                     = 0x882B,
    669         DRAW_BUFFER7                     = 0x882C,
    670         DRAW_BUFFER8                     = 0x882D,
    671         DRAW_BUFFER9                     = 0x882E,
    672         DRAW_BUFFER10                    = 0x882F,
    673         DRAW_BUFFER11                    = 0x8830,
    674         DRAW_BUFFER12                    = 0x8831,
    675         DRAW_BUFFER13                    = 0x8832,
    676         DRAW_BUFFER14                    = 0x8833,
    677         DRAW_BUFFER15                    = 0x8834,
    678         BLEND_EQUATION_ALPHA             = 0x883D,
    679         MAX_VERTEX_ATTRIBS               = 0x8869,
    680         VERTEX_ATTRIB_ARRAY_NORMALIZED   = 0x886A,
    681         MAX_TEXTURE_IMAGE_UNITS          = 0x8872,
    682         FRAGMENT_SHADER                  = 0x8B30,
    683         VERTEX_SHADER                    = 0x8B31,
    684         MAX_FRAGMENT_UNIFORM_COMPONENTS  = 0x8B49,
    685         MAX_VERTEX_UNIFORM_COMPONENTS    = 0x8B4A,
    686         MAX_VARYING_FLOATS               = 0x8B4B,
    687         MAX_VERTEX_TEXTURE_IMAGE_UNITS   = 0x8B4C,
    688         MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D,
    689         SHADER_TYPE                      = 0x8B4F,
    690         FLOAT_VEC2                       = 0x8B50,
    691         FLOAT_VEC3                       = 0x8B51,
    692         FLOAT_VEC4                       = 0x8B52,
    693         INT_VEC2                         = 0x8B53,
    694         INT_VEC3                         = 0x8B54,
    695         INT_VEC4                         = 0x8B55,
    696         BOOL                             = 0x8B56,
    697         BOOL_VEC2                        = 0x8B57,
    698         BOOL_VEC3                        = 0x8B58,
    699         BOOL_VEC4                        = 0x8B59,
    700         FLOAT_MAT2                       = 0x8B5A,
    701         FLOAT_MAT3                       = 0x8B5B,
    702         FLOAT_MAT4                       = 0x8B5C,
    703         SAMPLER_1D                       = 0x8B5D,
    704         SAMPLER_2D                       = 0x8B5E,
    705         SAMPLER_3D                       = 0x8B5F,
    706         SAMPLER_CUBE                     = 0x8B60,
    707         SAMPLER_1D_SHADOW                = 0x8B61,
    708         SAMPLER_2D_SHADOW                = 0x8B62,
    709         DELETE_STATUS                    = 0x8B80,
    710         COMPILE_STATUS                   = 0x8B81,
    711         LINK_STATUS                      = 0x8B82,
    712         VALIDATE_STATUS                  = 0x8B83,
    713         INFO_LOG_LENGTH                  = 0x8B84,
    714         ATTACHED_SHADERS                 = 0x8B85,
    715         ACTIVE_UNIFORMS                  = 0x8B86,
    716         ACTIVE_UNIFORM_MAX_LENGTH        = 0x8B87,
    717         SHADER_SOURCE_LENGTH             = 0x8B88,
    718         ACTIVE_ATTRIBUTES                = 0x8B89,
    719         ACTIVE_ATTRIBUTE_MAX_LENGTH      = 0x8B8A,
    720         FRAGMENT_SHADER_DERIVATIVE_HINT  = 0x8B8B,
    721         SHADING_LANGUAGE_VERSION         = 0x8B8C,
    722         CURRENT_PROGRAM                  = 0x8B8D,
    723         POINT_SPRITE_COORD_ORIGIN        = 0x8CA0,
    724         LOWER_LEFT                       = 0x8CA1,
    725         UPPER_LEFT                       = 0x8CA2,
    726         STENCIL_BACK_REF                 = 0x8CA3,
    727         STENCIL_BACK_VALUE_MASK          = 0x8CA4,
    728         STENCIL_BACK_WRITEMASK           = 0x8CA5,
    729 
    730         // Version: 2.1
    731         PIXEL_PACK_BUFFER                = 0x88EB,
    732         PIXEL_UNPACK_BUFFER              = 0x88EC,
    733         PIXEL_PACK_BUFFER_BINDING        = 0x88ED,
    734         PIXEL_UNPACK_BUFFER_BINDING      = 0x88EF,
    735         FLOAT_MAT2x3                     = 0x8B65,
    736         FLOAT_MAT2x4                     = 0x8B66,
    737         FLOAT_MAT3x2                     = 0x8B67,
    738         FLOAT_MAT3x4                     = 0x8B68,
    739         FLOAT_MAT4x2                     = 0x8B69,
    740         FLOAT_MAT4x3                     = 0x8B6A,
    741         SRGB                             = 0x8C40,
    742         SRGB8                            = 0x8C41,
    743         SRGB_ALPHA                       = 0x8C42,
    744         SRGB8_ALPHA8                     = 0x8C43,
    745         COMPRESSED_SRGB                  = 0x8C48,
    746         COMPRESSED_SRGB_ALPHA            = 0x8C49,
    747 
    748         // Core Extension: ARB_vertex_array_object
    749         VERTEX_ARRAY_BINDING             = 0x85B5,
    750 
    751         // Core Extension: ARB_texture_rg
    752         RG                               = 0x8227,
    753         RG_INTEGER                       = 0x8228,
    754         R8                               = 0x8229,
    755         R16                              = 0x822A,
    756         RG8                              = 0x822B,
    757         RG16                             = 0x822C,
    758         R16F                             = 0x822D,
    759         R32F                             = 0x822E,
    760         RG16F                            = 0x822F,
    761         RG32F                            = 0x8230,
    762         R8I                              = 0x8231,
    763         R8UI                             = 0x8232,
    764         R16I                             = 0x8233,
    765         R16UI                            = 0x8234,
    766         R32I                             = 0x8235,
    767         R32UI                            = 0x8236,
    768         RG8I                             = 0x8237,
    769         RG8UI                            = 0x8238,
    770         RG16I                            = 0x8239,
    771         RG16UI                           = 0x823A,
    772         RG32I                            = 0x823B,
    773         RG32UI                           = 0x823C,
    774 
    775         // Core Extension: ARB_texture_compression_rgtc
    776         COMPRESSED_RED_RGTC1             = 0x8DBB,
    777         COMPRESSED_SIGNED_RED_RGTC1      = 0x8DBC,
    778         COMPRESSED_RG_RGTC2              = 0x8DBD,
    779         COMPRESSED_SIGNED_RG_RGTC2       = 0x8DBE,
    780 
    781         // Core Extension: ARB_map_buffer_range
    782         MAP_READ_BIT                     = 0x0001,
    783         MAP_WRITE_BIT                    = 0x0002,
    784         MAP_INVALIDATE_RANGE_BIT         = 0x0004,
    785         MAP_INVALIDATE_BUFFER_BIT        = 0x0008,
    786         MAP_FLUSH_EXPLICIT_BIT           = 0x0010,
    787         MAP_UNSYNCHRONIZED_BIT           = 0x0020,
    788 
    789         // Core Extension: ARB_half_float_vertex
    790         HALF_FLOAT                       = 0x140B,
    791 
    792         // Core Extension: ARB_framebuffer_sRGB
    793         FRAMEBUFFER_SRGB                 = 0x8DB9,
    794 
    795         // Core Extension: ARB_framebuffer_object
    796         INVALID_FRAMEBUFFER_OPERATION    = 0x0506,
    797         FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210,
    798         FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211,
    799         FRAMEBUFFER_ATTACHMENT_RED_SIZE  = 0x8212,
    800         FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213,
    801         FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214,
    802         FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215,
    803         FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216,
    804         FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217,
    805         FRAMEBUFFER_DEFAULT              = 0x8218,
    806         FRAMEBUFFER_UNDEFINED            = 0x8219,
    807         DEPTH_STENCIL_ATTACHMENT         = 0x821A,
    808         INDEX                            = 0x8222,
    809         MAX_RENDERBUFFER_SIZE            = 0x84E8,
    810         DEPTH_STENCIL                    = 0x84F9,
    811         UNSIGNED_INT_24_8                = 0x84FA,
    812         DEPTH24_STENCIL8                 = 0x88F0,
    813         TEXTURE_STENCIL_SIZE             = 0x88F1,
    814         TEXTURE_RED_TYPE                 = 0x8C10,
    815         TEXTURE_GREEN_TYPE               = 0x8C11,
    816         TEXTURE_BLUE_TYPE                = 0x8C12,
    817         TEXTURE_ALPHA_TYPE               = 0x8C13,
    818         TEXTURE_DEPTH_TYPE               = 0x8C16,
    819         UNSIGNED_NORMALIZED              = 0x8C17,
    820         FRAMEBUFFER_BINDING              = 0x8CA6,
    821         DRAW_FRAMEBUFFER_BINDING         = 0x8CA6,
    822         RENDERBUFFER_BINDING             = 0x8CA7,
    823         READ_FRAMEBUFFER                 = 0x8CA8,
    824         DRAW_FRAMEBUFFER                 = 0x8CA9,
    825         READ_FRAMEBUFFER_BINDING         = 0x8CAA,
    826         RENDERBUFFER_SAMPLES             = 0x8CAB,
    827         FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0,
    828         FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1,
    829         FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2,
    830         FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3,
    831         FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4,
    832         FRAMEBUFFER_COMPLETE             = 0x8CD5,
    833         FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6,
    834         FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7,
    835         FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB,
    836         FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC,
    837         FRAMEBUFFER_UNSUPPORTED          = 0x8CDD,
    838         MAX_COLOR_ATTACHMENTS            = 0x8CDF,
    839         COLOR_ATTACHMENT0                = 0x8CE0,
    840         COLOR_ATTACHMENT1                = 0x8CE1,
    841         COLOR_ATTACHMENT2                = 0x8CE2,
    842         COLOR_ATTACHMENT3                = 0x8CE3,
    843         COLOR_ATTACHMENT4                = 0x8CE4,
    844         COLOR_ATTACHMENT5                = 0x8CE5,
    845         COLOR_ATTACHMENT6                = 0x8CE6,
    846         COLOR_ATTACHMENT7                = 0x8CE7,
    847         COLOR_ATTACHMENT8                = 0x8CE8,
    848         COLOR_ATTACHMENT9                = 0x8CE9,
    849         COLOR_ATTACHMENT10               = 0x8CEA,
    850         COLOR_ATTACHMENT11               = 0x8CEB,
    851         COLOR_ATTACHMENT12               = 0x8CEC,
    852         COLOR_ATTACHMENT13               = 0x8CED,
    853         COLOR_ATTACHMENT14               = 0x8CEE,
    854         COLOR_ATTACHMENT15               = 0x8CEF,
    855         DEPTH_ATTACHMENT                 = 0x8D00,
    856         STENCIL_ATTACHMENT               = 0x8D20,
    857         FRAMEBUFFER                      = 0x8D40,
    858         RENDERBUFFER                     = 0x8D41,
    859         RENDERBUFFER_WIDTH               = 0x8D42,
    860         RENDERBUFFER_HEIGHT              = 0x8D43,
    861         RENDERBUFFER_INTERNAL_FORMAT     = 0x8D44,
    862         STENCIL_INDEX1                   = 0x8D46,
    863         STENCIL_INDEX4                   = 0x8D47,
    864         STENCIL_INDEX8                   = 0x8D48,
    865         STENCIL_INDEX16                  = 0x8D49,
    866         RENDERBUFFER_RED_SIZE            = 0x8D50,
    867         RENDERBUFFER_GREEN_SIZE          = 0x8D51,
    868         RENDERBUFFER_BLUE_SIZE           = 0x8D52,
    869         RENDERBUFFER_ALPHA_SIZE          = 0x8D53,
    870         RENDERBUFFER_DEPTH_SIZE          = 0x8D54,
    871         RENDERBUFFER_STENCIL_SIZE        = 0x8D55,
    872         FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56,
    873         MAX_SAMPLES                      = 0x8D57,
    874         TEXTURE_LUMINANCE_TYPE           = 0x8C14,
    875         TEXTURE_INTENSITY_TYPE           = 0x8C15,
    876 
    877         // Core Extension: ARB_depth_buffer_float
    878         DEPTH_COMPONENT32F               = 0x8CAC,
    879         DEPTH32F_STENCIL8                = 0x8CAD,
    880         FLOAT_32_UNSIGNED_INT_24_8_REV   = 0x8DAD,
    881 
    882         // Version: 3.0
    883         COMPARE_REF_TO_TEXTURE           = 0x884E,
    884         CLIP_DISTANCE0                   = 0x3000,
    885         CLIP_DISTANCE1                   = 0x3001,
    886         CLIP_DISTANCE2                   = 0x3002,
    887         CLIP_DISTANCE3                   = 0x3003,
    888         CLIP_DISTANCE4                   = 0x3004,
    889         CLIP_DISTANCE5                   = 0x3005,
    890         CLIP_DISTANCE6                   = 0x3006,
    891         CLIP_DISTANCE7                   = 0x3007,
    892         MAX_CLIP_DISTANCES               = 0x0D32,
    893         MAJOR_VERSION                    = 0x821B,
    894         MINOR_VERSION                    = 0x821C,
    895         NUM_EXTENSIONS                   = 0x821D,
    896         CONTEXT_FLAGS                    = 0x821E,
    897         COMPRESSED_RED                   = 0x8225,
    898         COMPRESSED_RG                    = 0x8226,
    899         CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001,
    900         RGBA32F                          = 0x8814,
    901         RGB32F                           = 0x8815,
    902         RGBA16F                          = 0x881A,
    903         RGB16F                           = 0x881B,
    904         VERTEX_ATTRIB_ARRAY_INTEGER      = 0x88FD,
    905         MAX_ARRAY_TEXTURE_LAYERS         = 0x88FF,
    906         MIN_PROGRAM_TEXEL_OFFSET         = 0x8904,
    907         MAX_PROGRAM_TEXEL_OFFSET         = 0x8905,
    908         CLAMP_READ_COLOR                 = 0x891C,
    909         FIXED_ONLY                       = 0x891D,
    910         TEXTURE_1D_ARRAY                 = 0x8C18,
    911         PROXY_TEXTURE_1D_ARRAY           = 0x8C19,
    912         TEXTURE_2D_ARRAY                 = 0x8C1A,
    913         PROXY_TEXTURE_2D_ARRAY           = 0x8C1B,
    914         TEXTURE_BINDING_1D_ARRAY         = 0x8C1C,
    915         TEXTURE_BINDING_2D_ARRAY         = 0x8C1D,
    916         R11F_G11F_B10F                   = 0x8C3A,
    917         UNSIGNED_INT_10F_11F_11F_REV     = 0x8C3B,
    918         RGB9_E5                          = 0x8C3D,
    919         UNSIGNED_INT_5_9_9_9_REV         = 0x8C3E,
    920         TEXTURE_SHARED_SIZE              = 0x8C3F,
    921         TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76,
    922         TRANSFORM_FEEDBACK_BUFFER_MODE   = 0x8C7F,
    923         MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80,
    924         TRANSFORM_FEEDBACK_VARYINGS      = 0x8C83,
    925         TRANSFORM_FEEDBACK_BUFFER_START  = 0x8C84,
    926         TRANSFORM_FEEDBACK_BUFFER_SIZE   = 0x8C85,
    927         PRIMITIVES_GENERATED             = 0x8C87,
    928         TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88,
    929         RASTERIZER_DISCARD               = 0x8C89,
    930         MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A,
    931         MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B,
    932         INTERLEAVED_ATTRIBS              = 0x8C8C,
    933         SEPARATE_ATTRIBS                 = 0x8C8D,
    934         TRANSFORM_FEEDBACK_BUFFER        = 0x8C8E,
    935         TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F,
    936         RGBA32UI                         = 0x8D70,
    937         RGB32UI                          = 0x8D71,
    938         RGBA16UI                         = 0x8D76,
    939         RGB16UI                          = 0x8D77,
    940         RGBA8UI                          = 0x8D7C,
    941         RGB8UI                           = 0x8D7D,
    942         RGBA32I                          = 0x8D82,
    943         RGB32I                           = 0x8D83,
    944         RGBA16I                          = 0x8D88,
    945         RGB16I                           = 0x8D89,
    946         RGBA8I                           = 0x8D8E,
    947         RGB8I                            = 0x8D8F,
    948         RED_INTEGER                      = 0x8D94,
    949         GREEN_INTEGER                    = 0x8D95,
    950         BLUE_INTEGER                     = 0x8D96,
    951         RGB_INTEGER                      = 0x8D98,
    952         RGBA_INTEGER                     = 0x8D99,
    953         BGR_INTEGER                      = 0x8D9A,
    954         BGRA_INTEGER                     = 0x8D9B,
    955         SAMPLER_1D_ARRAY                 = 0x8DC0,
    956         SAMPLER_2D_ARRAY                 = 0x8DC1,
    957         SAMPLER_1D_ARRAY_SHADOW          = 0x8DC3,
    958         SAMPLER_2D_ARRAY_SHADOW          = 0x8DC4,
    959         SAMPLER_CUBE_SHADOW              = 0x8DC5,
    960         UNSIGNED_INT_VEC2                = 0x8DC6,
    961         UNSIGNED_INT_VEC3                = 0x8DC7,
    962         UNSIGNED_INT_VEC4                = 0x8DC8,
    963         INT_SAMPLER_1D                   = 0x8DC9,
    964         INT_SAMPLER_2D                   = 0x8DCA,
    965         INT_SAMPLER_3D                   = 0x8DCB,
    966         INT_SAMPLER_CUBE                 = 0x8DCC,
    967         INT_SAMPLER_1D_ARRAY             = 0x8DCE,
    968         INT_SAMPLER_2D_ARRAY             = 0x8DCF,
    969         UNSIGNED_INT_SAMPLER_1D          = 0x8DD1,
    970         UNSIGNED_INT_SAMPLER_2D          = 0x8DD2,
    971         UNSIGNED_INT_SAMPLER_3D          = 0x8DD3,
    972         UNSIGNED_INT_SAMPLER_CUBE        = 0x8DD4,
    973         UNSIGNED_INT_SAMPLER_1D_ARRAY    = 0x8DD6,
    974         UNSIGNED_INT_SAMPLER_2D_ARRAY    = 0x8DD7,
    975         QUERY_WAIT                       = 0x8E13,
    976         QUERY_NO_WAIT                    = 0x8E14,
    977         QUERY_BY_REGION_WAIT             = 0x8E15,
    978         QUERY_BY_REGION_NO_WAIT          = 0x8E16,
    979         BUFFER_ACCESS_FLAGS              = 0x911F,
    980         BUFFER_MAP_LENGTH                = 0x9120,
    981         BUFFER_MAP_OFFSET                = 0x9121,
    982 
    983         // Core Extension: ARB_uniform_buffer_object
    984         UNIFORM_BUFFER                   = 0x8A11,
    985         UNIFORM_BUFFER_BINDING           = 0x8A28,
    986         UNIFORM_BUFFER_START             = 0x8A29,
    987         UNIFORM_BUFFER_SIZE              = 0x8A2A,
    988         MAX_VERTEX_UNIFORM_BLOCKS        = 0x8A2B,
    989         MAX_FRAGMENT_UNIFORM_BLOCKS      = 0x8A2D,
    990         MAX_COMBINED_UNIFORM_BLOCKS      = 0x8A2E,
    991         MAX_UNIFORM_BUFFER_BINDINGS      = 0x8A2F,
    992         MAX_UNIFORM_BLOCK_SIZE           = 0x8A30,
    993         MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31,
    994         MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33,
    995         UNIFORM_BUFFER_OFFSET_ALIGNMENT  = 0x8A34,
    996         ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35,
    997         ACTIVE_UNIFORM_BLOCKS            = 0x8A36,
    998         UNIFORM_TYPE                     = 0x8A37,
    999         UNIFORM_SIZE                     = 0x8A38,
   1000         UNIFORM_NAME_LENGTH              = 0x8A39,
   1001         UNIFORM_BLOCK_INDEX              = 0x8A3A,
   1002         UNIFORM_OFFSET                   = 0x8A3B,
   1003         UNIFORM_ARRAY_STRIDE             = 0x8A3C,
   1004         UNIFORM_MATRIX_STRIDE            = 0x8A3D,
   1005         UNIFORM_IS_ROW_MAJOR             = 0x8A3E,
   1006         UNIFORM_BLOCK_BINDING            = 0x8A3F,
   1007         UNIFORM_BLOCK_DATA_SIZE          = 0x8A40,
   1008         UNIFORM_BLOCK_NAME_LENGTH        = 0x8A41,
   1009         UNIFORM_BLOCK_ACTIVE_UNIFORMS    = 0x8A42,
   1010         UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43,
   1011         UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44,
   1012         UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46,
   1013         INVALID_INDEX                    = 0xFFFFFFFF,
   1014         MAX_GEOMETRY_UNIFORM_BLOCKS      = 0x8A2C,
   1015         MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32,
   1016         UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45,
   1017 
   1018         // Core Extension: ARB_copy_buffer
   1019         COPY_READ_BUFFER                 = 0x8F36,
   1020         COPY_WRITE_BUFFER                = 0x8F37,
   1021         COPY_READ_BUFFER_BINDING         = 0x8F36,
   1022         COPY_WRITE_BUFFER_BINDING        = 0x8F37,
   1023 
   1024         // Version: 3.1
   1025         SAMPLER_2D_RECT                  = 0x8B63,
   1026         SAMPLER_2D_RECT_SHADOW           = 0x8B64,
   1027         SAMPLER_BUFFER                   = 0x8DC2,
   1028         INT_SAMPLER_2D_RECT              = 0x8DCD,
   1029         INT_SAMPLER_BUFFER               = 0x8DD0,
   1030         UNSIGNED_INT_SAMPLER_2D_RECT     = 0x8DD5,
   1031         UNSIGNED_INT_SAMPLER_BUFFER      = 0x8DD8,
   1032         TEXTURE_BUFFER                   = 0x8C2A,
   1033         MAX_TEXTURE_BUFFER_SIZE          = 0x8C2B,
   1034         TEXTURE_BINDING_BUFFER           = 0x8C2C,
   1035         TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D,
   1036         TEXTURE_RECTANGLE                = 0x84F5,
   1037         TEXTURE_BINDING_RECTANGLE        = 0x84F6,
   1038         PROXY_TEXTURE_RECTANGLE          = 0x84F7,
   1039         MAX_RECTANGLE_TEXTURE_SIZE       = 0x84F8,
   1040         RED_SNORM                        = 0x8F90,
   1041         RG_SNORM                         = 0x8F91,
   1042         RGB_SNORM                        = 0x8F92,
   1043         RGBA_SNORM                       = 0x8F93,
   1044         R8_SNORM                         = 0x8F94,
   1045         RG8_SNORM                        = 0x8F95,
   1046         RGB8_SNORM                       = 0x8F96,
   1047         RGBA8_SNORM                      = 0x8F97,
   1048         R16_SNORM                        = 0x8F98,
   1049         RG16_SNORM                       = 0x8F99,
   1050         RGB16_SNORM                      = 0x8F9A,
   1051         RGBA16_SNORM                     = 0x8F9B,
   1052         SIGNED_NORMALIZED                = 0x8F9C,
   1053         PRIMITIVE_RESTART                = 0x8F9D,
   1054         PRIMITIVE_RESTART_INDEX          = 0x8F9E,
   1055 
   1056         // Legacy
   1057         VERTEX_ARRAY = 0x8074,
   1058         NORMAL_ARRAY = 0x8075,
   1059         COLOR_ARRAY = 0x8076,
   1060         TEXTURE_COORD_ARRAY = 0x8078,
   1061         TEXTURE_ENV = 0x2300,
   1062         TEXTURE_ENV_MODE = 0x2200,
   1063         MODELVIEW = 0x1700,
   1064         PROJECTION = 0x1701,
   1065         LIGHTING = 0x0B50
   1066     };
   1067 
   1068     // Extension: 1.1
   1069     extern void (CODEGEN_FUNCPTR *CullFace)(GLenum mode);
   1070     extern void (CODEGEN_FUNCPTR *FrontFace)(GLenum mode);
   1071     extern void (CODEGEN_FUNCPTR *Hint)(GLenum target, GLenum mode);
   1072     extern void (CODEGEN_FUNCPTR *LineWidth)(GLfloat width);
   1073     extern void (CODEGEN_FUNCPTR *PointSize)(GLfloat size);
   1074     extern void (CODEGEN_FUNCPTR *PolygonMode)(GLenum face, GLenum mode);
   1075     extern void (CODEGEN_FUNCPTR *Scissor)(GLint x, GLint y, GLsizei width, GLsizei height);
   1076     extern void (CODEGEN_FUNCPTR *TexParameterf)(GLenum target, GLenum pname, GLfloat param);
   1077     extern void (CODEGEN_FUNCPTR *TexParameterfv)(GLenum target, GLenum pname, const GLfloat *params);
   1078     extern void (CODEGEN_FUNCPTR *TexParameteri)(GLenum target, GLenum pname, GLint param);
   1079     extern void (CODEGEN_FUNCPTR *TexParameteriv)(GLenum target, GLenum pname, const GLint *params);
   1080     extern void (CODEGEN_FUNCPTR *TexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
   1081     extern void (CODEGEN_FUNCPTR *TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
   1082     extern void (CODEGEN_FUNCPTR *DrawBuffer)(GLenum mode);
   1083     extern void (CODEGEN_FUNCPTR *Clear)(GLbitfield mask);
   1084     extern void (CODEGEN_FUNCPTR *ClearColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
   1085     extern void (CODEGEN_FUNCPTR *ClearStencil)(GLint s);
   1086     extern void (CODEGEN_FUNCPTR *ClearDepth)(GLdouble depth);
   1087     extern void (CODEGEN_FUNCPTR *StencilMask)(GLuint mask);
   1088     extern void (CODEGEN_FUNCPTR *ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
   1089     extern void (CODEGEN_FUNCPTR *DepthMask)(GLboolean flag);
   1090     extern void (CODEGEN_FUNCPTR *Disable)(GLenum cap);
   1091     extern void (CODEGEN_FUNCPTR *Enable)(GLenum cap);
   1092     extern void (CODEGEN_FUNCPTR *Finish)();
   1093     extern void (CODEGEN_FUNCPTR *Flush)();
   1094     extern void (CODEGEN_FUNCPTR *BlendFunc)(GLenum sfactor, GLenum dfactor);
   1095     extern void (CODEGEN_FUNCPTR *LogicOp)(GLenum opcode);
   1096     extern void (CODEGEN_FUNCPTR *StencilFunc)(GLenum func, GLint ref, GLuint mask);
   1097     extern void (CODEGEN_FUNCPTR *StencilOp)(GLenum fail, GLenum zfail, GLenum zpass);
   1098     extern void (CODEGEN_FUNCPTR *DepthFunc)(GLenum func);
   1099     extern void (CODEGEN_FUNCPTR *PixelStoref)(GLenum pname, GLfloat param);
   1100     extern void (CODEGEN_FUNCPTR *PixelStorei)(GLenum pname, GLint param);
   1101     extern void (CODEGEN_FUNCPTR *ReadBuffer)(GLenum mode);
   1102     extern void (CODEGEN_FUNCPTR *ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
   1103     extern void (CODEGEN_FUNCPTR *GetBooleanv)(GLenum pname, GLboolean *params);
   1104     extern void (CODEGEN_FUNCPTR *GetDoublev)(GLenum pname, GLdouble *params);
   1105     extern GLenum (CODEGEN_FUNCPTR *GetError)();
   1106     extern void (CODEGEN_FUNCPTR *GetFloatv)(GLenum pname, GLfloat *params);
   1107     extern void (CODEGEN_FUNCPTR *GetIntegerv)(GLenum pname, GLint *params);
   1108     extern const GLubyte * (CODEGEN_FUNCPTR *GetString)(GLenum name);
   1109     extern void (CODEGEN_FUNCPTR *GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
   1110     extern void (CODEGEN_FUNCPTR *GetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params);
   1111     extern void (CODEGEN_FUNCPTR *GetTexParameteriv)(GLenum target, GLenum pname, GLint *params);
   1112     extern void (CODEGEN_FUNCPTR *GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params);
   1113     extern void (CODEGEN_FUNCPTR *GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params);
   1114     extern GLboolean (CODEGEN_FUNCPTR *IsEnabled)(GLenum cap);
   1115     extern void (CODEGEN_FUNCPTR *DepthRange)(GLdouble ren_near, GLdouble ren_far);
   1116     extern void (CODEGEN_FUNCPTR *Viewport)(GLint x, GLint y, GLsizei width, GLsizei height);
   1117     extern void (CODEGEN_FUNCPTR *DrawArrays)(GLenum mode, GLint first, GLsizei count);
   1118     extern void (CODEGEN_FUNCPTR *DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
   1119     extern void (CODEGEN_FUNCPTR *GetPointerv)(GLenum pname, GLvoid* *params);
   1120     extern void (CODEGEN_FUNCPTR *PolygonOffset)(GLfloat factor, GLfloat units);
   1121     extern void (CODEGEN_FUNCPTR *CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
   1122     extern void (CODEGEN_FUNCPTR *CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
   1123     extern void (CODEGEN_FUNCPTR *CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
   1124     extern void (CODEGEN_FUNCPTR *CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1125     extern void (CODEGEN_FUNCPTR *TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
   1126     extern void (CODEGEN_FUNCPTR *TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
   1127     extern void (CODEGEN_FUNCPTR *BindTexture)(GLenum target, GLuint texture);
   1128     extern void (CODEGEN_FUNCPTR *DeleteTextures)(GLsizei n, const GLuint *textures);
   1129     extern void (CODEGEN_FUNCPTR *GenTextures)(GLsizei n, GLuint *textures);
   1130     extern GLboolean (CODEGEN_FUNCPTR *IsTexture)(GLuint texture);
   1131     extern void (CODEGEN_FUNCPTR *Indexub)(GLubyte c);
   1132     extern void (CODEGEN_FUNCPTR *Indexubv)(const GLubyte *c);
   1133 
   1134     // Extension: 1.2
   1135     extern void (CODEGEN_FUNCPTR *BlendColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
   1136     extern void (CODEGEN_FUNCPTR *BlendEquation)(GLenum mode);
   1137     extern void (CODEGEN_FUNCPTR *DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
   1138     extern void (CODEGEN_FUNCPTR *TexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
   1139     extern void (CODEGEN_FUNCPTR *CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1140 
   1141     // Extension: 1.3
   1142     extern void (CODEGEN_FUNCPTR *ActiveTexture)(GLenum texture);
   1143     extern void (CODEGEN_FUNCPTR *SampleCoverage)(GLfloat value, GLboolean invert);
   1144     extern void (CODEGEN_FUNCPTR *CompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
   1145     extern void (CODEGEN_FUNCPTR *CompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
   1146     extern void (CODEGEN_FUNCPTR *CompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
   1147     extern void (CODEGEN_FUNCPTR *CompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
   1148     extern void (CODEGEN_FUNCPTR *CompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
   1149     extern void (CODEGEN_FUNCPTR *CompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
   1150     extern void (CODEGEN_FUNCPTR *GetCompressedTexImage)(GLenum target, GLint level, GLvoid *img);
   1151 
   1152     // Extension: 1.4
   1153     extern void (CODEGEN_FUNCPTR *BlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
   1154     extern void (CODEGEN_FUNCPTR *MultiDrawArrays)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
   1155     extern void (CODEGEN_FUNCPTR *MultiDrawElements)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
   1156     extern void (CODEGEN_FUNCPTR *PointParameterf)(GLenum pname, GLfloat param);
   1157     extern void (CODEGEN_FUNCPTR *PointParameterfv)(GLenum pname, const GLfloat *params);
   1158     extern void (CODEGEN_FUNCPTR *PointParameteri)(GLenum pname, GLint param);
   1159     extern void (CODEGEN_FUNCPTR *PointParameteriv)(GLenum pname, const GLint *params);
   1160 
   1161     // Extension: 1.5
   1162     extern void (CODEGEN_FUNCPTR *GenQueries)(GLsizei n, GLuint *ids);
   1163     extern void (CODEGEN_FUNCPTR *DeleteQueries)(GLsizei n, const GLuint *ids);
   1164     extern GLboolean (CODEGEN_FUNCPTR *IsQuery)(GLuint id);
   1165     extern void (CODEGEN_FUNCPTR *BeginQuery)(GLenum target, GLuint id);
   1166     extern void (CODEGEN_FUNCPTR *EndQuery)(GLenum target);
   1167     extern void (CODEGEN_FUNCPTR *GetQueryiv)(GLenum target, GLenum pname, GLint *params);
   1168     extern void (CODEGEN_FUNCPTR *GetQueryObjectiv)(GLuint id, GLenum pname, GLint *params);
   1169     extern void (CODEGEN_FUNCPTR *GetQueryObjectuiv)(GLuint id, GLenum pname, GLuint *params);
   1170     extern void (CODEGEN_FUNCPTR *BindBuffer)(GLenum target, GLuint buffer);
   1171     extern void (CODEGEN_FUNCPTR *DeleteBuffers)(GLsizei n, const GLuint *buffers);
   1172     extern void (CODEGEN_FUNCPTR *GenBuffers)(GLsizei n, GLuint *buffers);
   1173     extern GLboolean (CODEGEN_FUNCPTR *IsBuffer)(GLuint buffer);
   1174     extern void (CODEGEN_FUNCPTR *BufferData)(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
   1175     extern void (CODEGEN_FUNCPTR *BufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
   1176     extern void (CODEGEN_FUNCPTR *GetBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
   1177     extern GLvoid* (CODEGEN_FUNCPTR *MapBuffer)(GLenum target, GLenum access);
   1178     extern GLboolean (CODEGEN_FUNCPTR *UnmapBuffer)(GLenum target);
   1179     extern void (CODEGEN_FUNCPTR *GetBufferParameteriv)(GLenum target, GLenum pname, GLint *params);
   1180     extern void (CODEGEN_FUNCPTR *GetBufferPointerv)(GLenum target, GLenum pname, GLvoid* *params);
   1181 
   1182     // Extension: 2.0
   1183     extern void (CODEGEN_FUNCPTR *BlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha);
   1184     extern void (CODEGEN_FUNCPTR *DrawBuffers)(GLsizei n, const GLenum *bufs);
   1185     extern void (CODEGEN_FUNCPTR *StencilOpSeparate)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
   1186     extern void (CODEGEN_FUNCPTR *StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask);
   1187     extern void (CODEGEN_FUNCPTR *StencilMaskSeparate)(GLenum face, GLuint mask);
   1188     extern void (CODEGEN_FUNCPTR *AttachShader)(GLuint program, GLuint shader);
   1189     extern void (CODEGEN_FUNCPTR *BindAttribLocation)(GLuint program, GLuint index, const GLchar *name);
   1190     extern void (CODEGEN_FUNCPTR *CompileShader)(GLuint shader);
   1191     extern GLuint (CODEGEN_FUNCPTR *CreateProgram)();
   1192     extern GLuint (CODEGEN_FUNCPTR *CreateShader)(GLenum type);
   1193     extern void (CODEGEN_FUNCPTR *DeleteProgram)(GLuint program);
   1194     extern void (CODEGEN_FUNCPTR *DeleteShader)(GLuint shader);
   1195     extern void (CODEGEN_FUNCPTR *DetachShader)(GLuint program, GLuint shader);
   1196     extern void (CODEGEN_FUNCPTR *DisableVertexAttribArray)(GLuint index);
   1197     extern void (CODEGEN_FUNCPTR *EnableVertexAttribArray)(GLuint index);
   1198     extern void (CODEGEN_FUNCPTR *GetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
   1199     extern void (CODEGEN_FUNCPTR *GetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
   1200     extern void (CODEGEN_FUNCPTR *GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
   1201     extern GLint (CODEGEN_FUNCPTR *GetAttribLocation)(GLuint program, const GLchar *name);
   1202     extern void (CODEGEN_FUNCPTR *GetProgramiv)(GLuint program, GLenum pname, GLint *params);
   1203     extern void (CODEGEN_FUNCPTR *GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
   1204     extern void (CODEGEN_FUNCPTR *GetShaderiv)(GLuint shader, GLenum pname, GLint *params);
   1205     extern void (CODEGEN_FUNCPTR *GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
   1206     extern void (CODEGEN_FUNCPTR *GetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
   1207     extern GLint (CODEGEN_FUNCPTR *GetUniformLocation)(GLuint program, const GLchar *name);
   1208     extern void (CODEGEN_FUNCPTR *GetUniformfv)(GLuint program, GLint location, GLfloat *params);
   1209     extern void (CODEGEN_FUNCPTR *GetUniformiv)(GLuint program, GLint location, GLint *params);
   1210     extern void (CODEGEN_FUNCPTR *GetVertexAttribdv)(GLuint index, GLenum pname, GLdouble *params);
   1211     extern void (CODEGEN_FUNCPTR *GetVertexAttribfv)(GLuint index, GLenum pname, GLfloat *params);
   1212     extern void (CODEGEN_FUNCPTR *GetVertexAttribiv)(GLuint index, GLenum pname, GLint *params);
   1213     extern void (CODEGEN_FUNCPTR *GetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid* *pointer);
   1214     extern GLboolean (CODEGEN_FUNCPTR *IsProgram)(GLuint program);
   1215     extern GLboolean (CODEGEN_FUNCPTR *IsShader)(GLuint shader);
   1216     extern void (CODEGEN_FUNCPTR *LinkProgram)(GLuint program);
   1217     extern void (CODEGEN_FUNCPTR *ShaderSource)(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
   1218     extern void (CODEGEN_FUNCPTR *UseProgram)(GLuint program);
   1219     extern void (CODEGEN_FUNCPTR *Uniform1f)(GLint location, GLfloat v0);
   1220     extern void (CODEGEN_FUNCPTR *Uniform2f)(GLint location, GLfloat v0, GLfloat v1);
   1221     extern void (CODEGEN_FUNCPTR *Uniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
   1222     extern void (CODEGEN_FUNCPTR *Uniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
   1223     extern void (CODEGEN_FUNCPTR *Uniform1i)(GLint location, GLint v0);
   1224     extern void (CODEGEN_FUNCPTR *Uniform2i)(GLint location, GLint v0, GLint v1);
   1225     extern void (CODEGEN_FUNCPTR *Uniform3i)(GLint location, GLint v0, GLint v1, GLint v2);
   1226     extern void (CODEGEN_FUNCPTR *Uniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
   1227     extern void (CODEGEN_FUNCPTR *Uniform1fv)(GLint location, GLsizei count, const GLfloat *value);
   1228     extern void (CODEGEN_FUNCPTR *Uniform2fv)(GLint location, GLsizei count, const GLfloat *value);
   1229     extern void (CODEGEN_FUNCPTR *Uniform3fv)(GLint location, GLsizei count, const GLfloat *value);
   1230     extern void (CODEGEN_FUNCPTR *Uniform4fv)(GLint location, GLsizei count, const GLfloat *value);
   1231     extern void (CODEGEN_FUNCPTR *Uniform1iv)(GLint location, GLsizei count, const GLint *value);
   1232     extern void (CODEGEN_FUNCPTR *Uniform2iv)(GLint location, GLsizei count, const GLint *value);
   1233     extern void (CODEGEN_FUNCPTR *Uniform3iv)(GLint location, GLsizei count, const GLint *value);
   1234     extern void (CODEGEN_FUNCPTR *Uniform4iv)(GLint location, GLsizei count, const GLint *value);
   1235     extern void (CODEGEN_FUNCPTR *UniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1236     extern void (CODEGEN_FUNCPTR *UniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1237     extern void (CODEGEN_FUNCPTR *UniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1238     extern void (CODEGEN_FUNCPTR *ValidateProgram)(GLuint program);
   1239     extern void (CODEGEN_FUNCPTR *VertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
   1240 
   1241     // Extension: 2.1
   1242     extern void (CODEGEN_FUNCPTR *UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1243     extern void (CODEGEN_FUNCPTR *UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1244     extern void (CODEGEN_FUNCPTR *UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1245     extern void (CODEGEN_FUNCPTR *UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1246     extern void (CODEGEN_FUNCPTR *UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1247     extern void (CODEGEN_FUNCPTR *UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1248 
   1249     // Extension: ARB_vertex_array_object
   1250     extern void (CODEGEN_FUNCPTR *BindVertexArray)(GLuint ren_array);
   1251     extern void (CODEGEN_FUNCPTR *DeleteVertexArrays)(GLsizei n, const GLuint *arrays);
   1252     extern void (CODEGEN_FUNCPTR *GenVertexArrays)(GLsizei n, GLuint *arrays);
   1253     extern GLboolean (CODEGEN_FUNCPTR *IsVertexArray)(GLuint ren_array);
   1254 
   1255     // Extension: ARB_map_buffer_range
   1256     extern GLvoid* (CODEGEN_FUNCPTR *MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
   1257     extern void (CODEGEN_FUNCPTR *FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length);
   1258 
   1259     // Extension: ARB_framebuffer_object
   1260     extern GLboolean (CODEGEN_FUNCPTR *IsRenderbuffer)(GLuint renderbuffer);
   1261     extern void (CODEGEN_FUNCPTR *BindRenderbuffer)(GLenum target, GLuint renderbuffer);
   1262     extern void (CODEGEN_FUNCPTR *DeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers);
   1263     extern void (CODEGEN_FUNCPTR *GenRenderbuffers)(GLsizei n, GLuint *renderbuffers);
   1264     extern void (CODEGEN_FUNCPTR *RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
   1265     extern void (CODEGEN_FUNCPTR *GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params);
   1266     extern GLboolean (CODEGEN_FUNCPTR *IsFramebuffer)(GLuint framebuffer);
   1267     extern void (CODEGEN_FUNCPTR *BindFramebuffer)(GLenum target, GLuint framebuffer);
   1268     extern void (CODEGEN_FUNCPTR *DeleteFramebuffers)(GLsizei n, const GLuint *framebuffers);
   1269     extern void (CODEGEN_FUNCPTR *GenFramebuffers)(GLsizei n, GLuint *framebuffers);
   1270     extern GLenum (CODEGEN_FUNCPTR *CheckFramebufferStatus)(GLenum target);
   1271     extern void (CODEGEN_FUNCPTR *FramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
   1272     extern void (CODEGEN_FUNCPTR *FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
   1273     extern void (CODEGEN_FUNCPTR *FramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
   1274     extern void (CODEGEN_FUNCPTR *FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
   1275     extern void (CODEGEN_FUNCPTR *GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params);
   1276     extern void (CODEGEN_FUNCPTR *GenerateMipmap)(GLenum target);
   1277     extern void (CODEGEN_FUNCPTR *BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
   1278     extern void (CODEGEN_FUNCPTR *RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1279     extern void (CODEGEN_FUNCPTR *FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
   1280 
   1281     // Extension: 3.0
   1282     extern void (CODEGEN_FUNCPTR *ColorMaski)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
   1283     extern void (CODEGEN_FUNCPTR *GetBooleani_v)(GLenum target, GLuint index, GLboolean *data);
   1284     extern void (CODEGEN_FUNCPTR *GetIntegeri_v)(GLenum target, GLuint index, GLint *data);
   1285     extern void (CODEGEN_FUNCPTR *Enablei)(GLenum target, GLuint index);
   1286     extern void (CODEGEN_FUNCPTR *Disablei)(GLenum target, GLuint index);
   1287     extern GLboolean (CODEGEN_FUNCPTR *IsEnabledi)(GLenum target, GLuint index);
   1288     extern void (CODEGEN_FUNCPTR *BeginTransformFeedback)(GLenum primitiveMode);
   1289     extern void (CODEGEN_FUNCPTR *EndTransformFeedback)();
   1290     extern void (CODEGEN_FUNCPTR *BindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
   1291     extern void (CODEGEN_FUNCPTR *BindBufferBase)(GLenum target, GLuint index, GLuint buffer);
   1292     extern void (CODEGEN_FUNCPTR *TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
   1293     extern void (CODEGEN_FUNCPTR *GetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
   1294     extern void (CODEGEN_FUNCPTR *ClampColor)(GLenum target, GLenum clamp);
   1295     extern void (CODEGEN_FUNCPTR *BeginConditionalRender)(GLuint id, GLenum mode);
   1296     extern void (CODEGEN_FUNCPTR *EndConditionalRender)();
   1297     extern void (CODEGEN_FUNCPTR *VertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
   1298     extern void (CODEGEN_FUNCPTR *GetVertexAttribIiv)(GLuint index, GLenum pname, GLint *params);
   1299     extern void (CODEGEN_FUNCPTR *GetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint *params);
   1300     extern void (CODEGEN_FUNCPTR *VertexAttribI1i)(GLuint index, GLint x);
   1301     extern void (CODEGEN_FUNCPTR *VertexAttribI2i)(GLuint index, GLint x, GLint y);
   1302     extern void (CODEGEN_FUNCPTR *VertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z);
   1303     extern void (CODEGEN_FUNCPTR *VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w);
   1304     extern void (CODEGEN_FUNCPTR *VertexAttribI1ui)(GLuint index, GLuint x);
   1305     extern void (CODEGEN_FUNCPTR *VertexAttribI2ui)(GLuint index, GLuint x, GLuint y);
   1306     extern void (CODEGEN_FUNCPTR *VertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z);
   1307     extern void (CODEGEN_FUNCPTR *VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
   1308     extern void (CODEGEN_FUNCPTR *VertexAttribI1iv)(GLuint index, const GLint *v);
   1309     extern void (CODEGEN_FUNCPTR *VertexAttribI2iv)(GLuint index, const GLint *v);
   1310     extern void (CODEGEN_FUNCPTR *VertexAttribI3iv)(GLuint index, const GLint *v);
   1311     extern void (CODEGEN_FUNCPTR *VertexAttribI4iv)(GLuint index, const GLint *v);
   1312     extern void (CODEGEN_FUNCPTR *VertexAttribI1uiv)(GLuint index, const GLuint *v);
   1313     extern void (CODEGEN_FUNCPTR *VertexAttribI2uiv)(GLuint index, const GLuint *v);
   1314     extern void (CODEGEN_FUNCPTR *VertexAttribI3uiv)(GLuint index, const GLuint *v);
   1315     extern void (CODEGEN_FUNCPTR *VertexAttribI4uiv)(GLuint index, const GLuint *v);
   1316     extern void (CODEGEN_FUNCPTR *VertexAttribI4bv)(GLuint index, const GLbyte *v);
   1317     extern void (CODEGEN_FUNCPTR *VertexAttribI4sv)(GLuint index, const GLshort *v);
   1318     extern void (CODEGEN_FUNCPTR *VertexAttribI4ubv)(GLuint index, const GLubyte *v);
   1319     extern void (CODEGEN_FUNCPTR *VertexAttribI4usv)(GLuint index, const GLushort *v);
   1320     extern void (CODEGEN_FUNCPTR *GetUniformuiv)(GLuint program, GLint location, GLuint *params);
   1321     extern void (CODEGEN_FUNCPTR *BindFragDataLocation)(GLuint program, GLuint color, const GLchar *name);
   1322     extern GLint (CODEGEN_FUNCPTR *GetFragDataLocation)(GLuint program, const GLchar *name);
   1323     extern void (CODEGEN_FUNCPTR *Uniform1ui)(GLint location, GLuint v0);
   1324     extern void (CODEGEN_FUNCPTR *Uniform2ui)(GLint location, GLuint v0, GLuint v1);
   1325     extern void (CODEGEN_FUNCPTR *Uniform3ui)(GLint location, GLuint v0, GLuint v1, GLuint v2);
   1326     extern void (CODEGEN_FUNCPTR *Uniform4ui)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
   1327     extern void (CODEGEN_FUNCPTR *Uniform1uiv)(GLint location, GLsizei count, const GLuint *value);
   1328     extern void (CODEGEN_FUNCPTR *Uniform2uiv)(GLint location, GLsizei count, const GLuint *value);
   1329     extern void (CODEGEN_FUNCPTR *Uniform3uiv)(GLint location, GLsizei count, const GLuint *value);
   1330     extern void (CODEGEN_FUNCPTR *Uniform4uiv)(GLint location, GLsizei count, const GLuint *value);
   1331     extern void (CODEGEN_FUNCPTR *TexParameterIiv)(GLenum target, GLenum pname, const GLint *params);
   1332     extern void (CODEGEN_FUNCPTR *TexParameterIuiv)(GLenum target, GLenum pname, const GLuint *params);
   1333     extern void (CODEGEN_FUNCPTR *GetTexParameterIiv)(GLenum target, GLenum pname, GLint *params);
   1334     extern void (CODEGEN_FUNCPTR *GetTexParameterIuiv)(GLenum target, GLenum pname, GLuint *params);
   1335     extern void (CODEGEN_FUNCPTR *ClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint *value);
   1336     extern void (CODEGEN_FUNCPTR *ClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint *value);
   1337     extern void (CODEGEN_FUNCPTR *ClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat *value);
   1338     extern void (CODEGEN_FUNCPTR *ClearBufferfi)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
   1339     extern const GLubyte * (CODEGEN_FUNCPTR *GetStringi)(GLenum name, GLuint index);
   1340 
   1341     // Extension: ARB_uniform_buffer_object
   1342     extern void (CODEGEN_FUNCPTR *GetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
   1343     extern void (CODEGEN_FUNCPTR *GetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
   1344     extern void (CODEGEN_FUNCPTR *GetActiveUniformName)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
   1345     extern GLuint (CODEGEN_FUNCPTR *GetUniformBlockIndex)(GLuint program, const GLchar *uniformBlockName);
   1346     extern void (CODEGEN_FUNCPTR *GetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
   1347     extern void (CODEGEN_FUNCPTR *GetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
   1348     extern void (CODEGEN_FUNCPTR *UniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
   1349 
   1350     // Extension: ARB_copy_buffer
   1351     extern void (CODEGEN_FUNCPTR *CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
   1352 
   1353     // Extension: 3.1
   1354     extern void (CODEGEN_FUNCPTR *DrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
   1355     extern void (CODEGEN_FUNCPTR *DrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
   1356     extern void (CODEGEN_FUNCPTR *TexBuffer)(GLenum target, GLenum internalformat, GLuint buffer);
   1357     extern void (CODEGEN_FUNCPTR *PrimitiveRestartIndex)(GLuint index);
   1358 
   1359     // Legacy
   1360     extern void (CODEGEN_FUNCPTR *EnableClientState)(GLenum cap);
   1361     extern void (CODEGEN_FUNCPTR *DisableClientState)(GLenum cap);
   1362     extern void (CODEGEN_FUNCPTR *VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr);
   1363     extern void (CODEGEN_FUNCPTR *NormalPointer)(GLenum type, GLsizei stride, const GLvoid *ptr);
   1364     extern void (CODEGEN_FUNCPTR *ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr);
   1365     extern void (CODEGEN_FUNCPTR *TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr);
   1366     extern void (CODEGEN_FUNCPTR *TexEnvi)(GLenum target, GLenum pname, GLint param);
   1367     extern void (CODEGEN_FUNCPTR *MatrixMode)(GLenum mode);
   1368     extern void (CODEGEN_FUNCPTR *LoadIdentity)(void);
   1369     extern void (CODEGEN_FUNCPTR *Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val);
   1370     extern void (CODEGEN_FUNCPTR *Color3d)(GLdouble red, GLdouble green, GLdouble blue);
   1371 }
   1372 
   1373 #endif // OPENGL_NOLOAD_STYLE_HPP
   1374