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