include/SDL_opengles2.h
changeset 8543 b9dd3cf38585
parent 8541 0041edb891f3
parent 8021 f96e12e0ade9
child 8583 fb2933ca805f
     1.1 --- a/include/SDL_opengles2.h	Thu Nov 28 21:15:05 2013 -0500
     1.2 +++ b/include/SDL_opengles2.h	Thu Nov 28 22:09:21 2013 -0500
     1.3 @@ -24,7 +24,7 @@
     1.4   *
     1.5   *  This is a simple file to encapsulate the OpenGL ES 2.0 API headers.
     1.6   */
     1.7 -
     1.8 +#ifndef _MSC_VER
     1.9  #ifdef __IPHONEOS__
    1.10  #include <OpenGLES/ES2/gl.h>
    1.11  #include <OpenGLES/ES2/glext.h>
    1.12 @@ -33,8 +33,2758 @@
    1.13  #include <GLES2/gl2ext.h>
    1.14  #endif
    1.15  
    1.16 -#ifndef __WINRT__
    1.17 +#else /* _MSC_VER */
    1.18 +
    1.19 +/* OpenGL ES2 headers for Visual Studio */
    1.20 +
    1.21 +#ifndef __khrplatform_h_
    1.22 +#define __khrplatform_h_
    1.23 +
    1.24 +/*
    1.25 +** Copyright (c) 2008-2009 The Khronos Group Inc.
    1.26 +**
    1.27 +** Permission is hereby granted, free of charge, to any person obtaining a
    1.28 +** copy of this software and/or associated documentation files (the
    1.29 +** "Materials"), to deal in the Materials without restriction, including
    1.30 +** without limitation the rights to use, copy, modify, merge, publish,
    1.31 +** distribute, sublicense, and/or sell copies of the Materials, and to
    1.32 +** permit persons to whom the Materials are furnished to do so, subject to
    1.33 +** the following conditions:
    1.34 +**
    1.35 +** The above copyright notice and this permission notice shall be included
    1.36 +** in all copies or substantial portions of the Materials.
    1.37 +**
    1.38 +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    1.39 +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    1.40 +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    1.41 +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    1.42 +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    1.43 +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    1.44 +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
    1.45 +*/
    1.46 +
    1.47 +/* Khronos platform-specific types and definitions.
    1.48 +*
    1.49 +* $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
    1.50 +*
    1.51 +* Adopters may modify this file to suit their platform. Adopters are
    1.52 +* encouraged to submit platform specific modifications to the Khronos
    1.53 +* group so that they can be included in future versions of this file.
    1.54 +* Please submit changes by sending them to the public Khronos Bugzilla
    1.55 +* (http://khronos.org/bugzilla) by filing a bug against product
    1.56 +* "Khronos (general)" component "Registry".
    1.57 +*
    1.58 +* A predefined template which fills in some of the bug fields can be
    1.59 +* reached using http://tinyurl.com/khrplatform-h-bugreport, but you
    1.60 +* must create a Bugzilla login first.
    1.61 +*
    1.62 +*
    1.63 +* See the Implementer's Guidelines for information about where this file
    1.64 +* should be located on your system and for more details of its use:
    1.65 +*    http://www.khronos.org/registry/implementers_guide.pdf
    1.66 +*
    1.67 +* This file should be included as
    1.68 +*        #include <KHR/khrplatform.h>
    1.69 +* by Khronos client API header files that use its types and defines.
    1.70 +*
    1.71 +* The types in khrplatform.h should only be used to define API-specific types.
    1.72 +*
    1.73 +* Types defined in khrplatform.h:
    1.74 +*    khronos_int8_t              signed   8  bit
    1.75 +*    khronos_uint8_t             unsigned 8  bit
    1.76 +*    khronos_int16_t             signed   16 bit
    1.77 +*    khronos_uint16_t            unsigned 16 bit
    1.78 +*    khronos_int32_t             signed   32 bit
    1.79 +*    khronos_uint32_t            unsigned 32 bit
    1.80 +*    khronos_int64_t             signed   64 bit
    1.81 +*    khronos_uint64_t            unsigned 64 bit
    1.82 +*    khronos_intptr_t            signed   same number of bits as a pointer
    1.83 +*    khronos_uintptr_t           unsigned same number of bits as a pointer
    1.84 +*    khronos_ssize_t             signed   size
    1.85 +*    khronos_usize_t             unsigned size
    1.86 +*    khronos_float_t             signed   32 bit floating point
    1.87 +*    khronos_time_ns_t           unsigned 64 bit time in nanoseconds
    1.88 +*    khronos_utime_nanoseconds_t unsigned time interval or absolute time in
    1.89 +*                                         nanoseconds
    1.90 +*    khronos_stime_nanoseconds_t signed time interval in nanoseconds
    1.91 +*    khronos_boolean_enum_t      enumerated boolean type. This should
    1.92 +*      only be used as a base type when a client API's boolean type is
    1.93 +*      an enum. Client APIs which use an integer or other type for
    1.94 +*      booleans cannot use this as the base type for their boolean.
    1.95 +*
    1.96 +* Tokens defined in khrplatform.h:
    1.97 +*
    1.98 +*    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
    1.99 +*
   1.100 +*    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
   1.101 +*    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
   1.102 +*
   1.103 +* Calling convention macros defined in this file:
   1.104 +*    KHRONOS_APICALL
   1.105 +*    KHRONOS_APIENTRY
   1.106 +*    KHRONOS_APIATTRIBUTES
   1.107 +*
   1.108 +* These may be used in function prototypes as:
   1.109 +*
   1.110 +*      KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
   1.111 +*                                  int arg1,
   1.112 +*                                  int arg2) KHRONOS_APIATTRIBUTES;
   1.113 +*/
   1.114 +
   1.115 +/*-------------------------------------------------------------------------
   1.116 +* Definition of KHRONOS_APICALL
   1.117 +*-------------------------------------------------------------------------
   1.118 +* This precedes the return type of the function in the function prototype.
   1.119 +*/
   1.120 +#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
   1.121 +#   define KHRONOS_APICALL __declspec(dllimport)
   1.122 +#elif defined (__SYMBIAN32__)
   1.123 +#   define KHRONOS_APICALL IMPORT_C
   1.124 +#else
   1.125 +#   define KHRONOS_APICALL
   1.126 +#endif
   1.127 +
   1.128 +/*-------------------------------------------------------------------------
   1.129 +* Definition of KHRONOS_APIENTRY
   1.130 +*-------------------------------------------------------------------------
   1.131 +* This follows the return type of the function  and precedes the function
   1.132 +* name in the function prototype.
   1.133 +*/
   1.134 +#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
   1.135 +/* Win32 but not WinCE */
   1.136 +#   define KHRONOS_APIENTRY __stdcall
   1.137 +#else
   1.138 +#   define KHRONOS_APIENTRY
   1.139 +#endif
   1.140 +
   1.141 +/*-------------------------------------------------------------------------
   1.142 +* Definition of KHRONOS_APIATTRIBUTES
   1.143 +*-------------------------------------------------------------------------
   1.144 +* This follows the closing parenthesis of the function prototype arguments.
   1.145 +*/
   1.146 +#if defined (__ARMCC_2__)
   1.147 +#define KHRONOS_APIATTRIBUTES __softfp
   1.148 +#else
   1.149 +#define KHRONOS_APIATTRIBUTES
   1.150 +#endif
   1.151 +
   1.152 +/*-------------------------------------------------------------------------
   1.153 +* basic type definitions
   1.154 +*-----------------------------------------------------------------------*/
   1.155 +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
   1.156 +
   1.157 +
   1.158 +/*
   1.159 +* Using <stdint.h>
   1.160 +*/
   1.161 +#include <stdint.h>
   1.162 +typedef int32_t                 khronos_int32_t;
   1.163 +typedef uint32_t                khronos_uint32_t;
   1.164 +typedef int64_t                 khronos_int64_t;
   1.165 +typedef uint64_t                khronos_uint64_t;
   1.166 +#define KHRONOS_SUPPORT_INT64   1
   1.167 +#define KHRONOS_SUPPORT_FLOAT   1
   1.168 +
   1.169 +#elif defined(__VMS ) || defined(__sgi)
   1.170 +
   1.171 +/*
   1.172 +* Using <inttypes.h>
   1.173 +*/
   1.174 +#include <inttypes.h>
   1.175 +typedef int32_t                 khronos_int32_t;
   1.176 +typedef uint32_t                khronos_uint32_t;
   1.177 +typedef int64_t                 khronos_int64_t;
   1.178 +typedef uint64_t                khronos_uint64_t;
   1.179 +#define KHRONOS_SUPPORT_INT64   1
   1.180 +#define KHRONOS_SUPPORT_FLOAT   1
   1.181 +
   1.182 +#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
   1.183 +
   1.184 +/*
   1.185 +* Win32
   1.186 +*/
   1.187 +typedef __int32                 khronos_int32_t;
   1.188 +typedef unsigned __int32        khronos_uint32_t;
   1.189 +typedef __int64                 khronos_int64_t;
   1.190 +typedef unsigned __int64        khronos_uint64_t;
   1.191 +#define KHRONOS_SUPPORT_INT64   1
   1.192 +#define KHRONOS_SUPPORT_FLOAT   1
   1.193 +
   1.194 +#elif defined(__sun__) || defined(__digital__)
   1.195 +
   1.196 +/*
   1.197 +* Sun or Digital
   1.198 +*/
   1.199 +typedef int                     khronos_int32_t;
   1.200 +typedef unsigned int            khronos_uint32_t;
   1.201 +#if defined(__arch64__) || defined(_LP64)
   1.202 +typedef long int                khronos_int64_t;
   1.203 +typedef unsigned long int       khronos_uint64_t;
   1.204 +#else
   1.205 +typedef long long int           khronos_int64_t;
   1.206 +typedef unsigned long long int  khronos_uint64_t;
   1.207 +#endif /* __arch64__ */
   1.208 +#define KHRONOS_SUPPORT_INT64   1
   1.209 +#define KHRONOS_SUPPORT_FLOAT   1
   1.210 +
   1.211 +#elif 0
   1.212 +
   1.213 +/*
   1.214 +* Hypothetical platform with no float or int64 support
   1.215 +*/
   1.216 +typedef int                     khronos_int32_t;
   1.217 +typedef unsigned int            khronos_uint32_t;
   1.218 +#define KHRONOS_SUPPORT_INT64   0
   1.219 +#define KHRONOS_SUPPORT_FLOAT   0
   1.220 +
   1.221 +#else
   1.222 +
   1.223 +/*
   1.224 +* Generic fallback
   1.225 +*/
   1.226 +#include <stdint.h>
   1.227 +typedef int32_t                 khronos_int32_t;
   1.228 +typedef uint32_t                khronos_uint32_t;
   1.229 +typedef int64_t                 khronos_int64_t;
   1.230 +typedef uint64_t                khronos_uint64_t;
   1.231 +#define KHRONOS_SUPPORT_INT64   1
   1.232 +#define KHRONOS_SUPPORT_FLOAT   1
   1.233 +
   1.234 +#endif
   1.235 +
   1.236 +
   1.237 +/*
   1.238 +* Types that are (so far) the same on all platforms
   1.239 +*/
   1.240 +typedef signed   char          khronos_int8_t;
   1.241 +typedef unsigned char          khronos_uint8_t;
   1.242 +typedef signed   short int     khronos_int16_t;
   1.243 +typedef unsigned short int     khronos_uint16_t;
   1.244 +
   1.245 +/*
   1.246 +* Types that differ between LLP64 and LP64 architectures - in LLP64,
   1.247 +* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
   1.248 +* to be the only LLP64 architecture in current use.
   1.249 +*/
   1.250 +#ifdef _WIN64
   1.251 +typedef signed   long long int khronos_intptr_t;
   1.252 +typedef unsigned long long int khronos_uintptr_t;
   1.253 +typedef signed   long long int khronos_ssize_t;
   1.254 +typedef unsigned long long int khronos_usize_t;
   1.255 +#else
   1.256 +typedef signed   long  int     khronos_intptr_t;
   1.257 +typedef unsigned long  int     khronos_uintptr_t;
   1.258 +typedef signed   long  int     khronos_ssize_t;
   1.259 +typedef unsigned long  int     khronos_usize_t;
   1.260 +#endif
   1.261 +
   1.262 +#if KHRONOS_SUPPORT_FLOAT
   1.263 +/*
   1.264 +* Float type
   1.265 +*/
   1.266 +typedef          float         khronos_float_t;
   1.267 +#endif
   1.268 +
   1.269 +#if KHRONOS_SUPPORT_INT64
   1.270 +/* Time types
   1.271 +*
   1.272 +* These types can be used to represent a time interval in nanoseconds or
   1.273 +* an absolute Unadjusted System Time.  Unadjusted System Time is the number
   1.274 +* of nanoseconds since some arbitrary system event (e.g. since the last
   1.275 +* time the system booted).  The Unadjusted System Time is an unsigned
   1.276 +* 64 bit value that wraps back to 0 every 584 years.  Time intervals
   1.277 +* may be either signed or unsigned.
   1.278 +*/
   1.279 +typedef khronos_uint64_t       khronos_utime_nanoseconds_t;
   1.280 +typedef khronos_int64_t        khronos_stime_nanoseconds_t;
   1.281 +#endif
   1.282 +
   1.283 +/*
   1.284 +* Dummy value used to pad enum types to 32 bits.
   1.285 +*/
   1.286 +#ifndef KHRONOS_MAX_ENUM
   1.287 +#define KHRONOS_MAX_ENUM 0x7FFFFFFF
   1.288 +#endif
   1.289 +
   1.290 +/*
   1.291 +* Enumerated boolean type
   1.292 +*
   1.293 +* Values other than zero should be considered to be true.  Therefore
   1.294 +* comparisons should not be made against KHRONOS_TRUE.
   1.295 +*/
   1.296 +typedef enum {
   1.297 +    KHRONOS_FALSE = 0,
   1.298 +    KHRONOS_TRUE = 1,
   1.299 +    KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
   1.300 +} khronos_boolean_enum_t;
   1.301 +
   1.302 +#endif /* __khrplatform_h_ */
   1.303 +
   1.304 +
   1.305 +#ifndef __gl2platform_h_
   1.306 +#define __gl2platform_h_
   1.307 +
   1.308 +/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */
   1.309 +
   1.310 +/*
   1.311 + * This document is licensed under the SGI Free Software B License Version
   1.312 + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
   1.313 + */
   1.314 +
   1.315 +/* Platform-specific types and definitions for OpenGL ES 2.X  gl2.h
   1.316 + *
   1.317 + * Adopters may modify khrplatform.h and this file to suit their platform.
   1.318 + * You are encouraged to submit all modifications to the Khronos group so that
   1.319 + * they can be included in future versions of this file.  Please submit changes
   1.320 + * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
   1.321 + * by filing a bug against product "OpenGL-ES" component "Registry".
   1.322 + */
   1.323 +
   1.324 +/*#include <KHR/khrplatform.h>*/
   1.325 +
   1.326 +#ifndef GL_APICALL
   1.327 +#define GL_APICALL  KHRONOS_APICALL
   1.328 +#endif
   1.329 +
   1.330 +#ifndef GL_APIENTRY
   1.331 +#define GL_APIENTRY KHRONOS_APIENTRY
   1.332 +#endif
   1.333 +
   1.334 +#endif /* __gl2platform_h_ */
   1.335 +
   1.336 +#ifndef __gl2_h_
   1.337 +#define __gl2_h_
   1.338 +
   1.339 +/* $Revision: 16803 $ on $Date:: 2012-02-02 09:49:18 -0800 #$ */
   1.340 +
   1.341 +/*#include <GLES2/gl2platform.h>*/
   1.342 +
   1.343 +#ifdef __cplusplus
   1.344 +extern "C" {
   1.345 +#endif
   1.346 +
   1.347 +/*
   1.348 + * This document is licensed under the SGI Free Software B License Version
   1.349 + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
   1.350 + */
   1.351 +
   1.352 +/*-------------------------------------------------------------------------
   1.353 + * Data type definitions
   1.354 + *-----------------------------------------------------------------------*/
   1.355 +
   1.356 +typedef void             GLvoid;
   1.357 +typedef char             GLchar;
   1.358 +typedef unsigned int     GLenum;
   1.359 +typedef unsigned char    GLboolean;
   1.360 +typedef unsigned int     GLbitfield;
   1.361 +typedef khronos_int8_t   GLbyte;
   1.362 +typedef short            GLshort;
   1.363 +typedef int              GLint;
   1.364 +typedef int              GLsizei;
   1.365 +typedef khronos_uint8_t  GLubyte;
   1.366 +typedef unsigned short   GLushort;
   1.367 +typedef unsigned int     GLuint;
   1.368 +typedef khronos_float_t  GLfloat;
   1.369 +typedef khronos_float_t  GLclampf;
   1.370 +typedef khronos_int32_t  GLfixed;
   1.371 +
   1.372 +/* GL types for handling large vertex buffer objects */
   1.373 +typedef khronos_intptr_t GLintptr;
   1.374 +typedef khronos_ssize_t  GLsizeiptr;
   1.375 +
   1.376 +/* OpenGL ES core versions */
   1.377 +#define GL_ES_VERSION_2_0                 1
   1.378 +
   1.379 +/* ClearBufferMask */
   1.380 +#define GL_DEPTH_BUFFER_BIT               0x00000100
   1.381 +#define GL_STENCIL_BUFFER_BIT             0x00000400
   1.382 +#define GL_COLOR_BUFFER_BIT               0x00004000
   1.383 +
   1.384 +/* Boolean */
   1.385 +#define GL_FALSE                          0
   1.386 +#define GL_TRUE                           1
   1.387 +
   1.388 +/* BeginMode */
   1.389 +#define GL_POINTS                         0x0000
   1.390 +#define GL_LINES                          0x0001
   1.391 +#define GL_LINE_LOOP                      0x0002
   1.392 +#define GL_LINE_STRIP                     0x0003
   1.393 +#define GL_TRIANGLES                      0x0004
   1.394 +#define GL_TRIANGLE_STRIP                 0x0005
   1.395 +#define GL_TRIANGLE_FAN                   0x0006
   1.396 +
   1.397 +/* AlphaFunction (not supported in ES20) */
   1.398 +/*      GL_NEVER */
   1.399 +/*      GL_LESS */
   1.400 +/*      GL_EQUAL */
   1.401 +/*      GL_LEQUAL */
   1.402 +/*      GL_GREATER */
   1.403 +/*      GL_NOTEQUAL */
   1.404 +/*      GL_GEQUAL */
   1.405 +/*      GL_ALWAYS */
   1.406 +
   1.407 +/* BlendingFactorDest */
   1.408 +#define GL_ZERO                           0
   1.409 +#define GL_ONE                            1
   1.410 +#define GL_SRC_COLOR                      0x0300
   1.411 +#define GL_ONE_MINUS_SRC_COLOR            0x0301
   1.412 +#define GL_SRC_ALPHA                      0x0302
   1.413 +#define GL_ONE_MINUS_SRC_ALPHA            0x0303
   1.414 +#define GL_DST_ALPHA                      0x0304
   1.415 +#define GL_ONE_MINUS_DST_ALPHA            0x0305
   1.416 +
   1.417 +/* BlendingFactorSrc */
   1.418 +/*      GL_ZERO */
   1.419 +/*      GL_ONE */
   1.420 +#define GL_DST_COLOR                      0x0306
   1.421 +#define GL_ONE_MINUS_DST_COLOR            0x0307
   1.422 +#define GL_SRC_ALPHA_SATURATE             0x0308
   1.423 +/*      GL_SRC_ALPHA */
   1.424 +/*      GL_ONE_MINUS_SRC_ALPHA */
   1.425 +/*      GL_DST_ALPHA */
   1.426 +/*      GL_ONE_MINUS_DST_ALPHA */
   1.427 +
   1.428 +/* BlendEquationSeparate */
   1.429 +#define GL_FUNC_ADD                       0x8006
   1.430 +#define GL_BLEND_EQUATION                 0x8009
   1.431 +#define GL_BLEND_EQUATION_RGB             0x8009    /* same as BLEND_EQUATION */
   1.432 +#define GL_BLEND_EQUATION_ALPHA           0x883D
   1.433 +
   1.434 +/* BlendSubtract */
   1.435 +#define GL_FUNC_SUBTRACT                  0x800A
   1.436 +#define GL_FUNC_REVERSE_SUBTRACT          0x800B
   1.437 +
   1.438 +/* Separate Blend Functions */
   1.439 +#define GL_BLEND_DST_RGB                  0x80C8
   1.440 +#define GL_BLEND_SRC_RGB                  0x80C9
   1.441 +#define GL_BLEND_DST_ALPHA                0x80CA
   1.442 +#define GL_BLEND_SRC_ALPHA                0x80CB
   1.443 +#define GL_CONSTANT_COLOR                 0x8001
   1.444 +#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
   1.445 +#define GL_CONSTANT_ALPHA                 0x8003
   1.446 +#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
   1.447 +#define GL_BLEND_COLOR                    0x8005
   1.448 +
   1.449 +/* Buffer Objects */
   1.450 +#define GL_ARRAY_BUFFER                   0x8892
   1.451 +#define GL_ELEMENT_ARRAY_BUFFER           0x8893
   1.452 +#define GL_ARRAY_BUFFER_BINDING           0x8894
   1.453 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING   0x8895
   1.454 +
   1.455 +#define GL_STREAM_DRAW                    0x88E0
   1.456 +#define GL_STATIC_DRAW                    0x88E4
   1.457 +#define GL_DYNAMIC_DRAW                   0x88E8
   1.458 +
   1.459 +#define GL_BUFFER_SIZE                    0x8764
   1.460 +#define GL_BUFFER_USAGE                   0x8765
   1.461 +
   1.462 +#define GL_CURRENT_VERTEX_ATTRIB          0x8626
   1.463 +
   1.464 +/* CullFaceMode */
   1.465 +#define GL_FRONT                          0x0404
   1.466 +#define GL_BACK                           0x0405
   1.467 +#define GL_FRONT_AND_BACK                 0x0408
   1.468 +
   1.469 +/* DepthFunction */
   1.470 +/*      GL_NEVER */
   1.471 +/*      GL_LESS */
   1.472 +/*      GL_EQUAL */
   1.473 +/*      GL_LEQUAL */
   1.474 +/*      GL_GREATER */
   1.475 +/*      GL_NOTEQUAL */
   1.476 +/*      GL_GEQUAL */
   1.477 +/*      GL_ALWAYS */
   1.478 +
   1.479 +/* EnableCap */
   1.480 +#define GL_TEXTURE_2D                     0x0DE1
   1.481 +#define GL_CULL_FACE                      0x0B44
   1.482 +#define GL_BLEND                          0x0BE2
   1.483 +#define GL_DITHER                         0x0BD0
   1.484 +#define GL_STENCIL_TEST                   0x0B90
   1.485 +#define GL_DEPTH_TEST                     0x0B71
   1.486 +#define GL_SCISSOR_TEST                   0x0C11
   1.487 +#define GL_POLYGON_OFFSET_FILL            0x8037
   1.488 +#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E
   1.489 +#define GL_SAMPLE_COVERAGE                0x80A0
   1.490 +
   1.491 +/* ErrorCode */
   1.492 +#define GL_NO_ERROR                       0
   1.493 +#define GL_INVALID_ENUM                   0x0500
   1.494 +#define GL_INVALID_VALUE                  0x0501
   1.495 +#define GL_INVALID_OPERATION              0x0502
   1.496 +#define GL_OUT_OF_MEMORY                  0x0505
   1.497 +
   1.498 +/* FrontFaceDirection */
   1.499 +#define GL_CW                             0x0900
   1.500 +#define GL_CCW                            0x0901
   1.501 +
   1.502 +/* GetPName */
   1.503 +#define GL_LINE_WIDTH                     0x0B21
   1.504 +#define GL_ALIASED_POINT_SIZE_RANGE       0x846D
   1.505 +#define GL_ALIASED_LINE_WIDTH_RANGE       0x846E
   1.506 +#define GL_CULL_FACE_MODE                 0x0B45
   1.507 +#define GL_FRONT_FACE                     0x0B46
   1.508 +#define GL_DEPTH_RANGE                    0x0B70
   1.509 +#define GL_DEPTH_WRITEMASK                0x0B72
   1.510 +#define GL_DEPTH_CLEAR_VALUE              0x0B73
   1.511 +#define GL_DEPTH_FUNC                     0x0B74
   1.512 +#define GL_STENCIL_CLEAR_VALUE            0x0B91
   1.513 +#define GL_STENCIL_FUNC                   0x0B92
   1.514 +#define GL_STENCIL_FAIL                   0x0B94
   1.515 +#define GL_STENCIL_PASS_DEPTH_FAIL        0x0B95
   1.516 +#define GL_STENCIL_PASS_DEPTH_PASS        0x0B96
   1.517 +#define GL_STENCIL_REF                    0x0B97
   1.518 +#define GL_STENCIL_VALUE_MASK             0x0B93
   1.519 +#define GL_STENCIL_WRITEMASK              0x0B98
   1.520 +#define GL_STENCIL_BACK_FUNC              0x8800
   1.521 +#define GL_STENCIL_BACK_FAIL              0x8801
   1.522 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL   0x8802
   1.523 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS   0x8803
   1.524 +#define GL_STENCIL_BACK_REF               0x8CA3
   1.525 +#define GL_STENCIL_BACK_VALUE_MASK        0x8CA4
   1.526 +#define GL_STENCIL_BACK_WRITEMASK         0x8CA5
   1.527 +#define GL_VIEWPORT                       0x0BA2
   1.528 +#define GL_SCISSOR_BOX                    0x0C10
   1.529 +/*      GL_SCISSOR_TEST */
   1.530 +#define GL_COLOR_CLEAR_VALUE              0x0C22
   1.531 +#define GL_COLOR_WRITEMASK                0x0C23
   1.532 +#define GL_UNPACK_ALIGNMENT               0x0CF5
   1.533 +#define GL_PACK_ALIGNMENT                 0x0D05
   1.534 +#define GL_MAX_TEXTURE_SIZE               0x0D33
   1.535 +#define GL_MAX_VIEWPORT_DIMS              0x0D3A
   1.536 +#define GL_SUBPIXEL_BITS                  0x0D50
   1.537 +#define GL_RED_BITS                       0x0D52
   1.538 +#define GL_GREEN_BITS                     0x0D53
   1.539 +#define GL_BLUE_BITS                      0x0D54
   1.540 +#define GL_ALPHA_BITS                     0x0D55
   1.541 +#define GL_DEPTH_BITS                     0x0D56
   1.542 +#define GL_STENCIL_BITS                   0x0D57
   1.543 +#define GL_POLYGON_OFFSET_UNITS           0x2A00
   1.544 +/*      GL_POLYGON_OFFSET_FILL */
   1.545 +#define GL_POLYGON_OFFSET_FACTOR          0x8038
   1.546 +#define GL_TEXTURE_BINDING_2D             0x8069
   1.547 +#define GL_SAMPLE_BUFFERS                 0x80A8
   1.548 +#define GL_SAMPLES                        0x80A9
   1.549 +#define GL_SAMPLE_COVERAGE_VALUE          0x80AA
   1.550 +#define GL_SAMPLE_COVERAGE_INVERT         0x80AB
   1.551 +
   1.552 +/* GetTextureParameter */
   1.553 +/*      GL_TEXTURE_MAG_FILTER */
   1.554 +/*      GL_TEXTURE_MIN_FILTER */
   1.555 +/*      GL_TEXTURE_WRAP_S */
   1.556 +/*      GL_TEXTURE_WRAP_T */
   1.557 +
   1.558 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
   1.559 +#define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3
   1.560 +
   1.561 +/* HintMode */
   1.562 +#define GL_DONT_CARE                      0x1100
   1.563 +#define GL_FASTEST                        0x1101
   1.564 +#define GL_NICEST                         0x1102
   1.565 +
   1.566 +/* HintTarget */
   1.567 +#define GL_GENERATE_MIPMAP_HINT            0x8192
   1.568 +
   1.569 +/* DataType */
   1.570 +#define GL_BYTE                           0x1400
   1.571 +#define GL_UNSIGNED_BYTE                  0x1401
   1.572 +#define GL_SHORT                          0x1402
   1.573 +#define GL_UNSIGNED_SHORT                 0x1403
   1.574 +#define GL_INT                            0x1404
   1.575 +#define GL_UNSIGNED_INT                   0x1405
   1.576 +#define GL_FLOAT                          0x1406
   1.577 +#define GL_FIXED                          0x140C
   1.578 +
   1.579 +/* PixelFormat */
   1.580 +#define GL_DEPTH_COMPONENT                0x1902
   1.581 +#define GL_ALPHA                          0x1906
   1.582 +#define GL_RGB                            0x1907
   1.583 +#define GL_RGBA                           0x1908
   1.584 +#define GL_LUMINANCE                      0x1909
   1.585 +#define GL_LUMINANCE_ALPHA                0x190A
   1.586 +
   1.587 +/* PixelType */
   1.588 +/*      GL_UNSIGNED_BYTE */
   1.589 +#define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
   1.590 +#define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
   1.591 +#define GL_UNSIGNED_SHORT_5_6_5           0x8363
   1.592 +
   1.593 +/* Shaders */
   1.594 +#define GL_FRAGMENT_SHADER                  0x8B30
   1.595 +#define GL_VERTEX_SHADER                    0x8B31
   1.596 +#define GL_MAX_VERTEX_ATTRIBS               0x8869
   1.597 +#define GL_MAX_VERTEX_UNIFORM_VECTORS       0x8DFB
   1.598 +#define GL_MAX_VARYING_VECTORS              0x8DFC
   1.599 +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
   1.600 +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS   0x8B4C
   1.601 +#define GL_MAX_TEXTURE_IMAGE_UNITS          0x8872
   1.602 +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS     0x8DFD
   1.603 +#define GL_SHADER_TYPE                      0x8B4F
   1.604 +#define GL_DELETE_STATUS                    0x8B80
   1.605 +#define GL_LINK_STATUS                      0x8B82
   1.606 +#define GL_VALIDATE_STATUS                  0x8B83
   1.607 +#define GL_ATTACHED_SHADERS                 0x8B85
   1.608 +#define GL_ACTIVE_UNIFORMS                  0x8B86
   1.609 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH        0x8B87
   1.610 +#define GL_ACTIVE_ATTRIBUTES                0x8B89
   1.611 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH      0x8B8A
   1.612 +#define GL_SHADING_LANGUAGE_VERSION         0x8B8C
   1.613 +#define GL_CURRENT_PROGRAM                  0x8B8D
   1.614 +
   1.615 +/* StencilFunction */
   1.616 +#define GL_NEVER                          0x0200
   1.617 +#define GL_LESS                           0x0201
   1.618 +#define GL_EQUAL                          0x0202
   1.619 +#define GL_LEQUAL                         0x0203
   1.620 +#define GL_GREATER                        0x0204
   1.621 +#define GL_NOTEQUAL                       0x0205
   1.622 +#define GL_GEQUAL                         0x0206
   1.623 +#define GL_ALWAYS                         0x0207
   1.624 +
   1.625 +/* StencilOp */
   1.626 +/*      GL_ZERO */
   1.627 +#define GL_KEEP                           0x1E00
   1.628 +#define GL_REPLACE                        0x1E01
   1.629 +#define GL_INCR                           0x1E02
   1.630 +#define GL_DECR                           0x1E03
   1.631 +#define GL_INVERT                         0x150A
   1.632 +#define GL_INCR_WRAP                      0x8507
   1.633 +#define GL_DECR_WRAP                      0x8508
   1.634 +
   1.635 +/* StringName */
   1.636 +#define GL_VENDOR                         0x1F00
   1.637 +#define GL_RENDERER                       0x1F01
   1.638 +#define GL_VERSION                        0x1F02
   1.639 +#define GL_EXTENSIONS                     0x1F03
   1.640 +
   1.641 +/* TextureMagFilter */
   1.642 +#define GL_NEAREST                        0x2600
   1.643 +#define GL_LINEAR                         0x2601
   1.644 +
   1.645 +/* TextureMinFilter */
   1.646 +/*      GL_NEAREST */
   1.647 +/*      GL_LINEAR */
   1.648 +#define GL_NEAREST_MIPMAP_NEAREST         0x2700
   1.649 +#define GL_LINEAR_MIPMAP_NEAREST          0x2701
   1.650 +#define GL_NEAREST_MIPMAP_LINEAR          0x2702
   1.651 +#define GL_LINEAR_MIPMAP_LINEAR           0x2703
   1.652 +
   1.653 +/* TextureParameterName */
   1.654 +#define GL_TEXTURE_MAG_FILTER             0x2800
   1.655 +#define GL_TEXTURE_MIN_FILTER             0x2801
   1.656 +#define GL_TEXTURE_WRAP_S                 0x2802
   1.657 +#define GL_TEXTURE_WRAP_T                 0x2803
   1.658 +
   1.659 +/* TextureTarget */
   1.660 +/*      GL_TEXTURE_2D */
   1.661 +#define GL_TEXTURE                        0x1702
   1.662 +
   1.663 +#define GL_TEXTURE_CUBE_MAP               0x8513
   1.664 +#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514
   1.665 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515
   1.666 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516
   1.667 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517
   1.668 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518
   1.669 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519
   1.670 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A
   1.671 +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C
   1.672 +
   1.673 +/* TextureUnit */
   1.674 +#define GL_TEXTURE0                       0x84C0
   1.675 +#define GL_TEXTURE1                       0x84C1
   1.676 +#define GL_TEXTURE2                       0x84C2
   1.677 +#define GL_TEXTURE3                       0x84C3
   1.678 +#define GL_TEXTURE4                       0x84C4
   1.679 +#define GL_TEXTURE5                       0x84C5
   1.680 +#define GL_TEXTURE6                       0x84C6
   1.681 +#define GL_TEXTURE7                       0x84C7
   1.682 +#define GL_TEXTURE8                       0x84C8
   1.683 +#define GL_TEXTURE9                       0x84C9
   1.684 +#define GL_TEXTURE10                      0x84CA
   1.685 +#define GL_TEXTURE11                      0x84CB
   1.686 +#define GL_TEXTURE12                      0x84CC
   1.687 +#define GL_TEXTURE13                      0x84CD
   1.688 +#define GL_TEXTURE14                      0x84CE
   1.689 +#define GL_TEXTURE15                      0x84CF
   1.690 +#define GL_TEXTURE16                      0x84D0
   1.691 +#define GL_TEXTURE17                      0x84D1
   1.692 +#define GL_TEXTURE18                      0x84D2
   1.693 +#define GL_TEXTURE19                      0x84D3
   1.694 +#define GL_TEXTURE20                      0x84D4
   1.695 +#define GL_TEXTURE21                      0x84D5
   1.696 +#define GL_TEXTURE22                      0x84D6
   1.697 +#define GL_TEXTURE23                      0x84D7
   1.698 +#define GL_TEXTURE24                      0x84D8
   1.699 +#define GL_TEXTURE25                      0x84D9
   1.700 +#define GL_TEXTURE26                      0x84DA
   1.701 +#define GL_TEXTURE27                      0x84DB
   1.702 +#define GL_TEXTURE28                      0x84DC
   1.703 +#define GL_TEXTURE29                      0x84DD
   1.704 +#define GL_TEXTURE30                      0x84DE
   1.705 +#define GL_TEXTURE31                      0x84DF
   1.706 +#define GL_ACTIVE_TEXTURE                 0x84E0
   1.707 +
   1.708 +/* TextureWrapMode */
   1.709 +#define GL_REPEAT                         0x2901
   1.710 +#define GL_CLAMP_TO_EDGE                  0x812F
   1.711 +#define GL_MIRRORED_REPEAT                0x8370
   1.712 +
   1.713 +/* Uniform Types */
   1.714 +#define GL_FLOAT_VEC2                     0x8B50
   1.715 +#define GL_FLOAT_VEC3                     0x8B51
   1.716 +#define GL_FLOAT_VEC4                     0x8B52
   1.717 +#define GL_INT_VEC2                       0x8B53
   1.718 +#define GL_INT_VEC3                       0x8B54
   1.719 +#define GL_INT_VEC4                       0x8B55
   1.720 +#define GL_BOOL                           0x8B56
   1.721 +#define GL_BOOL_VEC2                      0x8B57
   1.722 +#define GL_BOOL_VEC3                      0x8B58
   1.723 +#define GL_BOOL_VEC4                      0x8B59
   1.724 +#define GL_FLOAT_MAT2                     0x8B5A
   1.725 +#define GL_FLOAT_MAT3                     0x8B5B
   1.726 +#define GL_FLOAT_MAT4                     0x8B5C
   1.727 +#define GL_SAMPLER_2D                     0x8B5E
   1.728 +#define GL_SAMPLER_CUBE                   0x8B60
   1.729 +
   1.730 +/* Vertex Arrays */
   1.731 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED        0x8622
   1.732 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE           0x8623
   1.733 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE         0x8624
   1.734 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE           0x8625
   1.735 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED     0x886A
   1.736 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER        0x8645
   1.737 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
   1.738 +
   1.739 +/* Read Format */
   1.740 +#define GL_IMPLEMENTATION_COLOR_READ_TYPE   0x8B9A
   1.741 +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
   1.742 +
   1.743 +/* Shader Source */
   1.744 +#define GL_COMPILE_STATUS                 0x8B81
   1.745 +#define GL_INFO_LOG_LENGTH                0x8B84
   1.746 +#define GL_SHADER_SOURCE_LENGTH           0x8B88
   1.747 +#define GL_SHADER_COMPILER                0x8DFA
   1.748 +
   1.749 +/* Shader Binary */
   1.750 +#define GL_SHADER_BINARY_FORMATS          0x8DF8
   1.751 +#define GL_NUM_SHADER_BINARY_FORMATS      0x8DF9
   1.752 +
   1.753 +/* Shader Precision-Specified Types */
   1.754 +#define GL_LOW_FLOAT                      0x8DF0
   1.755 +#define GL_MEDIUM_FLOAT                   0x8DF1
   1.756 +#define GL_HIGH_FLOAT                     0x8DF2
   1.757 +#define GL_LOW_INT                        0x8DF3
   1.758 +#define GL_MEDIUM_INT                     0x8DF4
   1.759 +#define GL_HIGH_INT                       0x8DF5
   1.760 +
   1.761 +/* Framebuffer Object. */
   1.762 +#define GL_FRAMEBUFFER                    0x8D40
   1.763 +#define GL_RENDERBUFFER                   0x8D41
   1.764 +
   1.765 +#define GL_RGBA4                          0x8056
   1.766 +#define GL_RGB5_A1                        0x8057
   1.767 +#define GL_RGB565                         0x8D62
   1.768 +#define GL_DEPTH_COMPONENT16              0x81A5
   1.769 +#define GL_STENCIL_INDEX8                 0x8D48
   1.770 +
   1.771 +#define GL_RENDERBUFFER_WIDTH             0x8D42
   1.772 +#define GL_RENDERBUFFER_HEIGHT            0x8D43
   1.773 +#define GL_RENDERBUFFER_INTERNAL_FORMAT   0x8D44
   1.774 +#define GL_RENDERBUFFER_RED_SIZE          0x8D50
   1.775 +#define GL_RENDERBUFFER_GREEN_SIZE        0x8D51
   1.776 +#define GL_RENDERBUFFER_BLUE_SIZE         0x8D52
   1.777 +#define GL_RENDERBUFFER_ALPHA_SIZE        0x8D53
   1.778 +#define GL_RENDERBUFFER_DEPTH_SIZE        0x8D54
   1.779 +#define GL_RENDERBUFFER_STENCIL_SIZE      0x8D55
   1.780 +
   1.781 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE           0x8CD0
   1.782 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME           0x8CD1
   1.783 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL         0x8CD2
   1.784 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
   1.785 +
   1.786 +#define GL_COLOR_ATTACHMENT0              0x8CE0
   1.787 +#define GL_DEPTH_ATTACHMENT               0x8D00
   1.788 +#define GL_STENCIL_ATTACHMENT             0x8D20
   1.789 +
   1.790 +#define GL_NONE                           0
   1.791 +
   1.792 +#define GL_FRAMEBUFFER_COMPLETE                      0x8CD5
   1.793 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT         0x8CD6
   1.794 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
   1.795 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS         0x8CD9
   1.796 +#define GL_FRAMEBUFFER_UNSUPPORTED                   0x8CDD
   1.797 +
   1.798 +#define GL_FRAMEBUFFER_BINDING            0x8CA6
   1.799 +#define GL_RENDERBUFFER_BINDING           0x8CA7
   1.800 +#define GL_MAX_RENDERBUFFER_SIZE          0x84E8
   1.801 +
   1.802 +#define GL_INVALID_FRAMEBUFFER_OPERATION  0x0506
   1.803 +
   1.804 +/*-------------------------------------------------------------------------
   1.805 + * GL core functions.
   1.806 + *-----------------------------------------------------------------------*/
   1.807 +
   1.808 +GL_APICALL void         GL_APIENTRY glActiveTexture (GLenum texture);
   1.809 +GL_APICALL void         GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
   1.810 +GL_APICALL void         GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name);
   1.811 +GL_APICALL void         GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
   1.812 +GL_APICALL void         GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
   1.813 +GL_APICALL void         GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
   1.814 +GL_APICALL void         GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
   1.815 +GL_APICALL void         GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
   1.816 +GL_APICALL void         GL_APIENTRY glBlendEquation ( GLenum mode );
   1.817 +GL_APICALL void         GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
   1.818 +GL_APICALL void         GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
   1.819 +GL_APICALL void         GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
   1.820 +GL_APICALL void         GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
   1.821 +GL_APICALL void         GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
   1.822 +GL_APICALL GLenum       GL_APIENTRY glCheckFramebufferStatus (GLenum target);
   1.823 +GL_APICALL void         GL_APIENTRY glClear (GLbitfield mask);
   1.824 +GL_APICALL void         GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
   1.825 +GL_APICALL void         GL_APIENTRY glClearDepthf (GLclampf depth);
   1.826 +GL_APICALL void         GL_APIENTRY glClearStencil (GLint s);
   1.827 +GL_APICALL void         GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
   1.828 +GL_APICALL void         GL_APIENTRY glCompileShader (GLuint shader);
   1.829 +GL_APICALL void         GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
   1.830 +GL_APICALL void         GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
   1.831 +GL_APICALL void         GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
   1.832 +GL_APICALL void         GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1.833 +GL_APICALL GLuint       GL_APIENTRY glCreateProgram (void);
   1.834 +GL_APICALL GLuint       GL_APIENTRY glCreateShader (GLenum type);
   1.835 +GL_APICALL void         GL_APIENTRY glCullFace (GLenum mode);
   1.836 +GL_APICALL void         GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers);
   1.837 +GL_APICALL void         GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers);
   1.838 +GL_APICALL void         GL_APIENTRY glDeleteProgram (GLuint program);
   1.839 +GL_APICALL void         GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers);
   1.840 +GL_APICALL void         GL_APIENTRY glDeleteShader (GLuint shader);
   1.841 +GL_APICALL void         GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures);
   1.842 +GL_APICALL void         GL_APIENTRY glDepthFunc (GLenum func);
   1.843 +GL_APICALL void         GL_APIENTRY glDepthMask (GLboolean flag);
   1.844 +GL_APICALL void         GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar);
   1.845 +GL_APICALL void         GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
   1.846 +GL_APICALL void         GL_APIENTRY glDisable (GLenum cap);
   1.847 +GL_APICALL void         GL_APIENTRY glDisableVertexAttribArray (GLuint index);
   1.848 +GL_APICALL void         GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
   1.849 +GL_APICALL void         GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
   1.850 +GL_APICALL void         GL_APIENTRY glEnable (GLenum cap);
   1.851 +GL_APICALL void         GL_APIENTRY glEnableVertexAttribArray (GLuint index);
   1.852 +GL_APICALL void         GL_APIENTRY glFinish (void);
   1.853 +GL_APICALL void         GL_APIENTRY glFlush (void);
   1.854 +GL_APICALL void         GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
   1.855 +GL_APICALL void         GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
   1.856 +GL_APICALL void         GL_APIENTRY glFrontFace (GLenum mode);
   1.857 +GL_APICALL void         GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers);
   1.858 +GL_APICALL void         GL_APIENTRY glGenerateMipmap (GLenum target);
   1.859 +GL_APICALL void         GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers);
   1.860 +GL_APICALL void         GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);
   1.861 +GL_APICALL void         GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures);
   1.862 +GL_APICALL void         GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
   1.863 +GL_APICALL void         GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
   1.864 +GL_APICALL void         GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
   1.865 +GL_APICALL int          GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);
   1.866 +GL_APICALL void         GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params);
   1.867 +GL_APICALL void         GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
   1.868 +GL_APICALL GLenum       GL_APIENTRY glGetError (void);
   1.869 +GL_APICALL void         GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params);
   1.870 +GL_APICALL void         GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
   1.871 +GL_APICALL void         GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params);
   1.872 +GL_APICALL void         GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params);
   1.873 +GL_APICALL void         GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
   1.874 +GL_APICALL void         GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);
   1.875 +GL_APICALL void         GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params);
   1.876 +GL_APICALL void         GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
   1.877 +GL_APICALL void         GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
   1.878 +GL_APICALL void         GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
   1.879 +GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name);
   1.880 +GL_APICALL void         GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);
   1.881 +GL_APICALL void         GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
   1.882 +GL_APICALL void         GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params);
   1.883 +GL_APICALL void         GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params);
   1.884 +GL_APICALL int          GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);
   1.885 +GL_APICALL void         GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
   1.886 +GL_APICALL void         GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
   1.887 +GL_APICALL void         GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);
   1.888 +GL_APICALL void         GL_APIENTRY glHint (GLenum target, GLenum mode);
   1.889 +GL_APICALL GLboolean    GL_APIENTRY glIsBuffer (GLuint buffer);
   1.890 +GL_APICALL GLboolean    GL_APIENTRY glIsEnabled (GLenum cap);
   1.891 +GL_APICALL GLboolean    GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
   1.892 +GL_APICALL GLboolean    GL_APIENTRY glIsProgram (GLuint program);
   1.893 +GL_APICALL GLboolean    GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
   1.894 +GL_APICALL GLboolean    GL_APIENTRY glIsShader (GLuint shader);
   1.895 +GL_APICALL GLboolean    GL_APIENTRY glIsTexture (GLuint texture);
   1.896 +GL_APICALL void         GL_APIENTRY glLineWidth (GLfloat width);
   1.897 +GL_APICALL void         GL_APIENTRY glLinkProgram (GLuint program);
   1.898 +GL_APICALL void         GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
   1.899 +GL_APICALL void         GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
   1.900 +GL_APICALL void         GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
   1.901 +GL_APICALL void         GL_APIENTRY glReleaseShaderCompiler (void);
   1.902 +GL_APICALL void         GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
   1.903 +GL_APICALL void         GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
   1.904 +GL_APICALL void         GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
   1.905 +GL_APICALL void         GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
   1.906 +GL_APICALL void         GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
   1.907 +GL_APICALL void         GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
   1.908 +GL_APICALL void         GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
   1.909 +GL_APICALL void         GL_APIENTRY glStencilMask (GLuint mask);
   1.910 +GL_APICALL void         GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
   1.911 +GL_APICALL void         GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
   1.912 +GL_APICALL void         GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
   1.913 +GL_APICALL void         GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
   1.914 +GL_APICALL void         GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
   1.915 +GL_APICALL void         GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params);
   1.916 +GL_APICALL void         GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
   1.917 +GL_APICALL void         GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params);
   1.918 +GL_APICALL void         GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
   1.919 +GL_APICALL void         GL_APIENTRY glUniform1f (GLint location, GLfloat x);
   1.920 +GL_APICALL void         GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v);
   1.921 +GL_APICALL void         GL_APIENTRY glUniform1i (GLint location, GLint x);
   1.922 +GL_APICALL void         GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v);
   1.923 +GL_APICALL void         GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y);
   1.924 +GL_APICALL void         GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v);
   1.925 +GL_APICALL void         GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y);
   1.926 +GL_APICALL void         GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v);
   1.927 +GL_APICALL void         GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z);
   1.928 +GL_APICALL void         GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v);
   1.929 +GL_APICALL void         GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z);
   1.930 +GL_APICALL void         GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v);
   1.931 +GL_APICALL void         GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1.932 +GL_APICALL void         GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v);
   1.933 +GL_APICALL void         GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w);
   1.934 +GL_APICALL void         GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v);
   1.935 +GL_APICALL void         GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
   1.936 +GL_APICALL void         GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
   1.937 +GL_APICALL void         GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
   1.938 +GL_APICALL void         GL_APIENTRY glUseProgram (GLuint program);
   1.939 +GL_APICALL void         GL_APIENTRY glValidateProgram (GLuint program);
   1.940 +GL_APICALL void         GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x);
   1.941 +GL_APICALL void         GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values);
   1.942 +GL_APICALL void         GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y);
   1.943 +GL_APICALL void         GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values);
   1.944 +GL_APICALL void         GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z);
   1.945 +GL_APICALL void         GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values);
   1.946 +GL_APICALL void         GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1.947 +GL_APICALL void         GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values);
   1.948 +GL_APICALL void         GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
   1.949 +GL_APICALL void         GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
   1.950 +
   1.951 +#ifdef __cplusplus
   1.952 +}
   1.953 +#endif
   1.954 +
   1.955 +#endif /* __gl2_h_ */
   1.956 +
   1.957 +
   1.958 +#ifndef __gl2ext_h_
   1.959 +#define __gl2ext_h_
   1.960 +
   1.961 +/* $Revision: 19436 $ on $Date:: 2012-10-10 10:37:04 -0700 #$ */
   1.962 +
   1.963 +#ifdef __cplusplus
   1.964 +extern "C" {
   1.965 +#endif
   1.966 +
   1.967 +/*
   1.968 + * This document is licensed under the SGI Free Software B License Version
   1.969 + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
   1.970 + */
   1.971 +
   1.972 +#ifndef GL_APIENTRYP
   1.973 +#   define GL_APIENTRYP GL_APIENTRY*
   1.974 +#endif
   1.975 +
   1.976 +/*------------------------------------------------------------------------*
   1.977 + * OES extension tokens
   1.978 + *------------------------------------------------------------------------*/
   1.979 +
   1.980 +/* GL_OES_compressed_ETC1_RGB8_texture */
   1.981 +#ifndef GL_OES_compressed_ETC1_RGB8_texture
   1.982 +#define GL_ETC1_RGB8_OES                                        0x8D64
   1.983 +#endif
   1.984 +
   1.985 +/* GL_OES_compressed_paletted_texture */
   1.986 +#ifndef GL_OES_compressed_paletted_texture
   1.987 +#define GL_PALETTE4_RGB8_OES                                    0x8B90
   1.988 +#define GL_PALETTE4_RGBA8_OES                                   0x8B91
   1.989 +#define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
   1.990 +#define GL_PALETTE4_RGBA4_OES                                   0x8B93
   1.991 +#define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
   1.992 +#define GL_PALETTE8_RGB8_OES                                    0x8B95
   1.993 +#define GL_PALETTE8_RGBA8_OES                                   0x8B96
   1.994 +#define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
   1.995 +#define GL_PALETTE8_RGBA4_OES                                   0x8B98
   1.996 +#define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
   1.997 +#endif
   1.998 +
   1.999 +/* GL_OES_depth24 */
  1.1000 +#ifndef GL_OES_depth24
  1.1001 +#define GL_DEPTH_COMPONENT24_OES                                0x81A6
  1.1002 +#endif
  1.1003 +
  1.1004 +/* GL_OES_depth32 */
  1.1005 +#ifndef GL_OES_depth32
  1.1006 +#define GL_DEPTH_COMPONENT32_OES                                0x81A7
  1.1007 +#endif
  1.1008 +
  1.1009 +/* GL_OES_depth_texture */
  1.1010 +/* No new tokens introduced by this extension. */
  1.1011 +
  1.1012 +/* GL_OES_EGL_image */
  1.1013 +#ifndef GL_OES_EGL_image
  1.1014 +typedef void* GLeglImageOES;
  1.1015 +#endif
  1.1016 +
  1.1017 +/* GL_OES_EGL_image_external */
  1.1018 +#ifndef GL_OES_EGL_image_external
  1.1019 +/* GLeglImageOES defined in GL_OES_EGL_image already. */
  1.1020 +#define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
  1.1021 +#define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
  1.1022 +#define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
  1.1023 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
  1.1024 +#endif
  1.1025 +
  1.1026 +/* GL_OES_element_index_uint */
  1.1027 +#ifndef GL_OES_element_index_uint
  1.1028 +#define GL_UNSIGNED_INT                                         0x1405
  1.1029 +#endif
  1.1030 +
  1.1031 +/* GL_OES_get_program_binary */
  1.1032 +#ifndef GL_OES_get_program_binary
  1.1033 +#define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
  1.1034 +#define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
  1.1035 +#define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
  1.1036 +#endif
  1.1037 +
  1.1038 +/* GL_OES_mapbuffer */
  1.1039 +#ifndef GL_OES_mapbuffer
  1.1040 +#define GL_WRITE_ONLY_OES                                       0x88B9
  1.1041 +#define GL_BUFFER_ACCESS_OES                                    0x88BB
  1.1042 +#define GL_BUFFER_MAPPED_OES                                    0x88BC
  1.1043 +#define GL_BUFFER_MAP_POINTER_OES                               0x88BD
  1.1044 +#endif
  1.1045 +
  1.1046 +/* GL_OES_packed_depth_stencil */
  1.1047 +#ifndef GL_OES_packed_depth_stencil
  1.1048 +#define GL_DEPTH_STENCIL_OES                                    0x84F9
  1.1049 +#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
  1.1050 +#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
  1.1051 +#endif
  1.1052 +
  1.1053 +/* GL_OES_required_internalformat */
  1.1054 +#ifndef GL_OES_required_internalformat 
  1.1055 +#define GL_ALPHA8_OES                                           0x803C
  1.1056 +#define GL_DEPTH_COMPONENT16_OES                                0x81A5
  1.1057 +/* reuse GL_DEPTH_COMPONENT24_OES */                            
  1.1058 +/* reuse GL_DEPTH24_STENCIL8_OES */                             
  1.1059 +/* reuse GL_DEPTH_COMPONENT32_OES */                            
  1.1060 +#define GL_LUMINANCE4_ALPHA4_OES                                0x8043
  1.1061 +#define GL_LUMINANCE8_ALPHA8_OES                                0x8045
  1.1062 +#define GL_LUMINANCE8_OES                                       0x8040
  1.1063 +#define GL_RGBA4_OES                                            0x8056
  1.1064 +#define GL_RGB5_A1_OES                                          0x8057
  1.1065 +#define GL_RGB565_OES                                           0x8D62
  1.1066 +/* reuse GL_RGB8_OES */                              
  1.1067 +/* reuse GL_RGBA8_OES */  
  1.1068 +/* reuse GL_RGB10_EXT */
  1.1069 +/* reuse GL_RGB10_A2_EXT */
  1.1070 +#endif 
  1.1071 +
  1.1072 +/* GL_OES_rgb8_rgba8 */
  1.1073 +#ifndef GL_OES_rgb8_rgba8
  1.1074 +#define GL_RGB8_OES                                             0x8051
  1.1075 +#define GL_RGBA8_OES                                            0x8058
  1.1076 +#endif
  1.1077 +
  1.1078 +/* GL_OES_standard_derivatives */
  1.1079 +#ifndef GL_OES_standard_derivatives
  1.1080 +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
  1.1081 +#endif
  1.1082 +
  1.1083 +/* GL_OES_stencil1 */
  1.1084 +#ifndef GL_OES_stencil1
  1.1085 +#define GL_STENCIL_INDEX1_OES                                   0x8D46
  1.1086 +#endif
  1.1087 +
  1.1088 +/* GL_OES_stencil4 */
  1.1089 +#ifndef GL_OES_stencil4
  1.1090 +#define GL_STENCIL_INDEX4_OES                                   0x8D47
  1.1091 +#endif
  1.1092 +
  1.1093 +#ifndef GL_OES_surfaceless_context
  1.1094 +#define GL_FRAMEBUFFER_UNDEFINED_OES                            0x8219
  1.1095 +#endif
  1.1096 +
  1.1097 +/* GL_OES_texture_3D */
  1.1098 +#ifndef GL_OES_texture_3D
  1.1099 +#define GL_TEXTURE_WRAP_R_OES                                   0x8072
  1.1100 +#define GL_TEXTURE_3D_OES                                       0x806F
  1.1101 +#define GL_TEXTURE_BINDING_3D_OES                               0x806A
  1.1102 +#define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
  1.1103 +#define GL_SAMPLER_3D_OES                                       0x8B5F
  1.1104 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
  1.1105 +#endif
  1.1106 +
  1.1107 +/* GL_OES_texture_float */
  1.1108 +/* No new tokens introduced by this extension. */
  1.1109 +
  1.1110 +/* GL_OES_texture_float_linear */
  1.1111 +/* No new tokens introduced by this extension. */
  1.1112 +
  1.1113 +/* GL_OES_texture_half_float */
  1.1114 +#ifndef GL_OES_texture_half_float
  1.1115 +#define GL_HALF_FLOAT_OES                                       0x8D61
  1.1116 +#endif
  1.1117 +
  1.1118 +/* GL_OES_texture_half_float_linear */
  1.1119 +/* No new tokens introduced by this extension. */
  1.1120 +
  1.1121 +/* GL_OES_texture_npot */
  1.1122 +/* No new tokens introduced by this extension. */
  1.1123 +
  1.1124 +/* GL_OES_vertex_array_object */
  1.1125 +#ifndef GL_OES_vertex_array_object
  1.1126 +#define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
  1.1127 +#endif
  1.1128 +
  1.1129 +/* GL_OES_vertex_half_float */
  1.1130 +/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
  1.1131 +
  1.1132 +/* GL_OES_vertex_type_10_10_10_2 */
  1.1133 +#ifndef GL_OES_vertex_type_10_10_10_2
  1.1134 +#define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
  1.1135 +#define GL_INT_10_10_10_2_OES                                   0x8DF7
  1.1136 +#endif
  1.1137 +
  1.1138 +/*------------------------------------------------------------------------*
  1.1139 + * KHR extension tokens
  1.1140 + *------------------------------------------------------------------------*/
  1.1141 +
  1.1142 +#ifndef GL_KHR_debug
  1.1143 +typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
  1.1144 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS                             0x8242
  1.1145 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH                     0x8243
  1.1146 +#define GL_DEBUG_CALLBACK_FUNCTION                              0x8244
  1.1147 +#define GL_DEBUG_CALLBACK_USER_PARAM                            0x8245
  1.1148 +#define GL_DEBUG_SOURCE_API                                     0x8246
  1.1149 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM                           0x8247
  1.1150 +#define GL_DEBUG_SOURCE_SHADER_COMPILER                         0x8248
  1.1151 +#define GL_DEBUG_SOURCE_THIRD_PARTY                             0x8249
  1.1152 +#define GL_DEBUG_SOURCE_APPLICATION                             0x824A
  1.1153 +#define GL_DEBUG_SOURCE_OTHER                                   0x824B
  1.1154 +#define GL_DEBUG_TYPE_ERROR                                     0x824C
  1.1155 +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR                       0x824D
  1.1156 +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR                        0x824E
  1.1157 +#define GL_DEBUG_TYPE_PORTABILITY                               0x824F
  1.1158 +#define GL_DEBUG_TYPE_PERFORMANCE                               0x8250
  1.1159 +#define GL_DEBUG_TYPE_OTHER                                     0x8251
  1.1160 +#define GL_DEBUG_TYPE_MARKER                                    0x8268
  1.1161 +#define GL_DEBUG_TYPE_PUSH_GROUP                                0x8269
  1.1162 +#define GL_DEBUG_TYPE_POP_GROUP                                 0x826A
  1.1163 +#define GL_DEBUG_SEVERITY_NOTIFICATION                          0x826B
  1.1164 +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH                          0x826C
  1.1165 +#define GL_DEBUG_GROUP_STACK_DEPTH                              0x826D
  1.1166 +#define GL_BUFFER                                               0x82E0
  1.1167 +#define GL_SHADER                                               0x82E1
  1.1168 +#define GL_PROGRAM                                              0x82E2
  1.1169 +#define GL_QUERY                                                0x82E3
  1.1170 +/* PROGRAM_PIPELINE only in GL */                               
  1.1171 +#define GL_SAMPLER                                              0x82E6
  1.1172 +/* DISPLAY_LIST only in GL */                                   
  1.1173 +#define GL_MAX_LABEL_LENGTH                                     0x82E8
  1.1174 +#define GL_MAX_DEBUG_MESSAGE_LENGTH                             0x9143
  1.1175 +#define GL_MAX_DEBUG_LOGGED_MESSAGES                            0x9144
  1.1176 +#define GL_DEBUG_LOGGED_MESSAGES                                0x9145
  1.1177 +#define GL_DEBUG_SEVERITY_HIGH                                  0x9146
  1.1178 +#define GL_DEBUG_SEVERITY_MEDIUM                                0x9147
  1.1179 +#define GL_DEBUG_SEVERITY_LOW                                   0x9148
  1.1180 +#define GL_DEBUG_OUTPUT                                         0x92E0
  1.1181 +#define GL_CONTEXT_FLAG_DEBUG_BIT                               0x00000002
  1.1182 +#define GL_STACK_OVERFLOW                                       0x0503
  1.1183 +#define GL_STACK_UNDERFLOW                                      0x0504
  1.1184 +#endif
  1.1185 +
  1.1186 +#ifndef GL_KHR_texture_compression_astc_ldr
  1.1187 +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                         0x93B0
  1.1188 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                         0x93B1
  1.1189 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                         0x93B2
  1.1190 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                         0x93B3
  1.1191 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                         0x93B4
  1.1192 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                         0x93B5
  1.1193 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                         0x93B6
  1.1194 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                         0x93B7
  1.1195 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                        0x93B8
  1.1196 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                        0x93B9
  1.1197 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                        0x93BA
  1.1198 +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                       0x93BB
  1.1199 +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                       0x93BC
  1.1200 +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                       0x93BD
  1.1201 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                 0x93D0
  1.1202 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                 0x93D1
  1.1203 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                 0x93D2
  1.1204 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                 0x93D3
  1.1205 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                 0x93D4
  1.1206 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                 0x93D5
  1.1207 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                 0x93D6
  1.1208 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                 0x93D7
  1.1209 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                0x93D8
  1.1210 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                0x93D9
  1.1211 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                0x93DA
  1.1212 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR               0x93DB
  1.1213 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR               0x93DC
  1.1214 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR               0x93DD
  1.1215 +#endif
  1.1216 +
  1.1217 +/*------------------------------------------------------------------------*
  1.1218 + * AMD extension tokens
  1.1219 + *------------------------------------------------------------------------*/
  1.1220 +
  1.1221 +/* GL_AMD_compressed_3DC_texture */
  1.1222 +#ifndef GL_AMD_compressed_3DC_texture
  1.1223 +#define GL_3DC_X_AMD                                            0x87F9
  1.1224 +#define GL_3DC_XY_AMD                                           0x87FA
  1.1225 +#endif
  1.1226 +
  1.1227 +/* GL_AMD_compressed_ATC_texture */
  1.1228 +#ifndef GL_AMD_compressed_ATC_texture
  1.1229 +#define GL_ATC_RGB_AMD                                          0x8C92
  1.1230 +#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
  1.1231 +#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
  1.1232 +#endif
  1.1233 +
  1.1234 +/* GL_AMD_performance_monitor */
  1.1235 +#ifndef GL_AMD_performance_monitor
  1.1236 +#define GL_COUNTER_TYPE_AMD                                     0x8BC0
  1.1237 +#define GL_COUNTER_RANGE_AMD                                    0x8BC1
  1.1238 +#define GL_UNSIGNED_INT64_AMD                                   0x8BC2
  1.1239 +#define GL_PERCENTAGE_AMD                                       0x8BC3
  1.1240 +#define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
  1.1241 +#define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
  1.1242 +#define GL_PERFMON_RESULT_AMD                                   0x8BC6
  1.1243 +#endif
  1.1244 +
  1.1245 +/* GL_AMD_program_binary_Z400 */
  1.1246 +#ifndef GL_AMD_program_binary_Z400
  1.1247 +#define GL_Z400_BINARY_AMD                                      0x8740
  1.1248 +#endif
  1.1249 +
  1.1250 +/*------------------------------------------------------------------------*
  1.1251 + * ANGLE extension tokens
  1.1252 + *------------------------------------------------------------------------*/
  1.1253 +
  1.1254 +/* GL_ANGLE_framebuffer_blit */
  1.1255 +#ifndef GL_ANGLE_framebuffer_blit
  1.1256 +#define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
  1.1257 +#define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
  1.1258 +#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
  1.1259 +#define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
  1.1260 +#endif
  1.1261 +
  1.1262 +/* GL_ANGLE_framebuffer_multisample */
  1.1263 +#ifndef GL_ANGLE_framebuffer_multisample
  1.1264 +#define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
  1.1265 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
  1.1266 +#define GL_MAX_SAMPLES_ANGLE                                    0x8D57
  1.1267 +#endif
  1.1268 +
  1.1269 +/* GL_ANGLE_instanced_arrays */
  1.1270 +#ifndef GL_ANGLE_instanced_arrays 
  1.1271 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
  1.1272 +#endif
  1.1273 +
  1.1274 +/* GL_ANGLE_pack_reverse_row_order */
  1.1275 +#ifndef GL_ANGLE_pack_reverse_row_order 
  1.1276 +#define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
  1.1277 +#endif
  1.1278 +
  1.1279 +/* GL_ANGLE_texture_compression_dxt3 */
  1.1280 +#ifndef GL_ANGLE_texture_compression_dxt3 
  1.1281 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
  1.1282 +#endif
  1.1283 +
  1.1284 +/* GL_ANGLE_texture_compression_dxt5 */
  1.1285 +#ifndef GL_ANGLE_texture_compression_dxt5 
  1.1286 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
  1.1287 +#endif
  1.1288 +
  1.1289 +/* GL_ANGLE_texture_usage */
  1.1290 +#ifndef GL_ANGLE_texture_usage 
  1.1291 +#define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
  1.1292 +#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
  1.1293 +#endif
  1.1294 +
  1.1295 +/* GL_ANGLE_translated_shader_source */
  1.1296 +#ifndef GL_ANGLE_translated_shader_source 
  1.1297 +#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
  1.1298 +#endif
  1.1299 +
  1.1300 +/*------------------------------------------------------------------------*
  1.1301 + * APPLE extension tokens
  1.1302 + *------------------------------------------------------------------------*/
  1.1303 +
  1.1304 +/* GL_APPLE_copy_texture_levels */
  1.1305 +/* No new tokens introduced by this extension. */
  1.1306 +    
  1.1307 +/* GL_APPLE_framebuffer_multisample */
  1.1308 +#ifndef GL_APPLE_framebuffer_multisample
  1.1309 +#define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
  1.1310 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
  1.1311 +#define GL_MAX_SAMPLES_APPLE                                    0x8D57
  1.1312 +#define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
  1.1313 +#define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
  1.1314 +#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
  1.1315 +#define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
  1.1316 +#endif
  1.1317 +
  1.1318 +/* GL_APPLE_rgb_422 */
  1.1319 +#ifndef GL_APPLE_rgb_422
  1.1320 +#define GL_RGB_422_APPLE                                        0x8A1F
  1.1321 +#define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
  1.1322 +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
  1.1323 +#endif
  1.1324 +
  1.1325 +/* GL_APPLE_sync */
  1.1326 +#ifndef GL_APPLE_sync
  1.1327 +
  1.1328 +#ifndef __gl3_h_
  1.1329 +/* These types are defined with reference to <inttypes.h>
  1.1330 + * in the Apple extension spec, but here we use the Khronos
  1.1331 + * portable types in khrplatform.h, and assume those types 
  1.1332 + * are always defined.
  1.1333 + * If any other extensions using these types are defined, 
  1.1334 + * the typedefs must move out of this block and be shared.
  1.1335 + */
  1.1336 +typedef khronos_int64_t GLint64;
  1.1337 +typedef khronos_uint64_t GLuint64;
  1.1338 +typedef struct __GLsync *GLsync;
  1.1339 +#endif
  1.1340 +
  1.1341 +#define GL_SYNC_OBJECT_APPLE                                    0x8A53
  1.1342 +#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
  1.1343 +#define GL_OBJECT_TYPE_APPLE                                    0x9112
  1.1344 +#define GL_SYNC_CONDITION_APPLE                                 0x9113
  1.1345 +#define GL_SYNC_STATUS_APPLE                                    0x9114
  1.1346 +#define GL_SYNC_FLAGS_APPLE                                     0x9115
  1.1347 +#define GL_SYNC_FENCE_APPLE                                     0x9116
  1.1348 +#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
  1.1349 +#define GL_UNSIGNALED_APPLE                                     0x9118
  1.1350 +#define GL_SIGNALED_APPLE                                       0x9119
  1.1351 +#define GL_ALREADY_SIGNALED_APPLE                               0x911A
  1.1352 +#define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
  1.1353 +#define GL_CONDITION_SATISFIED_APPLE                            0x911C
  1.1354 +#define GL_WAIT_FAILED_APPLE                                    0x911D
  1.1355 +#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
  1.1356 +#define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
  1.1357 +#endif
  1.1358 +
  1.1359 +/* GL_APPLE_texture_format_BGRA8888 */
  1.1360 +#ifndef GL_APPLE_texture_format_BGRA8888
  1.1361 +#define GL_BGRA_EXT                                             0x80E1
  1.1362 +#endif
  1.1363 +
  1.1364 +/* GL_APPLE_texture_max_level */
  1.1365 +#ifndef GL_APPLE_texture_max_level
  1.1366 +#define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
  1.1367 +#endif
  1.1368 +
  1.1369 +/*------------------------------------------------------------------------*
  1.1370 + * ARM extension tokens
  1.1371 + *------------------------------------------------------------------------*/
  1.1372 +
  1.1373 +/* GL_ARM_mali_program_binary */
  1.1374 +#ifndef GL_ARM_mali_program_binary
  1.1375 +#define GL_MALI_PROGRAM_BINARY_ARM                              0x8F61
  1.1376 +#endif
  1.1377 +
  1.1378 +/* GL_ARM_mali_shader_binary */
  1.1379 +#ifndef GL_ARM_mali_shader_binary
  1.1380 +#define GL_MALI_SHADER_BINARY_ARM                               0x8F60
  1.1381 +#endif
  1.1382 +
  1.1383 +/* GL_ARM_rgba8 */
  1.1384 +/* No new tokens introduced by this extension. */
  1.1385 +
  1.1386 +/*------------------------------------------------------------------------*
  1.1387 + * EXT extension tokens
  1.1388 + *------------------------------------------------------------------------*/
  1.1389 +
  1.1390 +/* GL_EXT_blend_minmax */
  1.1391 +#ifndef GL_EXT_blend_minmax
  1.1392 +#define GL_MIN_EXT                                              0x8007
  1.1393 +#define GL_MAX_EXT                                              0x8008
  1.1394 +#endif
  1.1395 +
  1.1396 +/* GL_EXT_color_buffer_half_float */
  1.1397 +#ifndef GL_EXT_color_buffer_half_float
  1.1398 +#define GL_RGBA16F_EXT                                          0x881A
  1.1399 +#define GL_RGB16F_EXT                                           0x881B
  1.1400 +#define GL_RG16F_EXT                                            0x822F
  1.1401 +#define GL_R16F_EXT                                             0x822D
  1.1402 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
  1.1403 +#define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
  1.1404 +#endif
  1.1405 +
  1.1406 +/* GL_EXT_debug_label */
  1.1407 +#ifndef GL_EXT_debug_label
  1.1408 +#define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
  1.1409 +#define GL_PROGRAM_OBJECT_EXT                                   0x8B40
  1.1410 +#define GL_SHADER_OBJECT_EXT                                    0x8B48
  1.1411 +#define GL_BUFFER_OBJECT_EXT                                    0x9151
  1.1412 +#define GL_QUERY_OBJECT_EXT                                     0x9153
  1.1413 +#define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
  1.1414 +#endif
  1.1415 +
  1.1416 +/* GL_EXT_debug_marker */
  1.1417 +/* No new tokens introduced by this extension. */
  1.1418 +
  1.1419 +/* GL_EXT_discard_framebuffer */
  1.1420 +#ifndef GL_EXT_discard_framebuffer
  1.1421 +#define GL_COLOR_EXT                                            0x1800
  1.1422 +#define GL_DEPTH_EXT                                            0x1801
  1.1423 +#define GL_STENCIL_EXT                                          0x1802
  1.1424 +#endif
  1.1425 +
  1.1426 +/* GL_EXT_map_buffer_range */
  1.1427 +#ifndef GL_EXT_map_buffer_range
  1.1428 +#define GL_MAP_READ_BIT_EXT                                     0x0001
  1.1429 +#define GL_MAP_WRITE_BIT_EXT                                    0x0002
  1.1430 +#define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
  1.1431 +#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
  1.1432 +#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
  1.1433 +#define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
  1.1434 +#endif
  1.1435 +
  1.1436 +/* GL_EXT_multisampled_render_to_texture */
  1.1437 +#ifndef GL_EXT_multisampled_render_to_texture
  1.1438 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
  1.1439 +/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ 
  1.1440 +#define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
  1.1441 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
  1.1442 +#define GL_MAX_SAMPLES_EXT                                      0x8D57
  1.1443 +#endif
  1.1444 +
  1.1445 +/* GL_EXT_multiview_draw_buffers */
  1.1446 +#ifndef GL_EXT_multiview_draw_buffers
  1.1447 +#define GL_COLOR_ATTACHMENT_EXT                                 0x90F0
  1.1448 +#define GL_MULTIVIEW_EXT                                        0x90F1
  1.1449 +#define GL_DRAW_BUFFER_EXT                                      0x0C01
  1.1450 +#define GL_READ_BUFFER_EXT                                      0x0C02
  1.1451 +#define GL_MAX_MULTIVIEW_BUFFERS_EXT                            0x90F2
  1.1452 +#endif
  1.1453 +
  1.1454 +/* GL_EXT_multi_draw_arrays */
  1.1455 +/* No new tokens introduced by this extension. */
  1.1456 +
  1.1457 +/* GL_EXT_occlusion_query_boolean */
  1.1458 +#ifndef GL_EXT_occlusion_query_boolean
  1.1459 +#define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
  1.1460 +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
  1.1461 +#define GL_CURRENT_QUERY_EXT                                    0x8865
  1.1462 +#define GL_QUERY_RESULT_EXT                                     0x8866
  1.1463 +#define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
  1.1464 +#endif
  1.1465 +
  1.1466 +/* GL_EXT_read_format_bgra */
  1.1467 +#ifndef GL_EXT_read_format_bgra
  1.1468 +#define GL_BGRA_EXT                                             0x80E1
  1.1469 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
  1.1470 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
  1.1471 +#endif
  1.1472 +
  1.1473 +/* GL_EXT_robustness */
  1.1474 +#ifndef GL_EXT_robustness
  1.1475 +/* reuse GL_NO_ERROR */
  1.1476 +#define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
  1.1477 +#define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
  1.1478 +#define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
  1.1479 +#define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
  1.1480 +#define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
  1.1481 +#define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
  1.1482 +#define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
  1.1483 +#endif
  1.1484 +
  1.1485 +/* GL_EXT_separate_shader_objects */
  1.1486 +#ifndef GL_EXT_separate_shader_objects
  1.1487 +#define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
  1.1488 +#define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
  1.1489 +#define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
  1.1490 +#define GL_PROGRAM_SEPARABLE_EXT                                0x8258
  1.1491 +#define GL_ACTIVE_PROGRAM_EXT                                   0x8259
  1.1492 +#define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
  1.1493 +#endif
  1.1494 +
  1.1495 +/* GL_EXT_shader_framebuffer_fetch */
  1.1496 +#ifndef GL_EXT_shader_framebuffer_fetch
  1.1497 +#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                 0x8A52
  1.1498 +#endif
  1.1499 +
  1.1500 +/* GL_EXT_shader_texture_lod */
  1.1501 +/* No new tokens introduced by this extension. */
  1.1502 +
  1.1503 +/* GL_EXT_shadow_samplers */
  1.1504 +#ifndef GL_EXT_shadow_samplers
  1.1505 +#define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
  1.1506 +#define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
  1.1507 +#define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
  1.1508 +#define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
  1.1509 +#endif
  1.1510 +
  1.1511 +/* GL_EXT_sRGB */
  1.1512 +#ifndef GL_EXT_sRGB
  1.1513 +#define GL_SRGB_EXT                                             0x8C40
  1.1514 +#define GL_SRGB_ALPHA_EXT                                       0x8C42
  1.1515 +#define GL_SRGB8_ALPHA8_EXT                                     0x8C43
  1.1516 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
  1.1517 +#endif
  1.1518 +
  1.1519 +/* GL_EXT_texture_compression_dxt1 */
  1.1520 +#ifndef GL_EXT_texture_compression_dxt1
  1.1521 +#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
  1.1522 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
  1.1523 +#endif
  1.1524 +
  1.1525 +/* GL_EXT_texture_filter_anisotropic */
  1.1526 +#ifndef GL_EXT_texture_filter_anisotropic
  1.1527 +#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
  1.1528 +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
  1.1529 +#endif
  1.1530 +
  1.1531 +/* GL_EXT_texture_format_BGRA8888 */
  1.1532 +#ifndef GL_EXT_texture_format_BGRA8888
  1.1533 +#define GL_BGRA_EXT                                             0x80E1
  1.1534 +#endif
  1.1535 +
  1.1536 +/* GL_EXT_texture_rg */
  1.1537 +#ifndef GL_EXT_texture_rg
  1.1538 +#define GL_RED_EXT                                              0x1903
  1.1539 +#define GL_RG_EXT                                               0x8227
  1.1540 +#define GL_R8_EXT                                               0x8229
  1.1541 +#define GL_RG8_EXT                                              0x822B
  1.1542 +#endif
  1.1543 +
  1.1544 +/* GL_EXT_texture_storage */
  1.1545 +#ifndef GL_EXT_texture_storage
  1.1546 +#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
  1.1547 +#define GL_ALPHA8_EXT                                           0x803C  
  1.1548 +#define GL_LUMINANCE8_EXT                                       0x8040
  1.1549 +#define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
  1.1550 +#define GL_RGBA32F_EXT                                          0x8814  
  1.1551 +#define GL_RGB32F_EXT                                           0x8815
  1.1552 +#define GL_ALPHA32F_EXT                                         0x8816
  1.1553 +#define GL_LUMINANCE32F_EXT                                     0x8818
  1.1554 +#define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
  1.1555 +/* reuse GL_RGBA16F_EXT */
  1.1556 +/* reuse GL_RGB16F_EXT */
  1.1557 +#define GL_ALPHA16F_EXT                                         0x881C
  1.1558 +#define GL_LUMINANCE16F_EXT                                     0x881E
  1.1559 +#define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
  1.1560 +#define GL_RGB10_A2_EXT                                         0x8059  
  1.1561 +#define GL_RGB10_EXT                                            0x8052
  1.1562 +#define GL_BGRA8_EXT                                            0x93A1
  1.1563 +#define GL_R8_EXT                                               0x8229
  1.1564 +#define GL_RG8_EXT                                              0x822B
  1.1565 +#define GL_R32F_EXT                                             0x822E  
  1.1566 +#define GL_RG32F_EXT                                            0x8230
  1.1567 +#define GL_R16F_EXT                                             0x822D
  1.1568 +#define GL_RG16F_EXT                                            0x822F
  1.1569 +#endif
  1.1570 +
  1.1571 +/* GL_EXT_texture_type_2_10_10_10_REV */
  1.1572 +#ifndef GL_EXT_texture_type_2_10_10_10_REV
  1.1573 +#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
  1.1574 +#endif
  1.1575 +
  1.1576 +/* GL_EXT_unpack_subimage */
  1.1577 +#ifndef GL_EXT_unpack_subimage
  1.1578 +#define GL_UNPACK_ROW_LENGTH                                    0x0CF2
  1.1579 +#define GL_UNPACK_SKIP_ROWS                                     0x0CF3
  1.1580 +#define GL_UNPACK_SKIP_PIXELS                                   0x0CF4
  1.1581 +#endif
  1.1582 +
  1.1583 +/*------------------------------------------------------------------------*
  1.1584 + * DMP extension tokens
  1.1585 + *------------------------------------------------------------------------*/
  1.1586 +
  1.1587 +/* GL_DMP_shader_binary */
  1.1588 +#ifndef GL_DMP_shader_binary
  1.1589 +#define GL_SHADER_BINARY_DMP                                    0x9250
  1.1590 +#endif
  1.1591 +
  1.1592 +/*------------------------------------------------------------------------*
  1.1593 + * FJ extension tokens
  1.1594 + *------------------------------------------------------------------------*/
  1.1595 +
  1.1596 +/* GL_FJ_shader_binary_GCCSO */
  1.1597 +#ifndef GL_FJ_shader_binary_GCCSO
  1.1598 +#define GCCSO_SHADER_BINARY_FJ                                  0x9260
  1.1599 +#endif
  1.1600 +
  1.1601 +/*------------------------------------------------------------------------*
  1.1602 + * IMG extension tokens
  1.1603 + *------------------------------------------------------------------------*/
  1.1604 +
  1.1605 +/* GL_IMG_program_binary */
  1.1606 +#ifndef GL_IMG_program_binary
  1.1607 +#define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
  1.1608 +#endif
  1.1609 +
  1.1610 +/* GL_IMG_read_format */
  1.1611 +#ifndef GL_IMG_read_format
  1.1612 +#define GL_BGRA_IMG                                             0x80E1
  1.1613 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
  1.1614 +#endif
  1.1615 +
  1.1616 +/* GL_IMG_shader_binary */
  1.1617 +#ifndef GL_IMG_shader_binary
  1.1618 +#define GL_SGX_BINARY_IMG                                       0x8C0A
  1.1619 +#endif
  1.1620 +
  1.1621 +/* GL_IMG_texture_compression_pvrtc */
  1.1622 +#ifndef GL_IMG_texture_compression_pvrtc
  1.1623 +#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
  1.1624 +#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
  1.1625 +#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
  1.1626 +#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
  1.1627 +#endif
  1.1628 +
  1.1629 +/* GL_IMG_multisampled_render_to_texture */
  1.1630 +#ifndef GL_IMG_multisampled_render_to_texture
  1.1631 +#define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
  1.1632 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
  1.1633 +#define GL_MAX_SAMPLES_IMG                                      0x9135
  1.1634 +#define GL_TEXTURE_SAMPLES_IMG                                  0x9136
  1.1635 +#endif
  1.1636 +
  1.1637 +/*------------------------------------------------------------------------*
  1.1638 + * NV extension tokens
  1.1639 + *------------------------------------------------------------------------*/
  1.1640 +
  1.1641 +/* GL_NV_coverage_sample */
  1.1642 +#ifndef GL_NV_coverage_sample
  1.1643 +#define GL_COVERAGE_COMPONENT_NV                                0x8ED0
  1.1644 +#define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
  1.1645 +#define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
  1.1646 +#define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
  1.1647 +#define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
  1.1648 +#define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
  1.1649 +#define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
  1.1650 +#define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
  1.1651 +#define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
  1.1652 +#endif
  1.1653 +
  1.1654 +/* GL_NV_depth_nonlinear */
  1.1655 +#ifndef GL_NV_depth_nonlinear
  1.1656 +#define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
  1.1657 +#endif
  1.1658 +
  1.1659 +/* GL_NV_draw_buffers */
  1.1660 +#ifndef GL_NV_draw_buffers
  1.1661 +#define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
  1.1662 +#define GL_DRAW_BUFFER0_NV                                      0x8825
  1.1663 +#define GL_DRAW_BUFFER1_NV                                      0x8826
  1.1664 +#define GL_DRAW_BUFFER2_NV                                      0x8827
  1.1665 +#define GL_DRAW_BUFFER3_NV                                      0x8828
  1.1666 +#define GL_DRAW_BUFFER4_NV                                      0x8829
  1.1667 +#define GL_DRAW_BUFFER5_NV                                      0x882A
  1.1668 +#define GL_DRAW_BUFFER6_NV                                      0x882B
  1.1669 +#define GL_DRAW_BUFFER7_NV                                      0x882C
  1.1670 +#define GL_DRAW_BUFFER8_NV                                      0x882D
  1.1671 +#define GL_DRAW_BUFFER9_NV                                      0x882E
  1.1672 +#define GL_DRAW_BUFFER10_NV                                     0x882F
  1.1673 +#define GL_DRAW_BUFFER11_NV                                     0x8830
  1.1674 +#define GL_DRAW_BUFFER12_NV                                     0x8831
  1.1675 +#define GL_DRAW_BUFFER13_NV                                     0x8832
  1.1676 +#define GL_DRAW_BUFFER14_NV                                     0x8833
  1.1677 +#define GL_DRAW_BUFFER15_NV                                     0x8834
  1.1678 +#define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
  1.1679 +#define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
  1.1680 +#define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
  1.1681 +#define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
  1.1682 +#define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
  1.1683 +#define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
  1.1684 +#define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
  1.1685 +#define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
  1.1686 +#define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
  1.1687 +#define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
  1.1688 +#define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
  1.1689 +#define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
  1.1690 +#define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
  1.1691 +#define GL_COLOR_ATTACHMENT13_NV                                0x8CED
  1.1692 +#define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
  1.1693 +#define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
  1.1694 +#endif
  1.1695 +
  1.1696 +/* GL_NV_fbo_color_attachments */
  1.1697 +#ifndef GL_NV_fbo_color_attachments
  1.1698 +#define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
  1.1699 +/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
  1.1700 +#endif
  1.1701 +
  1.1702 +/* GL_NV_fence */
  1.1703 +#ifndef GL_NV_fence
  1.1704 +#define GL_ALL_COMPLETED_NV                                     0x84F2
  1.1705 +#define GL_FENCE_STATUS_NV                                      0x84F3
  1.1706 +#define GL_FENCE_CONDITION_NV                                   0x84F4
  1.1707 +#endif
  1.1708 +
  1.1709 +/* GL_NV_read_buffer */
  1.1710 +#ifndef GL_NV_read_buffer
  1.1711 +#define GL_READ_BUFFER_NV                                       0x0C02
  1.1712 +#endif
  1.1713 +
  1.1714 +/* GL_NV_read_buffer_front */
  1.1715 +/* No new tokens introduced by this extension. */
  1.1716 +
  1.1717 +/* GL_NV_read_depth */
  1.1718 +/* No new tokens introduced by this extension. */
  1.1719 +
  1.1720 +/* GL_NV_read_depth_stencil */
  1.1721 +/* No new tokens introduced by this extension. */
  1.1722 +
  1.1723 +/* GL_NV_read_stencil */
  1.1724 +/* No new tokens introduced by this extension. */
  1.1725 +
  1.1726 +/* GL_NV_texture_compression_s3tc_update */
  1.1727 +/* No new tokens introduced by this extension. */
  1.1728 +
  1.1729 +/* GL_NV_texture_npot_2D_mipmap */
  1.1730 +/* No new tokens introduced by this extension. */
  1.1731 +
  1.1732 +/*------------------------------------------------------------------------*
  1.1733 + * QCOM extension tokens
  1.1734 + *------------------------------------------------------------------------*/
  1.1735 +
  1.1736 +/* GL_QCOM_alpha_test */
  1.1737 +#ifndef GL_QCOM_alpha_test
  1.1738 +#define GL_ALPHA_TEST_QCOM                                      0x0BC0
  1.1739 +#define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
  1.1740 +#define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
  1.1741 +#endif
  1.1742 +
  1.1743 +/* GL_QCOM_binning_control */
  1.1744 +#ifndef GL_QCOM_binning_control
  1.1745 +#define GL_BINNING_CONTROL_HINT_QCOM                            0x8FB0
  1.1746 +#define GL_CPU_OPTIMIZED_QCOM                                   0x8FB1
  1.1747 +#define GL_GPU_OPTIMIZED_QCOM                                   0x8FB2
  1.1748 +#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                    0x8FB3
  1.1749 +#endif
  1.1750 +
  1.1751 +/* GL_QCOM_driver_control */
  1.1752 +/* No new tokens introduced by this extension. */
  1.1753 +
  1.1754 +/* GL_QCOM_extended_get */
  1.1755 +#ifndef GL_QCOM_extended_get
  1.1756 +#define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
  1.1757 +#define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
  1.1758 +#define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
  1.1759 +#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
  1.1760 +#define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
  1.1761 +#define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
  1.1762 +#define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
  1.1763 +#define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
  1.1764 +#define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
  1.1765 +#define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
  1.1766 +#define GL_STATE_RESTORE                                        0x8BDC
  1.1767 +#endif
  1.1768 +
  1.1769 +/* GL_QCOM_extended_get2 */
  1.1770 +/* No new tokens introduced by this extension. */
  1.1771 +
  1.1772 +/* GL_QCOM_perfmon_global_mode */
  1.1773 +#ifndef GL_QCOM_perfmon_global_mode
  1.1774 +#define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
  1.1775 +#endif
  1.1776 +
  1.1777 +/* GL_QCOM_writeonly_rendering */
  1.1778 +#ifndef GL_QCOM_writeonly_rendering
  1.1779 +#define GL_WRITEONLY_RENDERING_QCOM                             0x8823
  1.1780 +#endif
  1.1781 +
  1.1782 +/* GL_QCOM_tiled_rendering */
  1.1783 +#ifndef GL_QCOM_tiled_rendering
  1.1784 +#define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
  1.1785 +#define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
  1.1786 +#define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
  1.1787 +#define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
  1.1788 +#define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
  1.1789 +#define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
  1.1790 +#define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
  1.1791 +#define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
  1.1792 +#define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
  1.1793 +#define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
  1.1794 +#define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
  1.1795 +#define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
  1.1796 +#define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
  1.1797 +#define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
  1.1798 +#define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
  1.1799 +#define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
  1.1800 +#define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
  1.1801 +#define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
  1.1802 +#define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
  1.1803 +#define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
  1.1804 +#define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
  1.1805 +#define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
  1.1806 +#define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
  1.1807 +#define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
  1.1808 +#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
  1.1809 +#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
  1.1810 +#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
  1.1811 +#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
  1.1812 +#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
  1.1813 +#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
  1.1814 +#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
  1.1815 +#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
  1.1816 +#endif
  1.1817 +
  1.1818 +/*------------------------------------------------------------------------*
  1.1819 + * VIV extension tokens
  1.1820 + *------------------------------------------------------------------------*/
  1.1821 +
  1.1822 +/* GL_VIV_shader_binary */
  1.1823 +#ifndef GL_VIV_shader_binary
  1.1824 +#define GL_SHADER_BINARY_VIV                                    0x8FC4
  1.1825 +#endif
  1.1826 +
  1.1827 +/*------------------------------------------------------------------------*
  1.1828 + * End of extension tokens, start of corresponding extension functions
  1.1829 + *------------------------------------------------------------------------*/
  1.1830 +
  1.1831 +/*------------------------------------------------------------------------*
  1.1832 + * OES extension functions
  1.1833 + *------------------------------------------------------------------------*/
  1.1834 +
  1.1835 +/* GL_OES_compressed_ETC1_RGB8_texture */
  1.1836 +#ifndef GL_OES_compressed_ETC1_RGB8_texture
  1.1837 +#define GL_OES_compressed_ETC1_RGB8_texture 1
  1.1838 +#endif
  1.1839 +
  1.1840 +/* GL_OES_compressed_paletted_texture */
  1.1841 +#ifndef GL_OES_compressed_paletted_texture
  1.1842 +#define GL_OES_compressed_paletted_texture 1
  1.1843 +#endif
  1.1844 +
  1.1845 +/* GL_OES_depth24 */
  1.1846 +#ifndef GL_OES_depth24
  1.1847 +#define GL_OES_depth24 1
  1.1848 +#endif
  1.1849 +
  1.1850 +/* GL_OES_depth32 */
  1.1851 +#ifndef GL_OES_depth32
  1.1852 +#define GL_OES_depth32 1
  1.1853 +#endif
  1.1854 +
  1.1855 +/* GL_OES_depth_texture */
  1.1856 +#ifndef GL_OES_depth_texture
  1.1857 +#define GL_OES_depth_texture 1
  1.1858 +#endif
  1.1859 +
  1.1860 +/* GL_OES_EGL_image */
  1.1861 +#ifndef GL_OES_EGL_image
  1.1862 +#define GL_OES_EGL_image 1
  1.1863 +#ifdef GL_GLEXT_PROTOTYPES
  1.1864 +GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  1.1865 +GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  1.1866 +#endif
  1.1867 +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  1.1868 +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  1.1869 +#endif
  1.1870 +
  1.1871 +/* GL_OES_EGL_image_external */
  1.1872 +#ifndef GL_OES_EGL_image_external
  1.1873 +#define GL_OES_EGL_image_external 1
  1.1874 +/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
  1.1875 +#endif
  1.1876 +
  1.1877 +/* GL_OES_element_index_uint */
  1.1878 +#ifndef GL_OES_element_index_uint
  1.1879 +#define GL_OES_element_index_uint 1
  1.1880 +#endif
  1.1881 +
  1.1882 +/* GL_OES_fbo_render_mipmap */
  1.1883 +#ifndef GL_OES_fbo_render_mipmap
  1.1884 +#define GL_OES_fbo_render_mipmap 1
  1.1885 +#endif
  1.1886 +
  1.1887 +/* GL_OES_fragment_precision_high */
  1.1888 +#ifndef GL_OES_fragment_precision_high
  1.1889 +#define GL_OES_fragment_precision_high 1
  1.1890 +#endif
  1.1891 +
  1.1892 +/* GL_OES_get_program_binary */
  1.1893 +#ifndef GL_OES_get_program_binary
  1.1894 +#define GL_OES_get_program_binary 1
  1.1895 +#ifdef GL_GLEXT_PROTOTYPES
  1.1896 +GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  1.1897 +GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  1.1898 +#endif
  1.1899 +typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  1.1900 +typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  1.1901 +#endif
  1.1902 +
  1.1903 +/* GL_OES_mapbuffer */
  1.1904 +#ifndef GL_OES_mapbuffer
  1.1905 +#define GL_OES_mapbuffer 1
  1.1906 +#ifdef GL_GLEXT_PROTOTYPES
  1.1907 +GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  1.1908 +GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  1.1909 +GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
  1.1910 +#endif
  1.1911 +typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  1.1912 +typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  1.1913 +typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
  1.1914 +#endif
  1.1915 +
  1.1916 +/* GL_OES_packed_depth_stencil */
  1.1917 +#ifndef GL_OES_packed_depth_stencil
  1.1918 +#define GL_OES_packed_depth_stencil 1
  1.1919 +#endif
  1.1920 +
  1.1921 +/* GL_OES_required_internalformat */
  1.1922 +#ifndef GL_OES_required_internalformat
  1.1923 +#define GL_OES_required_internalformat 1
  1.1924 +#endif
  1.1925 +
  1.1926 +/* GL_OES_rgb8_rgba8 */
  1.1927 +#ifndef GL_OES_rgb8_rgba8
  1.1928 +#define GL_OES_rgb8_rgba8 1
  1.1929 +#endif
  1.1930 +
  1.1931 +/* GL_OES_standard_derivatives */
  1.1932 +#ifndef GL_OES_standard_derivatives
  1.1933 +#define GL_OES_standard_derivatives 1
  1.1934 +#endif
  1.1935 +
  1.1936 +/* GL_OES_stencil1 */
  1.1937 +#ifndef GL_OES_stencil1
  1.1938 +#define GL_OES_stencil1 1
  1.1939 +#endif
  1.1940 +
  1.1941 +/* GL_OES_stencil4 */
  1.1942 +#ifndef GL_OES_stencil4
  1.1943 +#define GL_OES_stencil4 1
  1.1944 +#endif
  1.1945 +
  1.1946 +#ifndef GL_OES_surfaceless_context
  1.1947 +#define GL_OES_surfaceless_context 1
  1.1948 +#endif
  1.1949 +
  1.1950 +/* GL_OES_texture_3D */
  1.1951 +#ifndef GL_OES_texture_3D
  1.1952 +#define GL_OES_texture_3D 1
  1.1953 +#ifdef GL_GLEXT_PROTOTYPES
  1.1954 +GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
  1.1955 +GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
  1.1956 +GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  1.1957 +GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  1.1958 +GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
  1.1959 +GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  1.1960 +#endif
  1.1961 +typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
  1.1962 +typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
  1.1963 +typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  1.1964 +typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  1.1965 +typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
  1.1966 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  1.1967 +#endif
  1.1968 +
  1.1969 +/* GL_OES_texture_float */
  1.1970 +#ifndef GL_OES_texture_float
  1.1971 +#define GL_OES_texture_float 1
  1.1972 +#endif
  1.1973 +
  1.1974 +/* GL_OES_texture_float_linear */
  1.1975 +#ifndef GL_OES_texture_float_linear
  1.1976 +#define GL_OES_texture_float_linear 1
  1.1977 +#endif
  1.1978 +
  1.1979 +/* GL_OES_texture_half_float */
  1.1980 +#ifndef GL_OES_texture_half_float
  1.1981 +#define GL_OES_texture_half_float 1
  1.1982 +#endif
  1.1983 +
  1.1984 +/* GL_OES_texture_half_float_linear */
  1.1985 +#ifndef GL_OES_texture_half_float_linear
  1.1986 +#define GL_OES_texture_half_float_linear 1
  1.1987 +#endif
  1.1988 +
  1.1989 +/* GL_OES_texture_npot */
  1.1990 +#ifndef GL_OES_texture_npot
  1.1991 +#define GL_OES_texture_npot 1
  1.1992 +#endif
  1.1993 +
  1.1994 +/* GL_OES_vertex_array_object */
  1.1995 +#ifndef GL_OES_vertex_array_object
  1.1996 +#define GL_OES_vertex_array_object 1
  1.1997 +#ifdef GL_GLEXT_PROTOTYPES
  1.1998 +GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  1.1999 +GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  1.2000 +GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  1.2001 +GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  1.2002 +#endif
  1.2003 +typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  1.2004 +typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  1.2005 +typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  1.2006 +typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  1.2007 +#endif
  1.2008 +
  1.2009 +/* GL_OES_vertex_half_float */
  1.2010 +#ifndef GL_OES_vertex_half_float
  1.2011 +#define GL_OES_vertex_half_float 1
  1.2012 +#endif
  1.2013 +
  1.2014 +/* GL_OES_vertex_type_10_10_10_2 */
  1.2015 +#ifndef GL_OES_vertex_type_10_10_10_2
  1.2016 +#define GL_OES_vertex_type_10_10_10_2 1
  1.2017 +#endif
  1.2018 +
  1.2019 +/*------------------------------------------------------------------------*
  1.2020 + * KHR extension functions
  1.2021 + *------------------------------------------------------------------------*/
  1.2022 +
  1.2023 +#ifndef GL_KHR_debug
  1.2024 +#define GL_KHR_debug 1
  1.2025 +#ifdef GL_GLEXT_PROTOTYPES
  1.2026 +GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1.2027 +GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1.2028 +GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
  1.2029 +GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1.2030 +GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1.2031 +GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
  1.2032 +GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1.2033 +GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2034 +GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
  1.2035 +GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2036 +GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
  1.2037 +#endif 
  1.2038 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1.2039 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1.2040 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
  1.2041 +typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1.2042 +typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1.2043 +typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
  1.2044 +typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1.2045 +typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2046 +typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
  1.2047 +typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2048 +typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
  1.2049 +#endif
  1.2050 +
  1.2051 +#ifndef GL_KHR_texture_compression_astc_ldr
  1.2052 +#define GL_KHR_texture_compression_astc_ldr 1
  1.2053 +#endif
  1.2054 +
  1.2055 +
  1.2056 +/*------------------------------------------------------------------------*
  1.2057 + * AMD extension functions
  1.2058 + *------------------------------------------------------------------------*/
  1.2059 +
  1.2060 +/* GL_AMD_compressed_3DC_texture */
  1.2061 +#ifndef GL_AMD_compressed_3DC_texture
  1.2062 +#define GL_AMD_compressed_3DC_texture 1
  1.2063 +#endif
  1.2064 +
  1.2065 +/* GL_AMD_compressed_ATC_texture */
  1.2066 +#ifndef GL_AMD_compressed_ATC_texture
  1.2067 +#define GL_AMD_compressed_ATC_texture 1
  1.2068 +#endif
  1.2069 +
  1.2070 +/* AMD_performance_monitor */
  1.2071 +#ifndef GL_AMD_performance_monitor
  1.2072 +#define GL_AMD_performance_monitor 1
  1.2073 +#ifdef GL_GLEXT_PROTOTYPES
  1.2074 +GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1.2075 +GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1.2076 +GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1.2077 +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1.2078 +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1.2079 +GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1.2080 +GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1.2081 +GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1.2082 +GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  1.2083 +GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  1.2084 +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1.2085 +#endif
  1.2086 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1.2087 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1.2088 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1.2089 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1.2090 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1.2091 +typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1.2092 +typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1.2093 +typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1.2094 +typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  1.2095 +typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  1.2096 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1.2097 +#endif
  1.2098 +
  1.2099 +/* GL_AMD_program_binary_Z400 */
  1.2100 +#ifndef GL_AMD_program_binary_Z400
  1.2101 +#define GL_AMD_program_binary_Z400 1
  1.2102 +#endif
  1.2103 +
  1.2104 +/*------------------------------------------------------------------------*
  1.2105 + * ANGLE extension functions
  1.2106 + *------------------------------------------------------------------------*/
  1.2107 +
  1.2108 +/* GL_ANGLE_framebuffer_blit */
  1.2109 +#ifndef GL_ANGLE_framebuffer_blit
  1.2110 +#define GL_ANGLE_framebuffer_blit 1
  1.2111 +#ifdef GL_GLEXT_PROTOTYPES
  1.2112 +GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1.2113 +#endif
  1.2114 +typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1.2115 +#endif
  1.2116 +
  1.2117 +/* GL_ANGLE_framebuffer_multisample */
  1.2118 +#ifndef GL_ANGLE_framebuffer_multisample
  1.2119 +#define GL_ANGLE_framebuffer_multisample 1
  1.2120 +#ifdef GL_GLEXT_PROTOTYPES
  1.2121 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2122 +#endif
  1.2123 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2124 +#endif
  1.2125 +
  1.2126 +#ifndef GL_ANGLE_instanced_arrays 
  1.2127 +#ifdef GL_GLEXT_PROTOTYPES
  1.2128 +GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1.2129 +GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1.2130 +GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
  1.2131 +#endif
  1.2132 +typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1.2133 +typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1.2134 +typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
  1.2135 +#endif
  1.2136 +
  1.2137 +/* GL_ANGLE_pack_reverse_row_order */
  1.2138 +#ifndef GL_ANGLE_pack_reverse_row_order 
  1.2139 +#define GL_ANGLE_pack_reverse_row_order 1
  1.2140 +#endif
  1.2141 +
  1.2142 +/* GL_ANGLE_texture_compression_dxt3 */
  1.2143 +#ifndef GL_ANGLE_texture_compression_dxt3 
  1.2144 +#define GL_ANGLE_texture_compression_dxt3 1
  1.2145 +#endif
  1.2146 +
  1.2147 +/* GL_ANGLE_texture_compression_dxt5 */
  1.2148 +#ifndef GL_ANGLE_texture_compression_dxt5 
  1.2149 +#define GL_ANGLE_texture_compression_dxt5 1
  1.2150 +#endif
  1.2151 +
  1.2152 +/* GL_ANGLE_texture_usage */
  1.2153 +#ifndef GL_ANGLE_texture_usage 
  1.2154 +#define GL_ANGLE_texture_usage 1
  1.2155 +#endif
  1.2156 +
  1.2157 +#ifndef GL_ANGLE_translated_shader_source 
  1.2158 +#define GL_ANGLE_translated_shader_source 1
  1.2159 +#ifdef GL_GLEXT_PROTOTYPES
  1.2160 +GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1.2161 +#endif
  1.2162 +typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1.2163 +#endif
  1.2164 +
  1.2165 +/*------------------------------------------------------------------------*
  1.2166 + * APPLE extension functions
  1.2167 + *------------------------------------------------------------------------*/
  1.2168 +
  1.2169 +/* GL_APPLE_copy_texture_levels */
  1.2170 +#ifndef GL_APPLE_copy_texture_levels
  1.2171 +#define GL_APPLE_copy_texture_levels 1
  1.2172 +#ifdef GL_GLEXT_PROTOTYPES
  1.2173 +GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1.2174 +#endif
  1.2175 +typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1.2176 +#endif
  1.2177 +
  1.2178 +/* GL_APPLE_framebuffer_multisample */
  1.2179 +#ifndef GL_APPLE_framebuffer_multisample
  1.2180 +#define GL_APPLE_framebuffer_multisample 1
  1.2181 +#ifdef GL_GLEXT_PROTOTYPES
  1.2182 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1.2183 +GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  1.2184 +#endif /* GL_GLEXT_PROTOTYPES */
  1.2185 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2186 +typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  1.2187 +#endif
  1.2188 +
  1.2189 +/* GL_APPLE_rgb_422 */
  1.2190 +#ifndef GL_APPLE_rgb_422
  1.2191 +#define GL_APPLE_rgb_422 1
  1.2192 +#endif
  1.2193 +
  1.2194 +/* GL_APPLE_sync */
  1.2195 +#ifndef GL_APPLE_sync
  1.2196 +#define GL_APPLE_sync 1
  1.2197 +#ifdef GL_GLEXT_PROTOTYPES
  1.2198 +GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
  1.2199 +GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
  1.2200 +GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
  1.2201 +GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1.2202 +GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1.2203 +GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
  1.2204 +GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1.2205 +#endif
  1.2206 +typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
  1.2207 +typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
  1.2208 +typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
  1.2209 +typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1.2210 +typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1.2211 +typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
  1.2212 +typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1.2213 +#endif
  1.2214 +
  1.2215 +/* GL_APPLE_texture_format_BGRA8888 */
  1.2216 +#ifndef GL_APPLE_texture_format_BGRA8888
  1.2217 +#define GL_APPLE_texture_format_BGRA8888 1
  1.2218 +#endif
  1.2219 +
  1.2220 +/* GL_APPLE_texture_max_level */
  1.2221 +#ifndef GL_APPLE_texture_max_level
  1.2222 +#define GL_APPLE_texture_max_level 1
  1.2223 +#endif
  1.2224 +
  1.2225 +/*------------------------------------------------------------------------*
  1.2226 + * ARM extension functions
  1.2227 + *------------------------------------------------------------------------*/
  1.2228 +
  1.2229 +/* GL_ARM_mali_program_binary */
  1.2230 +#ifndef GL_ARM_mali_program_binary
  1.2231 +#define GL_ARM_mali_program_binary 1
  1.2232 +#endif
  1.2233 +
  1.2234 +/* GL_ARM_mali_shader_binary */
  1.2235 +#ifndef GL_ARM_mali_shader_binary
  1.2236 +#define GL_ARM_mali_shader_binary 1
  1.2237 +#endif
  1.2238 +
  1.2239 +/* GL_ARM_rgba8 */
  1.2240 +#ifndef GL_ARM_rgba8
  1.2241 +#define GL_ARM_rgba8 1
  1.2242 +#endif
  1.2243 +
  1.2244 +/*------------------------------------------------------------------------*
  1.2245 + * EXT extension functions
  1.2246 + *------------------------------------------------------------------------*/
  1.2247 +
  1.2248 +/* GL_EXT_blend_minmax */
  1.2249 +#ifndef GL_EXT_blend_minmax
  1.2250 +#define GL_EXT_blend_minmax 1
  1.2251 +#endif
  1.2252 +
  1.2253 +/* GL_EXT_color_buffer_half_float */
  1.2254 +#ifndef GL_EXT_color_buffer_half_float
  1.2255 +#define GL_EXT_color_buffer_half_float 1
  1.2256 +#endif
  1.2257 +
  1.2258 +/* GL_EXT_debug_label */
  1.2259 +#ifndef GL_EXT_debug_label
  1.2260 +#define GL_EXT_debug_label 1
  1.2261 +#ifdef GL_GLEXT_PROTOTYPES
  1.2262 +GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1.2263 +GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2264 +#endif
  1.2265 +typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1.2266 +typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2267 +#endif
  1.2268 +
  1.2269 +/* GL_EXT_debug_marker */
  1.2270 +#ifndef GL_EXT_debug_marker
  1.2271 +#define GL_EXT_debug_marker 1
  1.2272 +#ifdef GL_GLEXT_PROTOTYPES
  1.2273 +GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
  1.2274 +GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
  1.2275 +GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
  1.2276 +#endif
  1.2277 +typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1.2278 +typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1.2279 +typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
  1.2280 +#endif
  1.2281 +
  1.2282 +/* GL_EXT_discard_framebuffer */
  1.2283 +#ifndef GL_EXT_discard_framebuffer
  1.2284 +#define GL_EXT_discard_framebuffer 1
  1.2285 +#ifdef GL_GLEXT_PROTOTYPES
  1.2286 +GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1.2287 +#endif
  1.2288 +typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1.2289 +#endif
  1.2290 +
  1.2291 +/* GL_EXT_map_buffer_range */
  1.2292 +#ifndef GL_EXT_map_buffer_range
  1.2293 +#define GL_EXT_map_buffer_range 1
  1.2294 +#ifdef GL_GLEXT_PROTOTYPES
  1.2295 +GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1.2296 +GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
  1.2297 +#endif
  1.2298 +typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1.2299 +typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  1.2300 +#endif
  1.2301 +
  1.2302 +/* GL_EXT_multisampled_render_to_texture */
  1.2303 +#ifndef GL_EXT_multisampled_render_to_texture
  1.2304 +#define GL_EXT_multisampled_render_to_texture 1
  1.2305 +#ifdef GL_GLEXT_PROTOTYPES
  1.2306 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1.2307 +GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1.2308 +#endif
  1.2309 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2310 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1.2311 +#endif
  1.2312 +
  1.2313 +/* GL_EXT_multiview_draw_buffers */
  1.2314 +#ifndef GL_EXT_multiview_draw_buffers
  1.2315 +#define GL_EXT_multiview_draw_buffers 1
  1.2316 +#ifdef GL_GLEXT_PROTOTYPES
  1.2317 +GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
  1.2318 +GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
  1.2319 +GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
  1.2320 +#endif
  1.2321 +typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
  1.2322 +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
  1.2323 +typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
  1.2324 +#endif
  1.2325 +
  1.2326 +#ifndef GL_EXT_multi_draw_arrays
  1.2327 +#define GL_EXT_multi_draw_arrays 1
  1.2328 +#ifdef GL_GLEXT_PROTOTYPES
  1.2329 +GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
  1.2330 +GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
  1.2331 +#endif /* GL_GLEXT_PROTOTYPES */
  1.2332 +typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  1.2333 +typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  1.2334 +#endif
  1.2335 +
  1.2336 +/* GL_EXT_occlusion_query_boolean */
  1.2337 +#ifndef GL_EXT_occlusion_query_boolean
  1.2338 +#define GL_EXT_occlusion_query_boolean 1
  1.2339 +#ifdef GL_GLEXT_PROTOTYPES
  1.2340 +GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
  1.2341 +GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
  1.2342 +GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
  1.2343 +GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
  1.2344 +GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
  1.2345 +GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
  1.2346 +GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
  1.2347 +#endif
  1.2348 +typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
  1.2349 +typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
  1.2350 +typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
  1.2351 +typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
  1.2352 +typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
  1.2353 +typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  1.2354 +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
  1.2355 +#endif
  1.2356 +
  1.2357 +/* GL_EXT_read_format_bgra */
  1.2358 +#ifndef GL_EXT_read_format_bgra
  1.2359 +#define GL_EXT_read_format_bgra 1
  1.2360 +#endif
  1.2361 +
  1.2362 +/* GL_EXT_robustness */
  1.2363 +#ifndef GL_EXT_robustness
  1.2364 +#define GL_EXT_robustness 1
  1.2365 +#ifdef GL_GLEXT_PROTOTYPES
  1.2366 +GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
  1.2367 +GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1.2368 +GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
  1.2369 +GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1.2370 +#endif
  1.2371 +typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
  1.2372 +typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1.2373 +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
  1.2374 +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1.2375 +#endif
  1.2376 +
  1.2377 +/* GL_EXT_separate_shader_objects */
  1.2378 +#ifndef GL_EXT_separate_shader_objects
  1.2379 +#define GL_EXT_separate_shader_objects 1
  1.2380 +#ifdef GL_GLEXT_PROTOTYPES
  1.2381 +GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
  1.2382 +GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
  1.2383 +GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
  1.2384 +GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
  1.2385 +GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
  1.2386 +GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
  1.2387 +GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
  1.2388 +GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
  1.2389 +GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
  1.2390 +GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
  1.2391 +GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
  1.2392 +GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1.2393 +GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1.2394 +GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
  1.2395 +GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
  1.2396 +GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1.2397 +GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1.2398 +GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2399 +GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2400 +GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2401 +GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2402 +GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2403 +GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2404 +GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2405 +GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2406 +GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2407 +GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2408 +GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2409 +GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
  1.2410 +GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1.2411 +#endif
  1.2412 +typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  1.2413 +typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
  1.2414 +typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
  1.2415 +typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1.2416 +typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
  1.2417 +typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
  1.2418 +typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1.2419 +typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
  1.2420 +typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
  1.2421 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
  1.2422 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
  1.2423 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1.2424 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1.2425 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
  1.2426 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
  1.2427 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1.2428 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1.2429 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2430 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2431 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2432 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2433 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2434 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2435 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2436 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2437 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2438 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2439 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2440 +typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1.2441 +typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1.2442 +#endif
  1.2443 +
  1.2444 +/* GL_EXT_shader_framebuffer_fetch */
  1.2445 +#ifndef GL_EXT_shader_framebuffer_fetch
  1.2446 +#define GL_EXT_shader_framebuffer_fetch 1
  1.2447 +#endif
  1.2448 +
  1.2449 +/* GL_EXT_shader_texture_lod */
  1.2450 +#ifndef GL_EXT_shader_texture_lod
  1.2451 +#define GL_EXT_shader_texture_lod 1
  1.2452 +#endif
  1.2453 +
  1.2454 +/* GL_EXT_shadow_samplers */
  1.2455 +#ifndef GL_EXT_shadow_samplers
  1.2456 +#define GL_EXT_shadow_samplers 1
  1.2457 +#endif
  1.2458 +
  1.2459 +/* GL_EXT_sRGB */
  1.2460 +#ifndef GL_EXT_sRGB
  1.2461 +#define GL_EXT_sRGB 1
  1.2462 +#endif
  1.2463 +
  1.2464 +/* GL_EXT_texture_compression_dxt1 */
  1.2465 +#ifndef GL_EXT_texture_compression_dxt1
  1.2466 +#define GL_EXT_texture_compression_dxt1 1
  1.2467 +#endif
  1.2468 +
  1.2469 +/* GL_EXT_texture_filter_anisotropic */
  1.2470 +#ifndef GL_EXT_texture_filter_anisotropic
  1.2471 +#define GL_EXT_texture_filter_anisotropic 1
  1.2472 +#endif
  1.2473 +
  1.2474 +/* GL_EXT_texture_format_BGRA8888 */
  1.2475 +#ifndef GL_EXT_texture_format_BGRA8888
  1.2476 +#define GL_EXT_texture_format_BGRA8888 1
  1.2477 +#endif
  1.2478 +
  1.2479 +/* GL_EXT_texture_rg */
  1.2480 +#ifndef GL_EXT_texture_rg
  1.2481 +#define GL_EXT_texture_rg 1
  1.2482 +#endif
  1.2483 +
  1.2484 +/* GL_EXT_texture_storage */
  1.2485 +#ifndef GL_EXT_texture_storage
  1.2486 +#define GL_EXT_texture_storage 1
  1.2487 +#ifdef GL_GLEXT_PROTOTYPES
  1.2488 +GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1.2489 +GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1.2490 +GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1.2491 +GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1.2492 +GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1.2493 +GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1.2494 +#endif
  1.2495 +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1.2496 +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1.2497 +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1.2498 +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1.2499 +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1.2500 +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1.2501 +#endif
  1.2502 +
  1.2503 +/* GL_EXT_texture_type_2_10_10_10_REV */
  1.2504 +#ifndef GL_EXT_texture_type_2_10_10_10_REV
  1.2505 +#define GL_EXT_texture_type_2_10_10_10_REV 1
  1.2506 +#endif
  1.2507 +
  1.2508 +/* GL_EXT_unpack_subimage */
  1.2509 +#ifndef GL_EXT_unpack_subimage
  1.2510 +#define GL_EXT_unpack_subimage 1
  1.2511 +#endif
  1.2512 +
  1.2513 +/*------------------------------------------------------------------------*
  1.2514 + * DMP extension functions
  1.2515 + *------------------------------------------------------------------------*/
  1.2516 +
  1.2517 +/* GL_DMP_shader_binary */
  1.2518 +#ifndef GL_DMP_shader_binary
  1.2519 +#define GL_DMP_shader_binary 1
  1.2520 +#endif
  1.2521 +
  1.2522 +/*------------------------------------------------------------------------*
  1.2523 + * FJ extension functions
  1.2524 + *------------------------------------------------------------------------*/
  1.2525 +
  1.2526 +/* GL_FJ_shader_binary_GCCSO */
  1.2527 +#ifndef GL_FJ_shader_binary_GCCSO
  1.2528 +#define GL_FJ_shader_binary_GCCSO 1
  1.2529 +#endif
  1.2530 +
  1.2531 +/*------------------------------------------------------------------------*
  1.2532 + * IMG extension functions
  1.2533 + *------------------------------------------------------------------------*/
  1.2534 +
  1.2535 +/* GL_IMG_program_binary */
  1.2536 +#ifndef GL_IMG_program_binary
  1.2537 +#define GL_IMG_program_binary 1
  1.2538 +#endif
  1.2539 +
  1.2540 +/* GL_IMG_read_format */
  1.2541 +#ifndef GL_IMG_read_format
  1.2542 +#define GL_IMG_read_format 1
  1.2543 +#endif
  1.2544 +
  1.2545 +/* GL_IMG_shader_binary */
  1.2546 +#ifndef GL_IMG_shader_binary
  1.2547 +#define GL_IMG_shader_binary 1
  1.2548 +#endif
  1.2549 +
  1.2550 +/* GL_IMG_texture_compression_pvrtc */
  1.2551 +#ifndef GL_IMG_texture_compression_pvrtc
  1.2552 +#define GL_IMG_texture_compression_pvrtc 1
  1.2553 +#endif
  1.2554 +
  1.2555 +/* GL_IMG_multisampled_render_to_texture */
  1.2556 +#ifndef GL_IMG_multisampled_render_to_texture
  1.2557 +#define GL_IMG_multisampled_render_to_texture 1
  1.2558 +#ifdef GL_GLEXT_PROTOTYPES
  1.2559 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1.2560 +GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1.2561 +#endif
  1.2562 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2563 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1.2564 +#endif
  1.2565 +
  1.2566 +/*------------------------------------------------------------------------*
  1.2567 + * NV extension functions
  1.2568 + *------------------------------------------------------------------------*/
  1.2569 +
  1.2570 +/* GL_NV_coverage_sample */
  1.2571 +#ifndef GL_NV_coverage_sample
  1.2572 +#define GL_NV_coverage_sample 1
  1.2573 +#ifdef GL_GLEXT_PROTOTYPES
  1.2574 +GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  1.2575 +GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  1.2576 +#endif
  1.2577 +typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  1.2578 +typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  1.2579 +#endif
  1.2580 +
  1.2581 +/* GL_NV_depth_nonlinear */
  1.2582 +#ifndef GL_NV_depth_nonlinear
  1.2583 +#define GL_NV_depth_nonlinear 1
  1.2584 +#endif
  1.2585 +
  1.2586 +/* GL_NV_draw_buffers */
  1.2587 +#ifndef GL_NV_draw_buffers
  1.2588 +#define GL_NV_draw_buffers 1
  1.2589 +#ifdef GL_GLEXT_PROTOTYPES
  1.2590 +GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
  1.2591 +#endif
  1.2592 +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
  1.2593 +#endif
  1.2594 +
  1.2595 +/* GL_NV_fbo_color_attachments */
  1.2596 +#ifndef GL_NV_fbo_color_attachments
  1.2597 +#define GL_NV_fbo_color_attachments 1
  1.2598 +#endif
  1.2599 +
  1.2600 +/* GL_NV_fence */
  1.2601 +#ifndef GL_NV_fence
  1.2602 +#define GL_NV_fence 1
  1.2603 +#ifdef GL_GLEXT_PROTOTYPES
  1.2604 +GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
  1.2605 +GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
  1.2606 +GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
  1.2607 +GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
  1.2608 +GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
  1.2609 +GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
  1.2610 +GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
  1.2611 +#endif
  1.2612 +typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  1.2613 +typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  1.2614 +typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  1.2615 +typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  1.2616 +typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  1.2617 +typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  1.2618 +typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  1.2619 +#endif
  1.2620 +
  1.2621 +/* GL_NV_read_buffer */
  1.2622 +#ifndef GL_NV_read_buffer
  1.2623 +#define GL_NV_read_buffer 1
  1.2624 +#ifdef GL_GLEXT_PROTOTYPES
  1.2625 +GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
  1.2626 +#endif
  1.2627 +typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
  1.2628 +#endif
  1.2629 +
  1.2630 +/* GL_NV_read_buffer_front */
  1.2631 +#ifndef GL_NV_read_buffer_front
  1.2632 +#define GL_NV_read_buffer_front 1
  1.2633 +#endif
  1.2634 +
  1.2635 +/* GL_NV_read_depth */
  1.2636 +#ifndef GL_NV_read_depth
  1.2637 +#define GL_NV_read_depth 1
  1.2638 +#endif
  1.2639 +
  1.2640 +/* GL_NV_read_depth_stencil */
  1.2641 +#ifndef GL_NV_read_depth_stencil
  1.2642 +#define GL_NV_read_depth_stencil 1
  1.2643 +#endif
  1.2644 +
  1.2645 +/* GL_NV_read_stencil */
  1.2646 +#ifndef GL_NV_read_stencil
  1.2647 +#define GL_NV_read_stencil 1
  1.2648 +#endif
  1.2649 +
  1.2650 +/* GL_NV_texture_compression_s3tc_update */
  1.2651 +#ifndef GL_NV_texture_compression_s3tc_update
  1.2652 +#define GL_NV_texture_compression_s3tc_update 1
  1.2653 +#endif
  1.2654 +
  1.2655 +/* GL_NV_texture_npot_2D_mipmap */
  1.2656 +#ifndef GL_NV_texture_npot_2D_mipmap
  1.2657 +#define GL_NV_texture_npot_2D_mipmap 1
  1.2658 +#endif
  1.2659 +
  1.2660 +/*------------------------------------------------------------------------*
  1.2661 + * QCOM extension functions
  1.2662 + *------------------------------------------------------------------------*/
  1.2663 +
  1.2664 +/* GL_QCOM_alpha_test */
  1.2665 +#ifndef GL_QCOM_alpha_test
  1.2666 +#define GL_QCOM_alpha_test 1
  1.2667 +#ifdef GL_GLEXT_PROTOTYPES
  1.2668 +GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
  1.2669 +#endif
  1.2670 +typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
  1.2671 +#endif
  1.2672 +
  1.2673 +/* GL_QCOM_binning_control */
  1.2674 +#ifndef GL_QCOM_binning_control
  1.2675 +#define GL_QCOM_binning_control 1
  1.2676 +#endif
  1.2677 +
  1.2678 +/* GL_QCOM_driver_control */
  1.2679 +#ifndef GL_QCOM_driver_control
  1.2680 +#define GL_QCOM_driver_control 1
  1.2681 +#ifdef GL_GLEXT_PROTOTYPES
  1.2682 +GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  1.2683 +GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1.2684 +GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  1.2685 +GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  1.2686 +#endif
  1.2687 +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  1.2688 +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1.2689 +typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1.2690 +typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1.2691 +#endif
  1.2692 +
  1.2693 +/* GL_QCOM_extended_get */
  1.2694 +#ifndef GL_QCOM_extended_get
  1.2695 +#define GL_QCOM_extended_get 1
  1.2696 +#ifdef GL_GLEXT_PROTOTYPES
  1.2697 +GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1.2698 +GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1.2699 +GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1.2700 +GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1.2701 +GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1.2702 +GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  1.2703 +GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
  1.2704 +GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  1.2705 +#endif
  1.2706 +typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1.2707 +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1.2708 +typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1.2709 +typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1.2710 +typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1.2711 +typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  1.2712 +typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
  1.2713 +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  1.2714 +#endif
  1.2715 +
  1.2716 +/* GL_QCOM_extended_get2 */
  1.2717 +#ifndef GL_QCOM_extended_get2
  1.2718 +#define GL_QCOM_extended_get2 1
  1.2719 +#ifdef GL_GLEXT_PROTOTYPES
  1.2720 +GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1.2721 +GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1.2722 +GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  1.2723 +GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1.2724 +#endif
  1.2725 +typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1.2726 +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1.2727 +typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  1.2728 +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1.2729 +#endif
  1.2730 +
  1.2731 +/* GL_QCOM_perfmon_global_mode */
  1.2732 +#ifndef GL_QCOM_perfmon_global_mode
  1.2733 +#define GL_QCOM_perfmon_global_mode 1
  1.2734 +#endif
  1.2735 +
  1.2736 +/* GL_QCOM_writeonly_rendering */
  1.2737 +#ifndef GL_QCOM_writeonly_rendering
  1.2738 +#define GL_QCOM_writeonly_rendering 1
  1.2739 +#endif
  1.2740 +
  1.2741 +/* GL_QCOM_tiled_rendering */
  1.2742 +#ifndef GL_QCOM_tiled_rendering
  1.2743 +#define GL_QCOM_tiled_rendering 1
  1.2744 +#ifdef GL_GLEXT_PROTOTYPES
  1.2745 +GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1.2746 +GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  1.2747 +#endif
  1.2748 +typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1.2749 +typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  1.2750 +#endif
  1.2751 +
  1.2752 +/*------------------------------------------------------------------------*
  1.2753 + * VIV extension tokens
  1.2754 + *------------------------------------------------------------------------*/
  1.2755 +
  1.2756 +/* GL_VIV_shader_binary */
  1.2757 +#ifndef GL_VIV_shader_binary
  1.2758 +#define GL_VIV_shader_binary 1
  1.2759 +#endif
  1.2760 +
  1.2761 +#ifdef __cplusplus
  1.2762 +}
  1.2763 +#endif
  1.2764 +
  1.2765 +#endif /* __gl2ext_h_ */
  1.2766 +
  1.2767 +#endif /* _MSC_VER */
  1.2768 +
  1.2769  #ifndef APIENTRY
  1.2770 -#define APIENTRY
  1.2771 -#endif
  1.2772 -#endif
  1.2773 +#define APIENTRY GL_APIENTRY
  1.2774 +#endif
  1.2775 \ No newline at end of file