SDL_opengles2: Separate out GLES2 headers.
authorJørgen P. Tjernø <jorgen@uberent.com>
Wed, 04 Jun 2014 01:27:13 -0700
changeset 88061a413cfc6ab7
parent 8805 a5c009ff64d7
child 8807 20294e387cab
SDL_opengles2: Separate out GLES2 headers.
include/SDL_opengles2.h
include/SDL_opengles2_gl2.h
include/SDL_opengles2_gl2ext.h
include/SDL_opengles2_gl2platform.h
include/SDL_opengles2_khrplatform.h
     1.1 --- a/include/SDL_opengles2.h	Wed Jun 04 01:21:00 2014 -0700
     1.2 +++ b/include/SDL_opengles2.h	Wed Jun 04 01:27:13 2014 -0700
     1.3 @@ -25,6 +25,7 @@
     1.4   *  This is a simple file to encapsulate the OpenGL ES 2.0 API headers.
     1.5   */
     1.6  #ifndef _MSC_VER
     1.7 +
     1.8  #ifdef __IPHONEOS__
     1.9  #include <OpenGLES/ES2/gl.h>
    1.10  #include <OpenGLES/ES2/glext.h>
    1.11 @@ -37,2752 +38,10 @@
    1.12  #else /* _MSC_VER */
    1.13  
    1.14  /* OpenGL ES2 headers for Visual Studio */
    1.15 -
    1.16 -#ifndef __khrplatform_h_
    1.17 -#define __khrplatform_h_
    1.18 -
    1.19 -/*
    1.20 -** Copyright (c) 2008-2009 The Khronos Group Inc.
    1.21 -**
    1.22 -** Permission is hereby granted, free of charge, to any person obtaining a
    1.23 -** copy of this software and/or associated documentation files (the
    1.24 -** "Materials"), to deal in the Materials without restriction, including
    1.25 -** without limitation the rights to use, copy, modify, merge, publish,
    1.26 -** distribute, sublicense, and/or sell copies of the Materials, and to
    1.27 -** permit persons to whom the Materials are furnished to do so, subject to
    1.28 -** the following conditions:
    1.29 -**
    1.30 -** The above copyright notice and this permission notice shall be included
    1.31 -** in all copies or substantial portions of the Materials.
    1.32 -**
    1.33 -** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    1.34 -** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    1.35 -** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    1.36 -** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    1.37 -** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    1.38 -** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    1.39 -** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
    1.40 -*/
    1.41 -
    1.42 -/* Khronos platform-specific types and definitions.
    1.43 -*
    1.44 -* $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
    1.45 -*
    1.46 -* Adopters may modify this file to suit their platform. Adopters are
    1.47 -* encouraged to submit platform specific modifications to the Khronos
    1.48 -* group so that they can be included in future versions of this file.
    1.49 -* Please submit changes by sending them to the public Khronos Bugzilla
    1.50 -* (http://khronos.org/bugzilla) by filing a bug against product
    1.51 -* "Khronos (general)" component "Registry".
    1.52 -*
    1.53 -* A predefined template which fills in some of the bug fields can be
    1.54 -* reached using http://tinyurl.com/khrplatform-h-bugreport, but you
    1.55 -* must create a Bugzilla login first.
    1.56 -*
    1.57 -*
    1.58 -* See the Implementer's Guidelines for information about where this file
    1.59 -* should be located on your system and for more details of its use:
    1.60 -*    http://www.khronos.org/registry/implementers_guide.pdf
    1.61 -*
    1.62 -* This file should be included as
    1.63 -*        #include <KHR/khrplatform.h>
    1.64 -* by Khronos client API header files that use its types and defines.
    1.65 -*
    1.66 -* The types in khrplatform.h should only be used to define API-specific types.
    1.67 -*
    1.68 -* Types defined in khrplatform.h:
    1.69 -*    khronos_int8_t              signed   8  bit
    1.70 -*    khronos_uint8_t             unsigned 8  bit
    1.71 -*    khronos_int16_t             signed   16 bit
    1.72 -*    khronos_uint16_t            unsigned 16 bit
    1.73 -*    khronos_int32_t             signed   32 bit
    1.74 -*    khronos_uint32_t            unsigned 32 bit
    1.75 -*    khronos_int64_t             signed   64 bit
    1.76 -*    khronos_uint64_t            unsigned 64 bit
    1.77 -*    khronos_intptr_t            signed   same number of bits as a pointer
    1.78 -*    khronos_uintptr_t           unsigned same number of bits as a pointer
    1.79 -*    khronos_ssize_t             signed   size
    1.80 -*    khronos_usize_t             unsigned size
    1.81 -*    khronos_float_t             signed   32 bit floating point
    1.82 -*    khronos_time_ns_t           unsigned 64 bit time in nanoseconds
    1.83 -*    khronos_utime_nanoseconds_t unsigned time interval or absolute time in
    1.84 -*                                         nanoseconds
    1.85 -*    khronos_stime_nanoseconds_t signed time interval in nanoseconds
    1.86 -*    khronos_boolean_enum_t      enumerated boolean type. This should
    1.87 -*      only be used as a base type when a client API's boolean type is
    1.88 -*      an enum. Client APIs which use an integer or other type for
    1.89 -*      booleans cannot use this as the base type for their boolean.
    1.90 -*
    1.91 -* Tokens defined in khrplatform.h:
    1.92 -*
    1.93 -*    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
    1.94 -*
    1.95 -*    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
    1.96 -*    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
    1.97 -*
    1.98 -* Calling convention macros defined in this file:
    1.99 -*    KHRONOS_APICALL
   1.100 -*    KHRONOS_APIENTRY
   1.101 -*    KHRONOS_APIATTRIBUTES
   1.102 -*
   1.103 -* These may be used in function prototypes as:
   1.104 -*
   1.105 -*      KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
   1.106 -*                                  int arg1,
   1.107 -*                                  int arg2) KHRONOS_APIATTRIBUTES;
   1.108 -*/
   1.109 -
   1.110 -/*-------------------------------------------------------------------------
   1.111 -* Definition of KHRONOS_APICALL
   1.112 -*-------------------------------------------------------------------------
   1.113 -* This precedes the return type of the function in the function prototype.
   1.114 -*/
   1.115 -#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
   1.116 -#   define KHRONOS_APICALL __declspec(dllimport)
   1.117 -#elif defined (__SYMBIAN32__)
   1.118 -#   define KHRONOS_APICALL IMPORT_C
   1.119 -#else
   1.120 -#   define KHRONOS_APICALL
   1.121 -#endif
   1.122 -
   1.123 -/*-------------------------------------------------------------------------
   1.124 -* Definition of KHRONOS_APIENTRY
   1.125 -*-------------------------------------------------------------------------
   1.126 -* This follows the return type of the function  and precedes the function
   1.127 -* name in the function prototype.
   1.128 -*/
   1.129 -#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
   1.130 -/* Win32 but not WinCE */
   1.131 -#   define KHRONOS_APIENTRY __stdcall
   1.132 -#else
   1.133 -#   define KHRONOS_APIENTRY
   1.134 -#endif
   1.135 -
   1.136 -/*-------------------------------------------------------------------------
   1.137 -* Definition of KHRONOS_APIATTRIBUTES
   1.138 -*-------------------------------------------------------------------------
   1.139 -* This follows the closing parenthesis of the function prototype arguments.
   1.140 -*/
   1.141 -#if defined (__ARMCC_2__)
   1.142 -#define KHRONOS_APIATTRIBUTES __softfp
   1.143 -#else
   1.144 -#define KHRONOS_APIATTRIBUTES
   1.145 -#endif
   1.146 -
   1.147 -/*-------------------------------------------------------------------------
   1.148 -* basic type definitions
   1.149 -*-----------------------------------------------------------------------*/
   1.150 -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
   1.151 -
   1.152 -
   1.153 -/*
   1.154 -* Using <stdint.h>
   1.155 -*/
   1.156 -#include <stdint.h>
   1.157 -typedef int32_t                 khronos_int32_t;
   1.158 -typedef uint32_t                khronos_uint32_t;
   1.159 -typedef int64_t                 khronos_int64_t;
   1.160 -typedef uint64_t                khronos_uint64_t;
   1.161 -#define KHRONOS_SUPPORT_INT64   1
   1.162 -#define KHRONOS_SUPPORT_FLOAT   1
   1.163 -
   1.164 -#elif defined(__VMS ) || defined(__sgi)
   1.165 -
   1.166 -/*
   1.167 -* Using <inttypes.h>
   1.168 -*/
   1.169 -#include <inttypes.h>
   1.170 -typedef int32_t                 khronos_int32_t;
   1.171 -typedef uint32_t                khronos_uint32_t;
   1.172 -typedef int64_t                 khronos_int64_t;
   1.173 -typedef uint64_t                khronos_uint64_t;
   1.174 -#define KHRONOS_SUPPORT_INT64   1
   1.175 -#define KHRONOS_SUPPORT_FLOAT   1
   1.176 -
   1.177 -#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
   1.178 -
   1.179 -/*
   1.180 -* Win32
   1.181 -*/
   1.182 -typedef __int32                 khronos_int32_t;
   1.183 -typedef unsigned __int32        khronos_uint32_t;
   1.184 -typedef __int64                 khronos_int64_t;
   1.185 -typedef unsigned __int64        khronos_uint64_t;
   1.186 -#define KHRONOS_SUPPORT_INT64   1
   1.187 -#define KHRONOS_SUPPORT_FLOAT   1
   1.188 -
   1.189 -#elif defined(__sun__) || defined(__digital__)
   1.190 -
   1.191 -/*
   1.192 -* Sun or Digital
   1.193 -*/
   1.194 -typedef int                     khronos_int32_t;
   1.195 -typedef unsigned int            khronos_uint32_t;
   1.196 -#if defined(__arch64__) || defined(_LP64)
   1.197 -typedef long int                khronos_int64_t;
   1.198 -typedef unsigned long int       khronos_uint64_t;
   1.199 -#else
   1.200 -typedef long long int           khronos_int64_t;
   1.201 -typedef unsigned long long int  khronos_uint64_t;
   1.202 -#endif /* __arch64__ */
   1.203 -#define KHRONOS_SUPPORT_INT64   1
   1.204 -#define KHRONOS_SUPPORT_FLOAT   1
   1.205 -
   1.206 -#elif 0
   1.207 -
   1.208 -/*
   1.209 -* Hypothetical platform with no float or int64 support
   1.210 -*/
   1.211 -typedef int                     khronos_int32_t;
   1.212 -typedef unsigned int            khronos_uint32_t;
   1.213 -#define KHRONOS_SUPPORT_INT64   0
   1.214 -#define KHRONOS_SUPPORT_FLOAT   0
   1.215 -
   1.216 -#else
   1.217 -
   1.218 -/*
   1.219 -* Generic fallback
   1.220 -*/
   1.221 -#include <stdint.h>
   1.222 -typedef int32_t                 khronos_int32_t;
   1.223 -typedef uint32_t                khronos_uint32_t;
   1.224 -typedef int64_t                 khronos_int64_t;
   1.225 -typedef uint64_t                khronos_uint64_t;
   1.226 -#define KHRONOS_SUPPORT_INT64   1
   1.227 -#define KHRONOS_SUPPORT_FLOAT   1
   1.228 -
   1.229 -#endif
   1.230 -
   1.231 -
   1.232 -/*
   1.233 -* Types that are (so far) the same on all platforms
   1.234 -*/
   1.235 -typedef signed   char          khronos_int8_t;
   1.236 -typedef unsigned char          khronos_uint8_t;
   1.237 -typedef signed   short int     khronos_int16_t;
   1.238 -typedef unsigned short int     khronos_uint16_t;
   1.239 -
   1.240 -/*
   1.241 -* Types that differ between LLP64 and LP64 architectures - in LLP64,
   1.242 -* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
   1.243 -* to be the only LLP64 architecture in current use.
   1.244 -*/
   1.245 -#ifdef _WIN64
   1.246 -typedef signed   long long int khronos_intptr_t;
   1.247 -typedef unsigned long long int khronos_uintptr_t;
   1.248 -typedef signed   long long int khronos_ssize_t;
   1.249 -typedef unsigned long long int khronos_usize_t;
   1.250 -#else
   1.251 -typedef signed   long  int     khronos_intptr_t;
   1.252 -typedef unsigned long  int     khronos_uintptr_t;
   1.253 -typedef signed   long  int     khronos_ssize_t;
   1.254 -typedef unsigned long  int     khronos_usize_t;
   1.255 -#endif
   1.256 -
   1.257 -#if KHRONOS_SUPPORT_FLOAT
   1.258 -/*
   1.259 -* Float type
   1.260 -*/
   1.261 -typedef          float         khronos_float_t;
   1.262 -#endif
   1.263 -
   1.264 -#if KHRONOS_SUPPORT_INT64
   1.265 -/* Time types
   1.266 -*
   1.267 -* These types can be used to represent a time interval in nanoseconds or
   1.268 -* an absolute Unadjusted System Time.  Unadjusted System Time is the number
   1.269 -* of nanoseconds since some arbitrary system event (e.g. since the last
   1.270 -* time the system booted).  The Unadjusted System Time is an unsigned
   1.271 -* 64 bit value that wraps back to 0 every 584 years.  Time intervals
   1.272 -* may be either signed or unsigned.
   1.273 -*/
   1.274 -typedef khronos_uint64_t       khronos_utime_nanoseconds_t;
   1.275 -typedef khronos_int64_t        khronos_stime_nanoseconds_t;
   1.276 -#endif
   1.277 -
   1.278 -/*
   1.279 -* Dummy value used to pad enum types to 32 bits.
   1.280 -*/
   1.281 -#ifndef KHRONOS_MAX_ENUM
   1.282 -#define KHRONOS_MAX_ENUM 0x7FFFFFFF
   1.283 -#endif
   1.284 -
   1.285 -/*
   1.286 -* Enumerated boolean type
   1.287 -*
   1.288 -* Values other than zero should be considered to be true.  Therefore
   1.289 -* comparisons should not be made against KHRONOS_TRUE.
   1.290 -*/
   1.291 -typedef enum {
   1.292 -    KHRONOS_FALSE = 0,
   1.293 -    KHRONOS_TRUE = 1,
   1.294 -    KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
   1.295 -} khronos_boolean_enum_t;
   1.296 -
   1.297 -#endif /* __khrplatform_h_ */
   1.298 -
   1.299 -
   1.300 -#ifndef __gl2platform_h_
   1.301 -#define __gl2platform_h_
   1.302 -
   1.303 -/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */
   1.304 -
   1.305 -/*
   1.306 - * This document is licensed under the SGI Free Software B License Version
   1.307 - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
   1.308 - */
   1.309 -
   1.310 -/* Platform-specific types and definitions for OpenGL ES 2.X  gl2.h
   1.311 - *
   1.312 - * Adopters may modify khrplatform.h and this file to suit their platform.
   1.313 - * You are encouraged to submit all modifications to the Khronos group so that
   1.314 - * they can be included in future versions of this file.  Please submit changes
   1.315 - * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
   1.316 - * by filing a bug against product "OpenGL-ES" component "Registry".
   1.317 - */
   1.318 -
   1.319 -/*#include <KHR/khrplatform.h>*/
   1.320 -
   1.321 -#ifndef GL_APICALL
   1.322 -#define GL_APICALL  KHRONOS_APICALL
   1.323 -#endif
   1.324 -
   1.325 -#ifndef GL_APIENTRY
   1.326 -#define GL_APIENTRY KHRONOS_APIENTRY
   1.327 -#endif
   1.328 -
   1.329 -#endif /* __gl2platform_h_ */
   1.330 -
   1.331 -#ifndef __gl2_h_
   1.332 -#define __gl2_h_
   1.333 -
   1.334 -/* $Revision: 16803 $ on $Date:: 2012-02-02 09:49:18 -0800 #$ */
   1.335 -
   1.336 -/*#include <GLES2/gl2platform.h>*/
   1.337 -
   1.338 -#ifdef __cplusplus
   1.339 -extern "C" {
   1.340 -#endif
   1.341 -
   1.342 -/*
   1.343 - * This document is licensed under the SGI Free Software B License Version
   1.344 - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
   1.345 - */
   1.346 -
   1.347 -/*-------------------------------------------------------------------------
   1.348 - * Data type definitions
   1.349 - *-----------------------------------------------------------------------*/
   1.350 -
   1.351 -typedef void             GLvoid;
   1.352 -typedef char             GLchar;
   1.353 -typedef unsigned int     GLenum;
   1.354 -typedef unsigned char    GLboolean;
   1.355 -typedef unsigned int     GLbitfield;
   1.356 -typedef khronos_int8_t   GLbyte;
   1.357 -typedef short            GLshort;
   1.358 -typedef int              GLint;
   1.359 -typedef int              GLsizei;
   1.360 -typedef khronos_uint8_t  GLubyte;
   1.361 -typedef unsigned short   GLushort;
   1.362 -typedef unsigned int     GLuint;
   1.363 -typedef khronos_float_t  GLfloat;
   1.364 -typedef khronos_float_t  GLclampf;
   1.365 -typedef khronos_int32_t  GLfixed;
   1.366 -
   1.367 -/* GL types for handling large vertex buffer objects */
   1.368 -typedef khronos_intptr_t GLintptr;
   1.369 -typedef khronos_ssize_t  GLsizeiptr;
   1.370 -
   1.371 -/* OpenGL ES core versions */
   1.372 -#define GL_ES_VERSION_2_0                 1
   1.373 -
   1.374 -/* ClearBufferMask */
   1.375 -#define GL_DEPTH_BUFFER_BIT               0x00000100
   1.376 -#define GL_STENCIL_BUFFER_BIT             0x00000400
   1.377 -#define GL_COLOR_BUFFER_BIT               0x00004000
   1.378 -
   1.379 -/* Boolean */
   1.380 -#define GL_FALSE                          0
   1.381 -#define GL_TRUE                           1
   1.382 -
   1.383 -/* BeginMode */
   1.384 -#define GL_POINTS                         0x0000
   1.385 -#define GL_LINES                          0x0001
   1.386 -#define GL_LINE_LOOP                      0x0002
   1.387 -#define GL_LINE_STRIP                     0x0003
   1.388 -#define GL_TRIANGLES                      0x0004
   1.389 -#define GL_TRIANGLE_STRIP                 0x0005
   1.390 -#define GL_TRIANGLE_FAN                   0x0006
   1.391 -
   1.392 -/* AlphaFunction (not supported in ES20) */
   1.393 -/*      GL_NEVER */
   1.394 -/*      GL_LESS */
   1.395 -/*      GL_EQUAL */
   1.396 -/*      GL_LEQUAL */
   1.397 -/*      GL_GREATER */
   1.398 -/*      GL_NOTEQUAL */
   1.399 -/*      GL_GEQUAL */
   1.400 -/*      GL_ALWAYS */
   1.401 -
   1.402 -/* BlendingFactorDest */
   1.403 -#define GL_ZERO                           0
   1.404 -#define GL_ONE                            1
   1.405 -#define GL_SRC_COLOR                      0x0300
   1.406 -#define GL_ONE_MINUS_SRC_COLOR            0x0301
   1.407 -#define GL_SRC_ALPHA                      0x0302
   1.408 -#define GL_ONE_MINUS_SRC_ALPHA            0x0303
   1.409 -#define GL_DST_ALPHA                      0x0304
   1.410 -#define GL_ONE_MINUS_DST_ALPHA            0x0305
   1.411 -
   1.412 -/* BlendingFactorSrc */
   1.413 -/*      GL_ZERO */
   1.414 -/*      GL_ONE */
   1.415 -#define GL_DST_COLOR                      0x0306
   1.416 -#define GL_ONE_MINUS_DST_COLOR            0x0307
   1.417 -#define GL_SRC_ALPHA_SATURATE             0x0308
   1.418 -/*      GL_SRC_ALPHA */
   1.419 -/*      GL_ONE_MINUS_SRC_ALPHA */
   1.420 -/*      GL_DST_ALPHA */
   1.421 -/*      GL_ONE_MINUS_DST_ALPHA */
   1.422 -
   1.423 -/* BlendEquationSeparate */
   1.424 -#define GL_FUNC_ADD                       0x8006
   1.425 -#define GL_BLEND_EQUATION                 0x8009
   1.426 -#define GL_BLEND_EQUATION_RGB             0x8009    /* same as BLEND_EQUATION */
   1.427 -#define GL_BLEND_EQUATION_ALPHA           0x883D
   1.428 -
   1.429 -/* BlendSubtract */
   1.430 -#define GL_FUNC_SUBTRACT                  0x800A
   1.431 -#define GL_FUNC_REVERSE_SUBTRACT          0x800B
   1.432 -
   1.433 -/* Separate Blend Functions */
   1.434 -#define GL_BLEND_DST_RGB                  0x80C8
   1.435 -#define GL_BLEND_SRC_RGB                  0x80C9
   1.436 -#define GL_BLEND_DST_ALPHA                0x80CA
   1.437 -#define GL_BLEND_SRC_ALPHA                0x80CB
   1.438 -#define GL_CONSTANT_COLOR                 0x8001
   1.439 -#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
   1.440 -#define GL_CONSTANT_ALPHA                 0x8003
   1.441 -#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
   1.442 -#define GL_BLEND_COLOR                    0x8005
   1.443 -
   1.444 -/* Buffer Objects */
   1.445 -#define GL_ARRAY_BUFFER                   0x8892
   1.446 -#define GL_ELEMENT_ARRAY_BUFFER           0x8893
   1.447 -#define GL_ARRAY_BUFFER_BINDING           0x8894
   1.448 -#define GL_ELEMENT_ARRAY_BUFFER_BINDING   0x8895
   1.449 -
   1.450 -#define GL_STREAM_DRAW                    0x88E0
   1.451 -#define GL_STATIC_DRAW                    0x88E4
   1.452 -#define GL_DYNAMIC_DRAW                   0x88E8
   1.453 -
   1.454 -#define GL_BUFFER_SIZE                    0x8764
   1.455 -#define GL_BUFFER_USAGE                   0x8765
   1.456 -
   1.457 -#define GL_CURRENT_VERTEX_ATTRIB          0x8626
   1.458 -
   1.459 -/* CullFaceMode */
   1.460 -#define GL_FRONT                          0x0404
   1.461 -#define GL_BACK                           0x0405
   1.462 -#define GL_FRONT_AND_BACK                 0x0408
   1.463 -
   1.464 -/* DepthFunction */
   1.465 -/*      GL_NEVER */
   1.466 -/*      GL_LESS */
   1.467 -/*      GL_EQUAL */
   1.468 -/*      GL_LEQUAL */
   1.469 -/*      GL_GREATER */
   1.470 -/*      GL_NOTEQUAL */
   1.471 -/*      GL_GEQUAL */
   1.472 -/*      GL_ALWAYS */
   1.473 -
   1.474 -/* EnableCap */
   1.475 -#define GL_TEXTURE_2D                     0x0DE1
   1.476 -#define GL_CULL_FACE                      0x0B44
   1.477 -#define GL_BLEND                          0x0BE2
   1.478 -#define GL_DITHER                         0x0BD0
   1.479 -#define GL_STENCIL_TEST                   0x0B90
   1.480 -#define GL_DEPTH_TEST                     0x0B71
   1.481 -#define GL_SCISSOR_TEST                   0x0C11
   1.482 -#define GL_POLYGON_OFFSET_FILL            0x8037
   1.483 -#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E
   1.484 -#define GL_SAMPLE_COVERAGE                0x80A0
   1.485 -
   1.486 -/* ErrorCode */
   1.487 -#define GL_NO_ERROR                       0
   1.488 -#define GL_INVALID_ENUM                   0x0500
   1.489 -#define GL_INVALID_VALUE                  0x0501
   1.490 -#define GL_INVALID_OPERATION              0x0502
   1.491 -#define GL_OUT_OF_MEMORY                  0x0505
   1.492 -
   1.493 -/* FrontFaceDirection */
   1.494 -#define GL_CW                             0x0900
   1.495 -#define GL_CCW                            0x0901
   1.496 -
   1.497 -/* GetPName */
   1.498 -#define GL_LINE_WIDTH                     0x0B21
   1.499 -#define GL_ALIASED_POINT_SIZE_RANGE       0x846D
   1.500 -#define GL_ALIASED_LINE_WIDTH_RANGE       0x846E
   1.501 -#define GL_CULL_FACE_MODE                 0x0B45
   1.502 -#define GL_FRONT_FACE                     0x0B46
   1.503 -#define GL_DEPTH_RANGE                    0x0B70
   1.504 -#define GL_DEPTH_WRITEMASK                0x0B72
   1.505 -#define GL_DEPTH_CLEAR_VALUE              0x0B73
   1.506 -#define GL_DEPTH_FUNC                     0x0B74
   1.507 -#define GL_STENCIL_CLEAR_VALUE            0x0B91
   1.508 -#define GL_STENCIL_FUNC                   0x0B92
   1.509 -#define GL_STENCIL_FAIL                   0x0B94
   1.510 -#define GL_STENCIL_PASS_DEPTH_FAIL        0x0B95
   1.511 -#define GL_STENCIL_PASS_DEPTH_PASS        0x0B96
   1.512 -#define GL_STENCIL_REF                    0x0B97
   1.513 -#define GL_STENCIL_VALUE_MASK             0x0B93
   1.514 -#define GL_STENCIL_WRITEMASK              0x0B98
   1.515 -#define GL_STENCIL_BACK_FUNC              0x8800
   1.516 -#define GL_STENCIL_BACK_FAIL              0x8801
   1.517 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL   0x8802
   1.518 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS   0x8803
   1.519 -#define GL_STENCIL_BACK_REF               0x8CA3
   1.520 -#define GL_STENCIL_BACK_VALUE_MASK        0x8CA4
   1.521 -#define GL_STENCIL_BACK_WRITEMASK         0x8CA5
   1.522 -#define GL_VIEWPORT                       0x0BA2
   1.523 -#define GL_SCISSOR_BOX                    0x0C10
   1.524 -/*      GL_SCISSOR_TEST */
   1.525 -#define GL_COLOR_CLEAR_VALUE              0x0C22
   1.526 -#define GL_COLOR_WRITEMASK                0x0C23
   1.527 -#define GL_UNPACK_ALIGNMENT               0x0CF5
   1.528 -#define GL_PACK_ALIGNMENT                 0x0D05
   1.529 -#define GL_MAX_TEXTURE_SIZE               0x0D33
   1.530 -#define GL_MAX_VIEWPORT_DIMS              0x0D3A
   1.531 -#define GL_SUBPIXEL_BITS                  0x0D50
   1.532 -#define GL_RED_BITS                       0x0D52
   1.533 -#define GL_GREEN_BITS                     0x0D53
   1.534 -#define GL_BLUE_BITS                      0x0D54
   1.535 -#define GL_ALPHA_BITS                     0x0D55
   1.536 -#define GL_DEPTH_BITS                     0x0D56
   1.537 -#define GL_STENCIL_BITS                   0x0D57
   1.538 -#define GL_POLYGON_OFFSET_UNITS           0x2A00
   1.539 -/*      GL_POLYGON_OFFSET_FILL */
   1.540 -#define GL_POLYGON_OFFSET_FACTOR          0x8038
   1.541 -#define GL_TEXTURE_BINDING_2D             0x8069
   1.542 -#define GL_SAMPLE_BUFFERS                 0x80A8
   1.543 -#define GL_SAMPLES                        0x80A9
   1.544 -#define GL_SAMPLE_COVERAGE_VALUE          0x80AA
   1.545 -#define GL_SAMPLE_COVERAGE_INVERT         0x80AB
   1.546 -
   1.547 -/* GetTextureParameter */
   1.548 -/*      GL_TEXTURE_MAG_FILTER */
   1.549 -/*      GL_TEXTURE_MIN_FILTER */
   1.550 -/*      GL_TEXTURE_WRAP_S */
   1.551 -/*      GL_TEXTURE_WRAP_T */
   1.552 -
   1.553 -#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
   1.554 -#define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3
   1.555 -
   1.556 -/* HintMode */
   1.557 -#define GL_DONT_CARE                      0x1100
   1.558 -#define GL_FASTEST                        0x1101
   1.559 -#define GL_NICEST                         0x1102
   1.560 -
   1.561 -/* HintTarget */
   1.562 -#define GL_GENERATE_MIPMAP_HINT            0x8192
   1.563 -
   1.564 -/* DataType */
   1.565 -#define GL_BYTE                           0x1400
   1.566 -#define GL_UNSIGNED_BYTE                  0x1401
   1.567 -#define GL_SHORT                          0x1402
   1.568 -#define GL_UNSIGNED_SHORT                 0x1403
   1.569 -#define GL_INT                            0x1404
   1.570 -#define GL_UNSIGNED_INT                   0x1405
   1.571 -#define GL_FLOAT                          0x1406
   1.572 -#define GL_FIXED                          0x140C
   1.573 -
   1.574 -/* PixelFormat */
   1.575 -#define GL_DEPTH_COMPONENT                0x1902
   1.576 -#define GL_ALPHA                          0x1906
   1.577 -#define GL_RGB                            0x1907
   1.578 -#define GL_RGBA                           0x1908
   1.579 -#define GL_LUMINANCE                      0x1909
   1.580 -#define GL_LUMINANCE_ALPHA                0x190A
   1.581 -
   1.582 -/* PixelType */
   1.583 -/*      GL_UNSIGNED_BYTE */
   1.584 -#define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
   1.585 -#define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
   1.586 -#define GL_UNSIGNED_SHORT_5_6_5           0x8363
   1.587 -
   1.588 -/* Shaders */
   1.589 -#define GL_FRAGMENT_SHADER                  0x8B30
   1.590 -#define GL_VERTEX_SHADER                    0x8B31
   1.591 -#define GL_MAX_VERTEX_ATTRIBS               0x8869
   1.592 -#define GL_MAX_VERTEX_UNIFORM_VECTORS       0x8DFB
   1.593 -#define GL_MAX_VARYING_VECTORS              0x8DFC
   1.594 -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
   1.595 -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS   0x8B4C
   1.596 -#define GL_MAX_TEXTURE_IMAGE_UNITS          0x8872
   1.597 -#define GL_MAX_FRAGMENT_UNIFORM_VECTORS     0x8DFD
   1.598 -#define GL_SHADER_TYPE                      0x8B4F
   1.599 -#define GL_DELETE_STATUS                    0x8B80
   1.600 -#define GL_LINK_STATUS                      0x8B82
   1.601 -#define GL_VALIDATE_STATUS                  0x8B83
   1.602 -#define GL_ATTACHED_SHADERS                 0x8B85
   1.603 -#define GL_ACTIVE_UNIFORMS                  0x8B86
   1.604 -#define GL_ACTIVE_UNIFORM_MAX_LENGTH        0x8B87
   1.605 -#define GL_ACTIVE_ATTRIBUTES                0x8B89
   1.606 -#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH      0x8B8A
   1.607 -#define GL_SHADING_LANGUAGE_VERSION         0x8B8C
   1.608 -#define GL_CURRENT_PROGRAM                  0x8B8D
   1.609 -
   1.610 -/* StencilFunction */
   1.611 -#define GL_NEVER                          0x0200
   1.612 -#define GL_LESS                           0x0201
   1.613 -#define GL_EQUAL                          0x0202
   1.614 -#define GL_LEQUAL                         0x0203
   1.615 -#define GL_GREATER                        0x0204
   1.616 -#define GL_NOTEQUAL                       0x0205
   1.617 -#define GL_GEQUAL                         0x0206
   1.618 -#define GL_ALWAYS                         0x0207
   1.619 -
   1.620 -/* StencilOp */
   1.621 -/*      GL_ZERO */
   1.622 -#define GL_KEEP                           0x1E00
   1.623 -#define GL_REPLACE                        0x1E01
   1.624 -#define GL_INCR                           0x1E02
   1.625 -#define GL_DECR                           0x1E03
   1.626 -#define GL_INVERT                         0x150A
   1.627 -#define GL_INCR_WRAP                      0x8507
   1.628 -#define GL_DECR_WRAP                      0x8508
   1.629 -
   1.630 -/* StringName */
   1.631 -#define GL_VENDOR                         0x1F00
   1.632 -#define GL_RENDERER                       0x1F01
   1.633 -#define GL_VERSION                        0x1F02
   1.634 -#define GL_EXTENSIONS                     0x1F03
   1.635 -
   1.636 -/* TextureMagFilter */
   1.637 -#define GL_NEAREST                        0x2600
   1.638 -#define GL_LINEAR                         0x2601
   1.639 -
   1.640 -/* TextureMinFilter */
   1.641 -/*      GL_NEAREST */
   1.642 -/*      GL_LINEAR */
   1.643 -#define GL_NEAREST_MIPMAP_NEAREST         0x2700
   1.644 -#define GL_LINEAR_MIPMAP_NEAREST          0x2701
   1.645 -#define GL_NEAREST_MIPMAP_LINEAR          0x2702
   1.646 -#define GL_LINEAR_MIPMAP_LINEAR           0x2703
   1.647 -
   1.648 -/* TextureParameterName */
   1.649 -#define GL_TEXTURE_MAG_FILTER             0x2800
   1.650 -#define GL_TEXTURE_MIN_FILTER             0x2801
   1.651 -#define GL_TEXTURE_WRAP_S                 0x2802
   1.652 -#define GL_TEXTURE_WRAP_T                 0x2803
   1.653 -
   1.654 -/* TextureTarget */
   1.655 -/*      GL_TEXTURE_2D */
   1.656 -#define GL_TEXTURE                        0x1702
   1.657 -
   1.658 -#define GL_TEXTURE_CUBE_MAP               0x8513
   1.659 -#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514
   1.660 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515
   1.661 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516
   1.662 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517
   1.663 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518
   1.664 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519
   1.665 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A
   1.666 -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C
   1.667 -
   1.668 -/* TextureUnit */
   1.669 -#define GL_TEXTURE0                       0x84C0
   1.670 -#define GL_TEXTURE1                       0x84C1
   1.671 -#define GL_TEXTURE2                       0x84C2
   1.672 -#define GL_TEXTURE3                       0x84C3
   1.673 -#define GL_TEXTURE4                       0x84C4
   1.674 -#define GL_TEXTURE5                       0x84C5
   1.675 -#define GL_TEXTURE6                       0x84C6
   1.676 -#define GL_TEXTURE7                       0x84C7
   1.677 -#define GL_TEXTURE8                       0x84C8
   1.678 -#define GL_TEXTURE9                       0x84C9
   1.679 -#define GL_TEXTURE10                      0x84CA
   1.680 -#define GL_TEXTURE11                      0x84CB
   1.681 -#define GL_TEXTURE12                      0x84CC
   1.682 -#define GL_TEXTURE13                      0x84CD
   1.683 -#define GL_TEXTURE14                      0x84CE
   1.684 -#define GL_TEXTURE15                      0x84CF
   1.685 -#define GL_TEXTURE16                      0x84D0
   1.686 -#define GL_TEXTURE17                      0x84D1
   1.687 -#define GL_TEXTURE18                      0x84D2
   1.688 -#define GL_TEXTURE19                      0x84D3
   1.689 -#define GL_TEXTURE20                      0x84D4
   1.690 -#define GL_TEXTURE21                      0x84D5
   1.691 -#define GL_TEXTURE22                      0x84D6
   1.692 -#define GL_TEXTURE23                      0x84D7
   1.693 -#define GL_TEXTURE24                      0x84D8
   1.694 -#define GL_TEXTURE25                      0x84D9
   1.695 -#define GL_TEXTURE26                      0x84DA
   1.696 -#define GL_TEXTURE27                      0x84DB
   1.697 -#define GL_TEXTURE28                      0x84DC
   1.698 -#define GL_TEXTURE29                      0x84DD
   1.699 -#define GL_TEXTURE30                      0x84DE
   1.700 -#define GL_TEXTURE31                      0x84DF
   1.701 -#define GL_ACTIVE_TEXTURE                 0x84E0
   1.702 -
   1.703 -/* TextureWrapMode */
   1.704 -#define GL_REPEAT                         0x2901
   1.705 -#define GL_CLAMP_TO_EDGE                  0x812F
   1.706 -#define GL_MIRRORED_REPEAT                0x8370
   1.707 -
   1.708 -/* Uniform Types */
   1.709 -#define GL_FLOAT_VEC2                     0x8B50
   1.710 -#define GL_FLOAT_VEC3                     0x8B51
   1.711 -#define GL_FLOAT_VEC4                     0x8B52
   1.712 -#define GL_INT_VEC2                       0x8B53
   1.713 -#define GL_INT_VEC3                       0x8B54
   1.714 -#define GL_INT_VEC4                       0x8B55
   1.715 -#define GL_BOOL                           0x8B56
   1.716 -#define GL_BOOL_VEC2                      0x8B57
   1.717 -#define GL_BOOL_VEC3                      0x8B58
   1.718 -#define GL_BOOL_VEC4                      0x8B59
   1.719 -#define GL_FLOAT_MAT2                     0x8B5A
   1.720 -#define GL_FLOAT_MAT3                     0x8B5B
   1.721 -#define GL_FLOAT_MAT4                     0x8B5C
   1.722 -#define GL_SAMPLER_2D                     0x8B5E
   1.723 -#define GL_SAMPLER_CUBE                   0x8B60
   1.724 -
   1.725 -/* Vertex Arrays */
   1.726 -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED        0x8622
   1.727 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE           0x8623
   1.728 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE         0x8624
   1.729 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE           0x8625
   1.730 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED     0x886A
   1.731 -#define GL_VERTEX_ATTRIB_ARRAY_POINTER        0x8645
   1.732 -#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
   1.733 -
   1.734 -/* Read Format */
   1.735 -#define GL_IMPLEMENTATION_COLOR_READ_TYPE   0x8B9A
   1.736 -#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
   1.737 -
   1.738 -/* Shader Source */
   1.739 -#define GL_COMPILE_STATUS                 0x8B81
   1.740 -#define GL_INFO_LOG_LENGTH                0x8B84
   1.741 -#define GL_SHADER_SOURCE_LENGTH           0x8B88
   1.742 -#define GL_SHADER_COMPILER                0x8DFA
   1.743 -
   1.744 -/* Shader Binary */
   1.745 -#define GL_SHADER_BINARY_FORMATS          0x8DF8
   1.746 -#define GL_NUM_SHADER_BINARY_FORMATS      0x8DF9
   1.747 -
   1.748 -/* Shader Precision-Specified Types */
   1.749 -#define GL_LOW_FLOAT                      0x8DF0
   1.750 -#define GL_MEDIUM_FLOAT                   0x8DF1
   1.751 -#define GL_HIGH_FLOAT                     0x8DF2
   1.752 -#define GL_LOW_INT                        0x8DF3
   1.753 -#define GL_MEDIUM_INT                     0x8DF4
   1.754 -#define GL_HIGH_INT                       0x8DF5
   1.755 -
   1.756 -/* Framebuffer Object. */
   1.757 -#define GL_FRAMEBUFFER                    0x8D40
   1.758 -#define GL_RENDERBUFFER                   0x8D41
   1.759 -
   1.760 -#define GL_RGBA4                          0x8056
   1.761 -#define GL_RGB5_A1                        0x8057
   1.762 -#define GL_RGB565                         0x8D62
   1.763 -#define GL_DEPTH_COMPONENT16              0x81A5
   1.764 -#define GL_STENCIL_INDEX8                 0x8D48
   1.765 -
   1.766 -#define GL_RENDERBUFFER_WIDTH             0x8D42
   1.767 -#define GL_RENDERBUFFER_HEIGHT            0x8D43
   1.768 -#define GL_RENDERBUFFER_INTERNAL_FORMAT   0x8D44
   1.769 -#define GL_RENDERBUFFER_RED_SIZE          0x8D50
   1.770 -#define GL_RENDERBUFFER_GREEN_SIZE        0x8D51
   1.771 -#define GL_RENDERBUFFER_BLUE_SIZE         0x8D52
   1.772 -#define GL_RENDERBUFFER_ALPHA_SIZE        0x8D53
   1.773 -#define GL_RENDERBUFFER_DEPTH_SIZE        0x8D54
   1.774 -#define GL_RENDERBUFFER_STENCIL_SIZE      0x8D55
   1.775 -
   1.776 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE           0x8CD0
   1.777 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME           0x8CD1
   1.778 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL         0x8CD2
   1.779 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
   1.780 -
   1.781 -#define GL_COLOR_ATTACHMENT0              0x8CE0
   1.782 -#define GL_DEPTH_ATTACHMENT               0x8D00
   1.783 -#define GL_STENCIL_ATTACHMENT             0x8D20
   1.784 -
   1.785 -#define GL_NONE                           0
   1.786 -
   1.787 -#define GL_FRAMEBUFFER_COMPLETE                      0x8CD5
   1.788 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT         0x8CD6
   1.789 -#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
   1.790 -#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS         0x8CD9
   1.791 -#define GL_FRAMEBUFFER_UNSUPPORTED                   0x8CDD
   1.792 -
   1.793 -#define GL_FRAMEBUFFER_BINDING            0x8CA6
   1.794 -#define GL_RENDERBUFFER_BINDING           0x8CA7
   1.795 -#define GL_MAX_RENDERBUFFER_SIZE          0x84E8
   1.796 -
   1.797 -#define GL_INVALID_FRAMEBUFFER_OPERATION  0x0506
   1.798 -
   1.799 -/*-------------------------------------------------------------------------
   1.800 - * GL core functions.
   1.801 - *-----------------------------------------------------------------------*/
   1.802 -
   1.803 -GL_APICALL void         GL_APIENTRY glActiveTexture (GLenum texture);
   1.804 -GL_APICALL void         GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
   1.805 -GL_APICALL void         GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name);
   1.806 -GL_APICALL void         GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
   1.807 -GL_APICALL void         GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
   1.808 -GL_APICALL void         GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
   1.809 -GL_APICALL void         GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
   1.810 -GL_APICALL void         GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
   1.811 -GL_APICALL void         GL_APIENTRY glBlendEquation ( GLenum mode );
   1.812 -GL_APICALL void         GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
   1.813 -GL_APICALL void         GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
   1.814 -GL_APICALL void         GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
   1.815 -GL_APICALL void         GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
   1.816 -GL_APICALL void         GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
   1.817 -GL_APICALL GLenum       GL_APIENTRY glCheckFramebufferStatus (GLenum target);
   1.818 -GL_APICALL void         GL_APIENTRY glClear (GLbitfield mask);
   1.819 -GL_APICALL void         GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
   1.820 -GL_APICALL void         GL_APIENTRY glClearDepthf (GLclampf depth);
   1.821 -GL_APICALL void         GL_APIENTRY glClearStencil (GLint s);
   1.822 -GL_APICALL void         GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
   1.823 -GL_APICALL void         GL_APIENTRY glCompileShader (GLuint shader);
   1.824 -GL_APICALL void         GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
   1.825 -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.826 -GL_APICALL void         GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
   1.827 -GL_APICALL void         GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1.828 -GL_APICALL GLuint       GL_APIENTRY glCreateProgram (void);
   1.829 -GL_APICALL GLuint       GL_APIENTRY glCreateShader (GLenum type);
   1.830 -GL_APICALL void         GL_APIENTRY glCullFace (GLenum mode);
   1.831 -GL_APICALL void         GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers);
   1.832 -GL_APICALL void         GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers);
   1.833 -GL_APICALL void         GL_APIENTRY glDeleteProgram (GLuint program);
   1.834 -GL_APICALL void         GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers);
   1.835 -GL_APICALL void         GL_APIENTRY glDeleteShader (GLuint shader);
   1.836 -GL_APICALL void         GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures);
   1.837 -GL_APICALL void         GL_APIENTRY glDepthFunc (GLenum func);
   1.838 -GL_APICALL void         GL_APIENTRY glDepthMask (GLboolean flag);
   1.839 -GL_APICALL void         GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar);
   1.840 -GL_APICALL void         GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
   1.841 -GL_APICALL void         GL_APIENTRY glDisable (GLenum cap);
   1.842 -GL_APICALL void         GL_APIENTRY glDisableVertexAttribArray (GLuint index);
   1.843 -GL_APICALL void         GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
   1.844 -GL_APICALL void         GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
   1.845 -GL_APICALL void         GL_APIENTRY glEnable (GLenum cap);
   1.846 -GL_APICALL void         GL_APIENTRY glEnableVertexAttribArray (GLuint index);
   1.847 -GL_APICALL void         GL_APIENTRY glFinish (void);
   1.848 -GL_APICALL void         GL_APIENTRY glFlush (void);
   1.849 -GL_APICALL void         GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
   1.850 -GL_APICALL void         GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
   1.851 -GL_APICALL void         GL_APIENTRY glFrontFace (GLenum mode);
   1.852 -GL_APICALL void         GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers);
   1.853 -GL_APICALL void         GL_APIENTRY glGenerateMipmap (GLenum target);
   1.854 -GL_APICALL void         GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers);
   1.855 -GL_APICALL void         GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);
   1.856 -GL_APICALL void         GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures);
   1.857 -GL_APICALL void         GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
   1.858 -GL_APICALL void         GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
   1.859 -GL_APICALL void         GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
   1.860 -GL_APICALL int          GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);
   1.861 -GL_APICALL void         GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params);
   1.862 -GL_APICALL void         GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
   1.863 -GL_APICALL GLenum       GL_APIENTRY glGetError (void);
   1.864 -GL_APICALL void         GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params);
   1.865 -GL_APICALL void         GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
   1.866 -GL_APICALL void         GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params);
   1.867 -GL_APICALL void         GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params);
   1.868 -GL_APICALL void         GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
   1.869 -GL_APICALL void         GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);
   1.870 -GL_APICALL void         GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params);
   1.871 -GL_APICALL void         GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
   1.872 -GL_APICALL void         GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
   1.873 -GL_APICALL void         GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
   1.874 -GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name);
   1.875 -GL_APICALL void         GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);
   1.876 -GL_APICALL void         GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
   1.877 -GL_APICALL void         GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params);
   1.878 -GL_APICALL void         GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params);
   1.879 -GL_APICALL int          GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);
   1.880 -GL_APICALL void         GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
   1.881 -GL_APICALL void         GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
   1.882 -GL_APICALL void         GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);
   1.883 -GL_APICALL void         GL_APIENTRY glHint (GLenum target, GLenum mode);
   1.884 -GL_APICALL GLboolean    GL_APIENTRY glIsBuffer (GLuint buffer);
   1.885 -GL_APICALL GLboolean    GL_APIENTRY glIsEnabled (GLenum cap);
   1.886 -GL_APICALL GLboolean    GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
   1.887 -GL_APICALL GLboolean    GL_APIENTRY glIsProgram (GLuint program);
   1.888 -GL_APICALL GLboolean    GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
   1.889 -GL_APICALL GLboolean    GL_APIENTRY glIsShader (GLuint shader);
   1.890 -GL_APICALL GLboolean    GL_APIENTRY glIsTexture (GLuint texture);
   1.891 -GL_APICALL void         GL_APIENTRY glLineWidth (GLfloat width);
   1.892 -GL_APICALL void         GL_APIENTRY glLinkProgram (GLuint program);
   1.893 -GL_APICALL void         GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
   1.894 -GL_APICALL void         GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
   1.895 -GL_APICALL void         GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
   1.896 -GL_APICALL void         GL_APIENTRY glReleaseShaderCompiler (void);
   1.897 -GL_APICALL void         GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
   1.898 -GL_APICALL void         GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
   1.899 -GL_APICALL void         GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
   1.900 -GL_APICALL void         GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
   1.901 -GL_APICALL void         GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
   1.902 -GL_APICALL void         GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
   1.903 -GL_APICALL void         GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
   1.904 -GL_APICALL void         GL_APIENTRY glStencilMask (GLuint mask);
   1.905 -GL_APICALL void         GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
   1.906 -GL_APICALL void         GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
   1.907 -GL_APICALL void         GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
   1.908 -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.909 -GL_APICALL void         GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
   1.910 -GL_APICALL void         GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params);
   1.911 -GL_APICALL void         GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
   1.912 -GL_APICALL void         GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params);
   1.913 -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.914 -GL_APICALL void         GL_APIENTRY glUniform1f (GLint location, GLfloat x);
   1.915 -GL_APICALL void         GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v);
   1.916 -GL_APICALL void         GL_APIENTRY glUniform1i (GLint location, GLint x);
   1.917 -GL_APICALL void         GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v);
   1.918 -GL_APICALL void         GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y);
   1.919 -GL_APICALL void         GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v);
   1.920 -GL_APICALL void         GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y);
   1.921 -GL_APICALL void         GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v);
   1.922 -GL_APICALL void         GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z);
   1.923 -GL_APICALL void         GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v);
   1.924 -GL_APICALL void         GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z);
   1.925 -GL_APICALL void         GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v);
   1.926 -GL_APICALL void         GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1.927 -GL_APICALL void         GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v);
   1.928 -GL_APICALL void         GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w);
   1.929 -GL_APICALL void         GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v);
   1.930 -GL_APICALL void         GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
   1.931 -GL_APICALL void         GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
   1.932 -GL_APICALL void         GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
   1.933 -GL_APICALL void         GL_APIENTRY glUseProgram (GLuint program);
   1.934 -GL_APICALL void         GL_APIENTRY glValidateProgram (GLuint program);
   1.935 -GL_APICALL void         GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x);
   1.936 -GL_APICALL void         GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values);
   1.937 -GL_APICALL void         GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y);
   1.938 -GL_APICALL void         GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values);
   1.939 -GL_APICALL void         GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z);
   1.940 -GL_APICALL void         GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values);
   1.941 -GL_APICALL void         GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1.942 -GL_APICALL void         GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values);
   1.943 -GL_APICALL void         GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
   1.944 -GL_APICALL void         GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
   1.945 -
   1.946 -#ifdef __cplusplus
   1.947 -}
   1.948 -#endif
   1.949 -
   1.950 -#endif /* __gl2_h_ */
   1.951 -
   1.952 -
   1.953 -#ifndef __gl2ext_h_
   1.954 -#define __gl2ext_h_
   1.955 -
   1.956 -/* $Revision: 19436 $ on $Date:: 2012-10-10 10:37:04 -0700 #$ */
   1.957 -
   1.958 -#ifdef __cplusplus
   1.959 -extern "C" {
   1.960 -#endif
   1.961 -
   1.962 -/*
   1.963 - * This document is licensed under the SGI Free Software B License Version
   1.964 - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
   1.965 - */
   1.966 -
   1.967 -#ifndef GL_APIENTRYP
   1.968 -#   define GL_APIENTRYP GL_APIENTRY*
   1.969 -#endif
   1.970 -
   1.971 -/*------------------------------------------------------------------------*
   1.972 - * OES extension tokens
   1.973 - *------------------------------------------------------------------------*/
   1.974 -
   1.975 -/* GL_OES_compressed_ETC1_RGB8_texture */
   1.976 -#ifndef GL_OES_compressed_ETC1_RGB8_texture
   1.977 -#define GL_ETC1_RGB8_OES                                        0x8D64
   1.978 -#endif
   1.979 -
   1.980 -/* GL_OES_compressed_paletted_texture */
   1.981 -#ifndef GL_OES_compressed_paletted_texture
   1.982 -#define GL_PALETTE4_RGB8_OES                                    0x8B90
   1.983 -#define GL_PALETTE4_RGBA8_OES                                   0x8B91
   1.984 -#define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
   1.985 -#define GL_PALETTE4_RGBA4_OES                                   0x8B93
   1.986 -#define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
   1.987 -#define GL_PALETTE8_RGB8_OES                                    0x8B95
   1.988 -#define GL_PALETTE8_RGBA8_OES                                   0x8B96
   1.989 -#define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
   1.990 -#define GL_PALETTE8_RGBA4_OES                                   0x8B98
   1.991 -#define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
   1.992 -#endif
   1.993 -
   1.994 -/* GL_OES_depth24 */
   1.995 -#ifndef GL_OES_depth24
   1.996 -#define GL_DEPTH_COMPONENT24_OES                                0x81A6
   1.997 -#endif
   1.998 -
   1.999 -/* GL_OES_depth32 */
  1.1000 -#ifndef GL_OES_depth32
  1.1001 -#define GL_DEPTH_COMPONENT32_OES                                0x81A7
  1.1002 -#endif
  1.1003 -
  1.1004 -/* GL_OES_depth_texture */
  1.1005 -/* No new tokens introduced by this extension. */
  1.1006 -
  1.1007 -/* GL_OES_EGL_image */
  1.1008 -#ifndef GL_OES_EGL_image
  1.1009 -typedef void* GLeglImageOES;
  1.1010 -#endif
  1.1011 -
  1.1012 -/* GL_OES_EGL_image_external */
  1.1013 -#ifndef GL_OES_EGL_image_external
  1.1014 -/* GLeglImageOES defined in GL_OES_EGL_image already. */
  1.1015 -#define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
  1.1016 -#define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
  1.1017 -#define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
  1.1018 -#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
  1.1019 -#endif
  1.1020 -
  1.1021 -/* GL_OES_element_index_uint */
  1.1022 -#ifndef GL_OES_element_index_uint
  1.1023 -#define GL_UNSIGNED_INT                                         0x1405
  1.1024 -#endif
  1.1025 -
  1.1026 -/* GL_OES_get_program_binary */
  1.1027 -#ifndef GL_OES_get_program_binary
  1.1028 -#define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
  1.1029 -#define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
  1.1030 -#define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
  1.1031 -#endif
  1.1032 -
  1.1033 -/* GL_OES_mapbuffer */
  1.1034 -#ifndef GL_OES_mapbuffer
  1.1035 -#define GL_WRITE_ONLY_OES                                       0x88B9
  1.1036 -#define GL_BUFFER_ACCESS_OES                                    0x88BB
  1.1037 -#define GL_BUFFER_MAPPED_OES                                    0x88BC
  1.1038 -#define GL_BUFFER_MAP_POINTER_OES                               0x88BD
  1.1039 -#endif
  1.1040 -
  1.1041 -/* GL_OES_packed_depth_stencil */
  1.1042 -#ifndef GL_OES_packed_depth_stencil
  1.1043 -#define GL_DEPTH_STENCIL_OES                                    0x84F9
  1.1044 -#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
  1.1045 -#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
  1.1046 -#endif
  1.1047 -
  1.1048 -/* GL_OES_required_internalformat */
  1.1049 -#ifndef GL_OES_required_internalformat 
  1.1050 -#define GL_ALPHA8_OES                                           0x803C
  1.1051 -#define GL_DEPTH_COMPONENT16_OES                                0x81A5
  1.1052 -/* reuse GL_DEPTH_COMPONENT24_OES */                            
  1.1053 -/* reuse GL_DEPTH24_STENCIL8_OES */                             
  1.1054 -/* reuse GL_DEPTH_COMPONENT32_OES */                            
  1.1055 -#define GL_LUMINANCE4_ALPHA4_OES                                0x8043
  1.1056 -#define GL_LUMINANCE8_ALPHA8_OES                                0x8045
  1.1057 -#define GL_LUMINANCE8_OES                                       0x8040
  1.1058 -#define GL_RGBA4_OES                                            0x8056
  1.1059 -#define GL_RGB5_A1_OES                                          0x8057
  1.1060 -#define GL_RGB565_OES                                           0x8D62
  1.1061 -/* reuse GL_RGB8_OES */                              
  1.1062 -/* reuse GL_RGBA8_OES */  
  1.1063 -/* reuse GL_RGB10_EXT */
  1.1064 -/* reuse GL_RGB10_A2_EXT */
  1.1065 -#endif 
  1.1066 -
  1.1067 -/* GL_OES_rgb8_rgba8 */
  1.1068 -#ifndef GL_OES_rgb8_rgba8
  1.1069 -#define GL_RGB8_OES                                             0x8051
  1.1070 -#define GL_RGBA8_OES                                            0x8058
  1.1071 -#endif
  1.1072 -
  1.1073 -/* GL_OES_standard_derivatives */
  1.1074 -#ifndef GL_OES_standard_derivatives
  1.1075 -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
  1.1076 -#endif
  1.1077 -
  1.1078 -/* GL_OES_stencil1 */
  1.1079 -#ifndef GL_OES_stencil1
  1.1080 -#define GL_STENCIL_INDEX1_OES                                   0x8D46
  1.1081 -#endif
  1.1082 -
  1.1083 -/* GL_OES_stencil4 */
  1.1084 -#ifndef GL_OES_stencil4
  1.1085 -#define GL_STENCIL_INDEX4_OES                                   0x8D47
  1.1086 -#endif
  1.1087 -
  1.1088 -#ifndef GL_OES_surfaceless_context
  1.1089 -#define GL_FRAMEBUFFER_UNDEFINED_OES                            0x8219
  1.1090 -#endif
  1.1091 -
  1.1092 -/* GL_OES_texture_3D */
  1.1093 -#ifndef GL_OES_texture_3D
  1.1094 -#define GL_TEXTURE_WRAP_R_OES                                   0x8072
  1.1095 -#define GL_TEXTURE_3D_OES                                       0x806F
  1.1096 -#define GL_TEXTURE_BINDING_3D_OES                               0x806A
  1.1097 -#define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
  1.1098 -#define GL_SAMPLER_3D_OES                                       0x8B5F
  1.1099 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
  1.1100 -#endif
  1.1101 -
  1.1102 -/* GL_OES_texture_float */
  1.1103 -/* No new tokens introduced by this extension. */
  1.1104 -
  1.1105 -/* GL_OES_texture_float_linear */
  1.1106 -/* No new tokens introduced by this extension. */
  1.1107 -
  1.1108 -/* GL_OES_texture_half_float */
  1.1109 -#ifndef GL_OES_texture_half_float
  1.1110 -#define GL_HALF_FLOAT_OES                                       0x8D61
  1.1111 -#endif
  1.1112 -
  1.1113 -/* GL_OES_texture_half_float_linear */
  1.1114 -/* No new tokens introduced by this extension. */
  1.1115 -
  1.1116 -/* GL_OES_texture_npot */
  1.1117 -/* No new tokens introduced by this extension. */
  1.1118 -
  1.1119 -/* GL_OES_vertex_array_object */
  1.1120 -#ifndef GL_OES_vertex_array_object
  1.1121 -#define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
  1.1122 -#endif
  1.1123 -
  1.1124 -/* GL_OES_vertex_half_float */
  1.1125 -/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
  1.1126 -
  1.1127 -/* GL_OES_vertex_type_10_10_10_2 */
  1.1128 -#ifndef GL_OES_vertex_type_10_10_10_2
  1.1129 -#define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
  1.1130 -#define GL_INT_10_10_10_2_OES                                   0x8DF7
  1.1131 -#endif
  1.1132 -
  1.1133 -/*------------------------------------------------------------------------*
  1.1134 - * KHR extension tokens
  1.1135 - *------------------------------------------------------------------------*/
  1.1136 -
  1.1137 -#ifndef GL_KHR_debug
  1.1138 -typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
  1.1139 -#define GL_DEBUG_OUTPUT_SYNCHRONOUS                             0x8242
  1.1140 -#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH                     0x8243
  1.1141 -#define GL_DEBUG_CALLBACK_FUNCTION                              0x8244
  1.1142 -#define GL_DEBUG_CALLBACK_USER_PARAM                            0x8245
  1.1143 -#define GL_DEBUG_SOURCE_API                                     0x8246
  1.1144 -#define GL_DEBUG_SOURCE_WINDOW_SYSTEM                           0x8247
  1.1145 -#define GL_DEBUG_SOURCE_SHADER_COMPILER                         0x8248
  1.1146 -#define GL_DEBUG_SOURCE_THIRD_PARTY                             0x8249
  1.1147 -#define GL_DEBUG_SOURCE_APPLICATION                             0x824A
  1.1148 -#define GL_DEBUG_SOURCE_OTHER                                   0x824B
  1.1149 -#define GL_DEBUG_TYPE_ERROR                                     0x824C
  1.1150 -#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR                       0x824D
  1.1151 -#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR                        0x824E
  1.1152 -#define GL_DEBUG_TYPE_PORTABILITY                               0x824F
  1.1153 -#define GL_DEBUG_TYPE_PERFORMANCE                               0x8250
  1.1154 -#define GL_DEBUG_TYPE_OTHER                                     0x8251
  1.1155 -#define GL_DEBUG_TYPE_MARKER                                    0x8268
  1.1156 -#define GL_DEBUG_TYPE_PUSH_GROUP                                0x8269
  1.1157 -#define GL_DEBUG_TYPE_POP_GROUP                                 0x826A
  1.1158 -#define GL_DEBUG_SEVERITY_NOTIFICATION                          0x826B
  1.1159 -#define GL_MAX_DEBUG_GROUP_STACK_DEPTH                          0x826C
  1.1160 -#define GL_DEBUG_GROUP_STACK_DEPTH                              0x826D
  1.1161 -#define GL_BUFFER                                               0x82E0
  1.1162 -#define GL_SHADER                                               0x82E1
  1.1163 -#define GL_PROGRAM                                              0x82E2
  1.1164 -#define GL_QUERY                                                0x82E3
  1.1165 -/* PROGRAM_PIPELINE only in GL */                               
  1.1166 -#define GL_SAMPLER                                              0x82E6
  1.1167 -/* DISPLAY_LIST only in GL */                                   
  1.1168 -#define GL_MAX_LABEL_LENGTH                                     0x82E8
  1.1169 -#define GL_MAX_DEBUG_MESSAGE_LENGTH                             0x9143
  1.1170 -#define GL_MAX_DEBUG_LOGGED_MESSAGES                            0x9144
  1.1171 -#define GL_DEBUG_LOGGED_MESSAGES                                0x9145
  1.1172 -#define GL_DEBUG_SEVERITY_HIGH                                  0x9146
  1.1173 -#define GL_DEBUG_SEVERITY_MEDIUM                                0x9147
  1.1174 -#define GL_DEBUG_SEVERITY_LOW                                   0x9148
  1.1175 -#define GL_DEBUG_OUTPUT                                         0x92E0
  1.1176 -#define GL_CONTEXT_FLAG_DEBUG_BIT                               0x00000002
  1.1177 -#define GL_STACK_OVERFLOW                                       0x0503
  1.1178 -#define GL_STACK_UNDERFLOW                                      0x0504
  1.1179 -#endif
  1.1180 -
  1.1181 -#ifndef GL_KHR_texture_compression_astc_ldr
  1.1182 -#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                         0x93B0
  1.1183 -#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                         0x93B1
  1.1184 -#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                         0x93B2
  1.1185 -#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                         0x93B3
  1.1186 -#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                         0x93B4
  1.1187 -#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                         0x93B5
  1.1188 -#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                         0x93B6
  1.1189 -#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                         0x93B7
  1.1190 -#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                        0x93B8
  1.1191 -#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                        0x93B9
  1.1192 -#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                        0x93BA
  1.1193 -#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                       0x93BB
  1.1194 -#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                       0x93BC
  1.1195 -#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                       0x93BD
  1.1196 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                 0x93D0
  1.1197 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                 0x93D1
  1.1198 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                 0x93D2
  1.1199 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                 0x93D3
  1.1200 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                 0x93D4
  1.1201 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                 0x93D5
  1.1202 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                 0x93D6
  1.1203 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                 0x93D7
  1.1204 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                0x93D8
  1.1205 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                0x93D9
  1.1206 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                0x93DA
  1.1207 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR               0x93DB
  1.1208 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR               0x93DC
  1.1209 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR               0x93DD
  1.1210 -#endif
  1.1211 -
  1.1212 -/*------------------------------------------------------------------------*
  1.1213 - * AMD extension tokens
  1.1214 - *------------------------------------------------------------------------*/
  1.1215 -
  1.1216 -/* GL_AMD_compressed_3DC_texture */
  1.1217 -#ifndef GL_AMD_compressed_3DC_texture
  1.1218 -#define GL_3DC_X_AMD                                            0x87F9
  1.1219 -#define GL_3DC_XY_AMD                                           0x87FA
  1.1220 -#endif
  1.1221 -
  1.1222 -/* GL_AMD_compressed_ATC_texture */
  1.1223 -#ifndef GL_AMD_compressed_ATC_texture
  1.1224 -#define GL_ATC_RGB_AMD                                          0x8C92
  1.1225 -#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
  1.1226 -#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
  1.1227 -#endif
  1.1228 -
  1.1229 -/* GL_AMD_performance_monitor */
  1.1230 -#ifndef GL_AMD_performance_monitor
  1.1231 -#define GL_COUNTER_TYPE_AMD                                     0x8BC0
  1.1232 -#define GL_COUNTER_RANGE_AMD                                    0x8BC1
  1.1233 -#define GL_UNSIGNED_INT64_AMD                                   0x8BC2
  1.1234 -#define GL_PERCENTAGE_AMD                                       0x8BC3
  1.1235 -#define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
  1.1236 -#define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
  1.1237 -#define GL_PERFMON_RESULT_AMD                                   0x8BC6
  1.1238 -#endif
  1.1239 -
  1.1240 -/* GL_AMD_program_binary_Z400 */
  1.1241 -#ifndef GL_AMD_program_binary_Z400
  1.1242 -#define GL_Z400_BINARY_AMD                                      0x8740
  1.1243 -#endif
  1.1244 -
  1.1245 -/*------------------------------------------------------------------------*
  1.1246 - * ANGLE extension tokens
  1.1247 - *------------------------------------------------------------------------*/
  1.1248 -
  1.1249 -/* GL_ANGLE_framebuffer_blit */
  1.1250 -#ifndef GL_ANGLE_framebuffer_blit
  1.1251 -#define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
  1.1252 -#define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
  1.1253 -#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
  1.1254 -#define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
  1.1255 -#endif
  1.1256 -
  1.1257 -/* GL_ANGLE_framebuffer_multisample */
  1.1258 -#ifndef GL_ANGLE_framebuffer_multisample
  1.1259 -#define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
  1.1260 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
  1.1261 -#define GL_MAX_SAMPLES_ANGLE                                    0x8D57
  1.1262 -#endif
  1.1263 -
  1.1264 -/* GL_ANGLE_instanced_arrays */
  1.1265 -#ifndef GL_ANGLE_instanced_arrays 
  1.1266 -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
  1.1267 -#endif
  1.1268 -
  1.1269 -/* GL_ANGLE_pack_reverse_row_order */
  1.1270 -#ifndef GL_ANGLE_pack_reverse_row_order 
  1.1271 -#define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
  1.1272 -#endif
  1.1273 -
  1.1274 -/* GL_ANGLE_texture_compression_dxt3 */
  1.1275 -#ifndef GL_ANGLE_texture_compression_dxt3 
  1.1276 -#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
  1.1277 -#endif
  1.1278 -
  1.1279 -/* GL_ANGLE_texture_compression_dxt5 */
  1.1280 -#ifndef GL_ANGLE_texture_compression_dxt5 
  1.1281 -#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
  1.1282 -#endif
  1.1283 -
  1.1284 -/* GL_ANGLE_texture_usage */
  1.1285 -#ifndef GL_ANGLE_texture_usage 
  1.1286 -#define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
  1.1287 -#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
  1.1288 -#endif
  1.1289 -
  1.1290 -/* GL_ANGLE_translated_shader_source */
  1.1291 -#ifndef GL_ANGLE_translated_shader_source 
  1.1292 -#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
  1.1293 -#endif
  1.1294 -
  1.1295 -/*------------------------------------------------------------------------*
  1.1296 - * APPLE extension tokens
  1.1297 - *------------------------------------------------------------------------*/
  1.1298 -
  1.1299 -/* GL_APPLE_copy_texture_levels */
  1.1300 -/* No new tokens introduced by this extension. */
  1.1301 -    
  1.1302 -/* GL_APPLE_framebuffer_multisample */
  1.1303 -#ifndef GL_APPLE_framebuffer_multisample
  1.1304 -#define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
  1.1305 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
  1.1306 -#define GL_MAX_SAMPLES_APPLE                                    0x8D57
  1.1307 -#define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
  1.1308 -#define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
  1.1309 -#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
  1.1310 -#define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
  1.1311 -#endif
  1.1312 -
  1.1313 -/* GL_APPLE_rgb_422 */
  1.1314 -#ifndef GL_APPLE_rgb_422
  1.1315 -#define GL_RGB_422_APPLE                                        0x8A1F
  1.1316 -#define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
  1.1317 -#define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
  1.1318 -#endif
  1.1319 -
  1.1320 -/* GL_APPLE_sync */
  1.1321 -#ifndef GL_APPLE_sync
  1.1322 -
  1.1323 -#ifndef __gl3_h_
  1.1324 -/* These types are defined with reference to <inttypes.h>
  1.1325 - * in the Apple extension spec, but here we use the Khronos
  1.1326 - * portable types in khrplatform.h, and assume those types 
  1.1327 - * are always defined.
  1.1328 - * If any other extensions using these types are defined, 
  1.1329 - * the typedefs must move out of this block and be shared.
  1.1330 - */
  1.1331 -typedef khronos_int64_t GLint64;
  1.1332 -typedef khronos_uint64_t GLuint64;
  1.1333 -typedef struct __GLsync *GLsync;
  1.1334 -#endif
  1.1335 -
  1.1336 -#define GL_SYNC_OBJECT_APPLE                                    0x8A53
  1.1337 -#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
  1.1338 -#define GL_OBJECT_TYPE_APPLE                                    0x9112
  1.1339 -#define GL_SYNC_CONDITION_APPLE                                 0x9113
  1.1340 -#define GL_SYNC_STATUS_APPLE                                    0x9114
  1.1341 -#define GL_SYNC_FLAGS_APPLE                                     0x9115
  1.1342 -#define GL_SYNC_FENCE_APPLE                                     0x9116
  1.1343 -#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
  1.1344 -#define GL_UNSIGNALED_APPLE                                     0x9118
  1.1345 -#define GL_SIGNALED_APPLE                                       0x9119
  1.1346 -#define GL_ALREADY_SIGNALED_APPLE                               0x911A
  1.1347 -#define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
  1.1348 -#define GL_CONDITION_SATISFIED_APPLE                            0x911C
  1.1349 -#define GL_WAIT_FAILED_APPLE                                    0x911D
  1.1350 -#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
  1.1351 -#define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
  1.1352 -#endif
  1.1353 -
  1.1354 -/* GL_APPLE_texture_format_BGRA8888 */
  1.1355 -#ifndef GL_APPLE_texture_format_BGRA8888
  1.1356 -#define GL_BGRA_EXT                                             0x80E1
  1.1357 -#endif
  1.1358 -
  1.1359 -/* GL_APPLE_texture_max_level */
  1.1360 -#ifndef GL_APPLE_texture_max_level
  1.1361 -#define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
  1.1362 -#endif
  1.1363 -
  1.1364 -/*------------------------------------------------------------------------*
  1.1365 - * ARM extension tokens
  1.1366 - *------------------------------------------------------------------------*/
  1.1367 -
  1.1368 -/* GL_ARM_mali_program_binary */
  1.1369 -#ifndef GL_ARM_mali_program_binary
  1.1370 -#define GL_MALI_PROGRAM_BINARY_ARM                              0x8F61
  1.1371 -#endif
  1.1372 -
  1.1373 -/* GL_ARM_mali_shader_binary */
  1.1374 -#ifndef GL_ARM_mali_shader_binary
  1.1375 -#define GL_MALI_SHADER_BINARY_ARM                               0x8F60
  1.1376 -#endif
  1.1377 -
  1.1378 -/* GL_ARM_rgba8 */
  1.1379 -/* No new tokens introduced by this extension. */
  1.1380 -
  1.1381 -/*------------------------------------------------------------------------*
  1.1382 - * EXT extension tokens
  1.1383 - *------------------------------------------------------------------------*/
  1.1384 -
  1.1385 -/* GL_EXT_blend_minmax */
  1.1386 -#ifndef GL_EXT_blend_minmax
  1.1387 -#define GL_MIN_EXT                                              0x8007
  1.1388 -#define GL_MAX_EXT                                              0x8008
  1.1389 -#endif
  1.1390 -
  1.1391 -/* GL_EXT_color_buffer_half_float */
  1.1392 -#ifndef GL_EXT_color_buffer_half_float
  1.1393 -#define GL_RGBA16F_EXT                                          0x881A
  1.1394 -#define GL_RGB16F_EXT                                           0x881B
  1.1395 -#define GL_RG16F_EXT                                            0x822F
  1.1396 -#define GL_R16F_EXT                                             0x822D
  1.1397 -#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
  1.1398 -#define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
  1.1399 -#endif
  1.1400 -
  1.1401 -/* GL_EXT_debug_label */
  1.1402 -#ifndef GL_EXT_debug_label
  1.1403 -#define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
  1.1404 -#define GL_PROGRAM_OBJECT_EXT                                   0x8B40
  1.1405 -#define GL_SHADER_OBJECT_EXT                                    0x8B48
  1.1406 -#define GL_BUFFER_OBJECT_EXT                                    0x9151
  1.1407 -#define GL_QUERY_OBJECT_EXT                                     0x9153
  1.1408 -#define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
  1.1409 -#endif
  1.1410 -
  1.1411 -/* GL_EXT_debug_marker */
  1.1412 -/* No new tokens introduced by this extension. */
  1.1413 -
  1.1414 -/* GL_EXT_discard_framebuffer */
  1.1415 -#ifndef GL_EXT_discard_framebuffer
  1.1416 -#define GL_COLOR_EXT                                            0x1800
  1.1417 -#define GL_DEPTH_EXT                                            0x1801
  1.1418 -#define GL_STENCIL_EXT                                          0x1802
  1.1419 -#endif
  1.1420 -
  1.1421 -/* GL_EXT_map_buffer_range */
  1.1422 -#ifndef GL_EXT_map_buffer_range
  1.1423 -#define GL_MAP_READ_BIT_EXT                                     0x0001
  1.1424 -#define GL_MAP_WRITE_BIT_EXT                                    0x0002
  1.1425 -#define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
  1.1426 -#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
  1.1427 -#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
  1.1428 -#define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
  1.1429 -#endif
  1.1430 -
  1.1431 -/* GL_EXT_multisampled_render_to_texture */
  1.1432 -#ifndef GL_EXT_multisampled_render_to_texture
  1.1433 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
  1.1434 -/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ 
  1.1435 -#define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
  1.1436 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
  1.1437 -#define GL_MAX_SAMPLES_EXT                                      0x8D57
  1.1438 -#endif
  1.1439 -
  1.1440 -/* GL_EXT_multiview_draw_buffers */
  1.1441 -#ifndef GL_EXT_multiview_draw_buffers
  1.1442 -#define GL_COLOR_ATTACHMENT_EXT                                 0x90F0
  1.1443 -#define GL_MULTIVIEW_EXT                                        0x90F1
  1.1444 -#define GL_DRAW_BUFFER_EXT                                      0x0C01
  1.1445 -#define GL_READ_BUFFER_EXT                                      0x0C02
  1.1446 -#define GL_MAX_MULTIVIEW_BUFFERS_EXT                            0x90F2
  1.1447 -#endif
  1.1448 -
  1.1449 -/* GL_EXT_multi_draw_arrays */
  1.1450 -/* No new tokens introduced by this extension. */
  1.1451 -
  1.1452 -/* GL_EXT_occlusion_query_boolean */
  1.1453 -#ifndef GL_EXT_occlusion_query_boolean
  1.1454 -#define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
  1.1455 -#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
  1.1456 -#define GL_CURRENT_QUERY_EXT                                    0x8865
  1.1457 -#define GL_QUERY_RESULT_EXT                                     0x8866
  1.1458 -#define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
  1.1459 -#endif
  1.1460 -
  1.1461 -/* GL_EXT_read_format_bgra */
  1.1462 -#ifndef GL_EXT_read_format_bgra
  1.1463 -#define GL_BGRA_EXT                                             0x80E1
  1.1464 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
  1.1465 -#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
  1.1466 -#endif
  1.1467 -
  1.1468 -/* GL_EXT_robustness */
  1.1469 -#ifndef GL_EXT_robustness
  1.1470 -/* reuse GL_NO_ERROR */
  1.1471 -#define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
  1.1472 -#define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
  1.1473 -#define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
  1.1474 -#define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
  1.1475 -#define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
  1.1476 -#define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
  1.1477 -#define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
  1.1478 -#endif
  1.1479 -
  1.1480 -/* GL_EXT_separate_shader_objects */
  1.1481 -#ifndef GL_EXT_separate_shader_objects
  1.1482 -#define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
  1.1483 -#define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
  1.1484 -#define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
  1.1485 -#define GL_PROGRAM_SEPARABLE_EXT                                0x8258
  1.1486 -#define GL_ACTIVE_PROGRAM_EXT                                   0x8259
  1.1487 -#define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
  1.1488 -#endif
  1.1489 -
  1.1490 -/* GL_EXT_shader_framebuffer_fetch */
  1.1491 -#ifndef GL_EXT_shader_framebuffer_fetch
  1.1492 -#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                 0x8A52
  1.1493 -#endif
  1.1494 -
  1.1495 -/* GL_EXT_shader_texture_lod */
  1.1496 -/* No new tokens introduced by this extension. */
  1.1497 -
  1.1498 -/* GL_EXT_shadow_samplers */
  1.1499 -#ifndef GL_EXT_shadow_samplers
  1.1500 -#define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
  1.1501 -#define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
  1.1502 -#define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
  1.1503 -#define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
  1.1504 -#endif
  1.1505 -
  1.1506 -/* GL_EXT_sRGB */
  1.1507 -#ifndef GL_EXT_sRGB
  1.1508 -#define GL_SRGB_EXT                                             0x8C40
  1.1509 -#define GL_SRGB_ALPHA_EXT                                       0x8C42
  1.1510 -#define GL_SRGB8_ALPHA8_EXT                                     0x8C43
  1.1511 -#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
  1.1512 -#endif
  1.1513 -
  1.1514 -/* GL_EXT_texture_compression_dxt1 */
  1.1515 -#ifndef GL_EXT_texture_compression_dxt1
  1.1516 -#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
  1.1517 -#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
  1.1518 -#endif
  1.1519 -
  1.1520 -/* GL_EXT_texture_filter_anisotropic */
  1.1521 -#ifndef GL_EXT_texture_filter_anisotropic
  1.1522 -#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
  1.1523 -#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
  1.1524 -#endif
  1.1525 -
  1.1526 -/* GL_EXT_texture_format_BGRA8888 */
  1.1527 -#ifndef GL_EXT_texture_format_BGRA8888
  1.1528 -#define GL_BGRA_EXT                                             0x80E1
  1.1529 -#endif
  1.1530 -
  1.1531 -/* GL_EXT_texture_rg */
  1.1532 -#ifndef GL_EXT_texture_rg
  1.1533 -#define GL_RED_EXT                                              0x1903
  1.1534 -#define GL_RG_EXT                                               0x8227
  1.1535 -#define GL_R8_EXT                                               0x8229
  1.1536 -#define GL_RG8_EXT                                              0x822B
  1.1537 -#endif
  1.1538 -
  1.1539 -/* GL_EXT_texture_storage */
  1.1540 -#ifndef GL_EXT_texture_storage
  1.1541 -#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
  1.1542 -#define GL_ALPHA8_EXT                                           0x803C  
  1.1543 -#define GL_LUMINANCE8_EXT                                       0x8040
  1.1544 -#define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
  1.1545 -#define GL_RGBA32F_EXT                                          0x8814  
  1.1546 -#define GL_RGB32F_EXT                                           0x8815
  1.1547 -#define GL_ALPHA32F_EXT                                         0x8816
  1.1548 -#define GL_LUMINANCE32F_EXT                                     0x8818
  1.1549 -#define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
  1.1550 -/* reuse GL_RGBA16F_EXT */
  1.1551 -/* reuse GL_RGB16F_EXT */
  1.1552 -#define GL_ALPHA16F_EXT                                         0x881C
  1.1553 -#define GL_LUMINANCE16F_EXT                                     0x881E
  1.1554 -#define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
  1.1555 -#define GL_RGB10_A2_EXT                                         0x8059  
  1.1556 -#define GL_RGB10_EXT                                            0x8052
  1.1557 -#define GL_BGRA8_EXT                                            0x93A1
  1.1558 -#define GL_R8_EXT                                               0x8229
  1.1559 -#define GL_RG8_EXT                                              0x822B
  1.1560 -#define GL_R32F_EXT                                             0x822E  
  1.1561 -#define GL_RG32F_EXT                                            0x8230
  1.1562 -#define GL_R16F_EXT                                             0x822D
  1.1563 -#define GL_RG16F_EXT                                            0x822F
  1.1564 -#endif
  1.1565 -
  1.1566 -/* GL_EXT_texture_type_2_10_10_10_REV */
  1.1567 -#ifndef GL_EXT_texture_type_2_10_10_10_REV
  1.1568 -#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
  1.1569 -#endif
  1.1570 -
  1.1571 -/* GL_EXT_unpack_subimage */
  1.1572 -#ifndef GL_EXT_unpack_subimage
  1.1573 -#define GL_UNPACK_ROW_LENGTH                                    0x0CF2
  1.1574 -#define GL_UNPACK_SKIP_ROWS                                     0x0CF3
  1.1575 -#define GL_UNPACK_SKIP_PIXELS                                   0x0CF4
  1.1576 -#endif
  1.1577 -
  1.1578 -/*------------------------------------------------------------------------*
  1.1579 - * DMP extension tokens
  1.1580 - *------------------------------------------------------------------------*/
  1.1581 -
  1.1582 -/* GL_DMP_shader_binary */
  1.1583 -#ifndef GL_DMP_shader_binary
  1.1584 -#define GL_SHADER_BINARY_DMP                                    0x9250
  1.1585 -#endif
  1.1586 -
  1.1587 -/*------------------------------------------------------------------------*
  1.1588 - * FJ extension tokens
  1.1589 - *------------------------------------------------------------------------*/
  1.1590 -
  1.1591 -/* GL_FJ_shader_binary_GCCSO */
  1.1592 -#ifndef GL_FJ_shader_binary_GCCSO
  1.1593 -#define GCCSO_SHADER_BINARY_FJ                                  0x9260
  1.1594 -#endif
  1.1595 -
  1.1596 -/*------------------------------------------------------------------------*
  1.1597 - * IMG extension tokens
  1.1598 - *------------------------------------------------------------------------*/
  1.1599 -
  1.1600 -/* GL_IMG_program_binary */
  1.1601 -#ifndef GL_IMG_program_binary
  1.1602 -#define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
  1.1603 -#endif
  1.1604 -
  1.1605 -/* GL_IMG_read_format */
  1.1606 -#ifndef GL_IMG_read_format
  1.1607 -#define GL_BGRA_IMG                                             0x80E1
  1.1608 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
  1.1609 -#endif
  1.1610 -
  1.1611 -/* GL_IMG_shader_binary */
  1.1612 -#ifndef GL_IMG_shader_binary
  1.1613 -#define GL_SGX_BINARY_IMG                                       0x8C0A
  1.1614 -#endif
  1.1615 -
  1.1616 -/* GL_IMG_texture_compression_pvrtc */
  1.1617 -#ifndef GL_IMG_texture_compression_pvrtc
  1.1618 -#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
  1.1619 -#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
  1.1620 -#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
  1.1621 -#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
  1.1622 -#endif
  1.1623 -
  1.1624 -/* GL_IMG_multisampled_render_to_texture */
  1.1625 -#ifndef GL_IMG_multisampled_render_to_texture
  1.1626 -#define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
  1.1627 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
  1.1628 -#define GL_MAX_SAMPLES_IMG                                      0x9135
  1.1629 -#define GL_TEXTURE_SAMPLES_IMG                                  0x9136
  1.1630 -#endif
  1.1631 -
  1.1632 -/*------------------------------------------------------------------------*
  1.1633 - * NV extension tokens
  1.1634 - *------------------------------------------------------------------------*/
  1.1635 -
  1.1636 -/* GL_NV_coverage_sample */
  1.1637 -#ifndef GL_NV_coverage_sample
  1.1638 -#define GL_COVERAGE_COMPONENT_NV                                0x8ED0
  1.1639 -#define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
  1.1640 -#define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
  1.1641 -#define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
  1.1642 -#define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
  1.1643 -#define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
  1.1644 -#define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
  1.1645 -#define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
  1.1646 -#define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
  1.1647 -#endif
  1.1648 -
  1.1649 -/* GL_NV_depth_nonlinear */
  1.1650 -#ifndef GL_NV_depth_nonlinear
  1.1651 -#define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
  1.1652 -#endif
  1.1653 -
  1.1654 -/* GL_NV_draw_buffers */
  1.1655 -#ifndef GL_NV_draw_buffers
  1.1656 -#define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
  1.1657 -#define GL_DRAW_BUFFER0_NV                                      0x8825
  1.1658 -#define GL_DRAW_BUFFER1_NV                                      0x8826
  1.1659 -#define GL_DRAW_BUFFER2_NV                                      0x8827
  1.1660 -#define GL_DRAW_BUFFER3_NV                                      0x8828
  1.1661 -#define GL_DRAW_BUFFER4_NV                                      0x8829
  1.1662 -#define GL_DRAW_BUFFER5_NV                                      0x882A
  1.1663 -#define GL_DRAW_BUFFER6_NV                                      0x882B
  1.1664 -#define GL_DRAW_BUFFER7_NV                                      0x882C
  1.1665 -#define GL_DRAW_BUFFER8_NV                                      0x882D
  1.1666 -#define GL_DRAW_BUFFER9_NV                                      0x882E
  1.1667 -#define GL_DRAW_BUFFER10_NV                                     0x882F
  1.1668 -#define GL_DRAW_BUFFER11_NV                                     0x8830
  1.1669 -#define GL_DRAW_BUFFER12_NV                                     0x8831
  1.1670 -#define GL_DRAW_BUFFER13_NV                                     0x8832
  1.1671 -#define GL_DRAW_BUFFER14_NV                                     0x8833
  1.1672 -#define GL_DRAW_BUFFER15_NV                                     0x8834
  1.1673 -#define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
  1.1674 -#define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
  1.1675 -#define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
  1.1676 -#define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
  1.1677 -#define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
  1.1678 -#define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
  1.1679 -#define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
  1.1680 -#define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
  1.1681 -#define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
  1.1682 -#define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
  1.1683 -#define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
  1.1684 -#define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
  1.1685 -#define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
  1.1686 -#define GL_COLOR_ATTACHMENT13_NV                                0x8CED
  1.1687 -#define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
  1.1688 -#define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
  1.1689 -#endif
  1.1690 -
  1.1691 -/* GL_NV_fbo_color_attachments */
  1.1692 -#ifndef GL_NV_fbo_color_attachments
  1.1693 -#define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
  1.1694 -/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
  1.1695 -#endif
  1.1696 -
  1.1697 -/* GL_NV_fence */
  1.1698 -#ifndef GL_NV_fence
  1.1699 -#define GL_ALL_COMPLETED_NV                                     0x84F2
  1.1700 -#define GL_FENCE_STATUS_NV                                      0x84F3
  1.1701 -#define GL_FENCE_CONDITION_NV                                   0x84F4
  1.1702 -#endif
  1.1703 -
  1.1704 -/* GL_NV_read_buffer */
  1.1705 -#ifndef GL_NV_read_buffer
  1.1706 -#define GL_READ_BUFFER_NV                                       0x0C02
  1.1707 -#endif
  1.1708 -
  1.1709 -/* GL_NV_read_buffer_front */
  1.1710 -/* No new tokens introduced by this extension. */
  1.1711 -
  1.1712 -/* GL_NV_read_depth */
  1.1713 -/* No new tokens introduced by this extension. */
  1.1714 -
  1.1715 -/* GL_NV_read_depth_stencil */
  1.1716 -/* No new tokens introduced by this extension. */
  1.1717 -
  1.1718 -/* GL_NV_read_stencil */
  1.1719 -/* No new tokens introduced by this extension. */
  1.1720 -
  1.1721 -/* GL_NV_texture_compression_s3tc_update */
  1.1722 -/* No new tokens introduced by this extension. */
  1.1723 -
  1.1724 -/* GL_NV_texture_npot_2D_mipmap */
  1.1725 -/* No new tokens introduced by this extension. */
  1.1726 -
  1.1727 -/*------------------------------------------------------------------------*
  1.1728 - * QCOM extension tokens
  1.1729 - *------------------------------------------------------------------------*/
  1.1730 -
  1.1731 -/* GL_QCOM_alpha_test */
  1.1732 -#ifndef GL_QCOM_alpha_test
  1.1733 -#define GL_ALPHA_TEST_QCOM                                      0x0BC0
  1.1734 -#define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
  1.1735 -#define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
  1.1736 -#endif
  1.1737 -
  1.1738 -/* GL_QCOM_binning_control */
  1.1739 -#ifndef GL_QCOM_binning_control
  1.1740 -#define GL_BINNING_CONTROL_HINT_QCOM                            0x8FB0
  1.1741 -#define GL_CPU_OPTIMIZED_QCOM                                   0x8FB1
  1.1742 -#define GL_GPU_OPTIMIZED_QCOM                                   0x8FB2
  1.1743 -#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                    0x8FB3
  1.1744 -#endif
  1.1745 -
  1.1746 -/* GL_QCOM_driver_control */
  1.1747 -/* No new tokens introduced by this extension. */
  1.1748 -
  1.1749 -/* GL_QCOM_extended_get */
  1.1750 -#ifndef GL_QCOM_extended_get
  1.1751 -#define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
  1.1752 -#define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
  1.1753 -#define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
  1.1754 -#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
  1.1755 -#define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
  1.1756 -#define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
  1.1757 -#define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
  1.1758 -#define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
  1.1759 -#define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
  1.1760 -#define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
  1.1761 -#define GL_STATE_RESTORE                                        0x8BDC
  1.1762 -#endif
  1.1763 -
  1.1764 -/* GL_QCOM_extended_get2 */
  1.1765 -/* No new tokens introduced by this extension. */
  1.1766 -
  1.1767 -/* GL_QCOM_perfmon_global_mode */
  1.1768 -#ifndef GL_QCOM_perfmon_global_mode
  1.1769 -#define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
  1.1770 -#endif
  1.1771 -
  1.1772 -/* GL_QCOM_writeonly_rendering */
  1.1773 -#ifndef GL_QCOM_writeonly_rendering
  1.1774 -#define GL_WRITEONLY_RENDERING_QCOM                             0x8823
  1.1775 -#endif
  1.1776 -
  1.1777 -/* GL_QCOM_tiled_rendering */
  1.1778 -#ifndef GL_QCOM_tiled_rendering
  1.1779 -#define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
  1.1780 -#define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
  1.1781 -#define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
  1.1782 -#define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
  1.1783 -#define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
  1.1784 -#define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
  1.1785 -#define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
  1.1786 -#define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
  1.1787 -#define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
  1.1788 -#define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
  1.1789 -#define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
  1.1790 -#define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
  1.1791 -#define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
  1.1792 -#define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
  1.1793 -#define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
  1.1794 -#define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
  1.1795 -#define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
  1.1796 -#define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
  1.1797 -#define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
  1.1798 -#define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
  1.1799 -#define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
  1.1800 -#define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
  1.1801 -#define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
  1.1802 -#define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
  1.1803 -#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
  1.1804 -#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
  1.1805 -#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
  1.1806 -#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
  1.1807 -#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
  1.1808 -#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
  1.1809 -#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
  1.1810 -#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
  1.1811 -#endif
  1.1812 -
  1.1813 -/*------------------------------------------------------------------------*
  1.1814 - * VIV extension tokens
  1.1815 - *------------------------------------------------------------------------*/
  1.1816 -
  1.1817 -/* GL_VIV_shader_binary */
  1.1818 -#ifndef GL_VIV_shader_binary
  1.1819 -#define GL_SHADER_BINARY_VIV                                    0x8FC4
  1.1820 -#endif
  1.1821 -
  1.1822 -/*------------------------------------------------------------------------*
  1.1823 - * End of extension tokens, start of corresponding extension functions
  1.1824 - *------------------------------------------------------------------------*/
  1.1825 -
  1.1826 -/*------------------------------------------------------------------------*
  1.1827 - * OES extension functions
  1.1828 - *------------------------------------------------------------------------*/
  1.1829 -
  1.1830 -/* GL_OES_compressed_ETC1_RGB8_texture */
  1.1831 -#ifndef GL_OES_compressed_ETC1_RGB8_texture
  1.1832 -#define GL_OES_compressed_ETC1_RGB8_texture 1
  1.1833 -#endif
  1.1834 -
  1.1835 -/* GL_OES_compressed_paletted_texture */
  1.1836 -#ifndef GL_OES_compressed_paletted_texture
  1.1837 -#define GL_OES_compressed_paletted_texture 1
  1.1838 -#endif
  1.1839 -
  1.1840 -/* GL_OES_depth24 */
  1.1841 -#ifndef GL_OES_depth24
  1.1842 -#define GL_OES_depth24 1
  1.1843 -#endif
  1.1844 -
  1.1845 -/* GL_OES_depth32 */
  1.1846 -#ifndef GL_OES_depth32
  1.1847 -#define GL_OES_depth32 1
  1.1848 -#endif
  1.1849 -
  1.1850 -/* GL_OES_depth_texture */
  1.1851 -#ifndef GL_OES_depth_texture
  1.1852 -#define GL_OES_depth_texture 1
  1.1853 -#endif
  1.1854 -
  1.1855 -/* GL_OES_EGL_image */
  1.1856 -#ifndef GL_OES_EGL_image
  1.1857 -#define GL_OES_EGL_image 1
  1.1858 -#ifdef GL_GLEXT_PROTOTYPES
  1.1859 -GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  1.1860 -GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  1.1861 -#endif
  1.1862 -typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  1.1863 -typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  1.1864 -#endif
  1.1865 -
  1.1866 -/* GL_OES_EGL_image_external */
  1.1867 -#ifndef GL_OES_EGL_image_external
  1.1868 -#define GL_OES_EGL_image_external 1
  1.1869 -/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
  1.1870 -#endif
  1.1871 -
  1.1872 -/* GL_OES_element_index_uint */
  1.1873 -#ifndef GL_OES_element_index_uint
  1.1874 -#define GL_OES_element_index_uint 1
  1.1875 -#endif
  1.1876 -
  1.1877 -/* GL_OES_fbo_render_mipmap */
  1.1878 -#ifndef GL_OES_fbo_render_mipmap
  1.1879 -#define GL_OES_fbo_render_mipmap 1
  1.1880 -#endif
  1.1881 -
  1.1882 -/* GL_OES_fragment_precision_high */
  1.1883 -#ifndef GL_OES_fragment_precision_high
  1.1884 -#define GL_OES_fragment_precision_high 1
  1.1885 -#endif
  1.1886 -
  1.1887 -/* GL_OES_get_program_binary */
  1.1888 -#ifndef GL_OES_get_program_binary
  1.1889 -#define GL_OES_get_program_binary 1
  1.1890 -#ifdef GL_GLEXT_PROTOTYPES
  1.1891 -GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  1.1892 -GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  1.1893 -#endif
  1.1894 -typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  1.1895 -typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  1.1896 -#endif
  1.1897 -
  1.1898 -/* GL_OES_mapbuffer */
  1.1899 -#ifndef GL_OES_mapbuffer
  1.1900 -#define GL_OES_mapbuffer 1
  1.1901 -#ifdef GL_GLEXT_PROTOTYPES
  1.1902 -GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  1.1903 -GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  1.1904 -GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
  1.1905 -#endif
  1.1906 -typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  1.1907 -typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  1.1908 -typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
  1.1909 -#endif
  1.1910 -
  1.1911 -/* GL_OES_packed_depth_stencil */
  1.1912 -#ifndef GL_OES_packed_depth_stencil
  1.1913 -#define GL_OES_packed_depth_stencil 1
  1.1914 -#endif
  1.1915 -
  1.1916 -/* GL_OES_required_internalformat */
  1.1917 -#ifndef GL_OES_required_internalformat
  1.1918 -#define GL_OES_required_internalformat 1
  1.1919 -#endif
  1.1920 -
  1.1921 -/* GL_OES_rgb8_rgba8 */
  1.1922 -#ifndef GL_OES_rgb8_rgba8
  1.1923 -#define GL_OES_rgb8_rgba8 1
  1.1924 -#endif
  1.1925 -
  1.1926 -/* GL_OES_standard_derivatives */
  1.1927 -#ifndef GL_OES_standard_derivatives
  1.1928 -#define GL_OES_standard_derivatives 1
  1.1929 -#endif
  1.1930 -
  1.1931 -/* GL_OES_stencil1 */
  1.1932 -#ifndef GL_OES_stencil1
  1.1933 -#define GL_OES_stencil1 1
  1.1934 -#endif
  1.1935 -
  1.1936 -/* GL_OES_stencil4 */
  1.1937 -#ifndef GL_OES_stencil4
  1.1938 -#define GL_OES_stencil4 1
  1.1939 -#endif
  1.1940 -
  1.1941 -#ifndef GL_OES_surfaceless_context
  1.1942 -#define GL_OES_surfaceless_context 1
  1.1943 -#endif
  1.1944 -
  1.1945 -/* GL_OES_texture_3D */
  1.1946 -#ifndef GL_OES_texture_3D
  1.1947 -#define GL_OES_texture_3D 1
  1.1948 -#ifdef GL_GLEXT_PROTOTYPES
  1.1949 -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.1950 -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.1951 -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.1952 -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.1953 -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.1954 -GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  1.1955 -#endif
  1.1956 -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.1957 -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.1958 -typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  1.1959 -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.1960 -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.1961 -typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  1.1962 -#endif
  1.1963 -
  1.1964 -/* GL_OES_texture_float */
  1.1965 -#ifndef GL_OES_texture_float
  1.1966 -#define GL_OES_texture_float 1
  1.1967 -#endif
  1.1968 -
  1.1969 -/* GL_OES_texture_float_linear */
  1.1970 -#ifndef GL_OES_texture_float_linear
  1.1971 -#define GL_OES_texture_float_linear 1
  1.1972 -#endif
  1.1973 -
  1.1974 -/* GL_OES_texture_half_float */
  1.1975 -#ifndef GL_OES_texture_half_float
  1.1976 -#define GL_OES_texture_half_float 1
  1.1977 -#endif
  1.1978 -
  1.1979 -/* GL_OES_texture_half_float_linear */
  1.1980 -#ifndef GL_OES_texture_half_float_linear
  1.1981 -#define GL_OES_texture_half_float_linear 1
  1.1982 -#endif
  1.1983 -
  1.1984 -/* GL_OES_texture_npot */
  1.1985 -#ifndef GL_OES_texture_npot
  1.1986 -#define GL_OES_texture_npot 1
  1.1987 -#endif
  1.1988 -
  1.1989 -/* GL_OES_vertex_array_object */
  1.1990 -#ifndef GL_OES_vertex_array_object
  1.1991 -#define GL_OES_vertex_array_object 1
  1.1992 -#ifdef GL_GLEXT_PROTOTYPES
  1.1993 -GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  1.1994 -GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  1.1995 -GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  1.1996 -GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  1.1997 -#endif
  1.1998 -typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  1.1999 -typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  1.2000 -typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  1.2001 -typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  1.2002 -#endif
  1.2003 -
  1.2004 -/* GL_OES_vertex_half_float */
  1.2005 -#ifndef GL_OES_vertex_half_float
  1.2006 -#define GL_OES_vertex_half_float 1
  1.2007 -#endif
  1.2008 -
  1.2009 -/* GL_OES_vertex_type_10_10_10_2 */
  1.2010 -#ifndef GL_OES_vertex_type_10_10_10_2
  1.2011 -#define GL_OES_vertex_type_10_10_10_2 1
  1.2012 -#endif
  1.2013 -
  1.2014 -/*------------------------------------------------------------------------*
  1.2015 - * KHR extension functions
  1.2016 - *------------------------------------------------------------------------*/
  1.2017 -
  1.2018 -#ifndef GL_KHR_debug
  1.2019 -#define GL_KHR_debug 1
  1.2020 -#ifdef GL_GLEXT_PROTOTYPES
  1.2021 -GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1.2022 -GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1.2023 -GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
  1.2024 -GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1.2025 -GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1.2026 -GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
  1.2027 -GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1.2028 -GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2029 -GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
  1.2030 -GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2031 -GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
  1.2032 -#endif 
  1.2033 -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1.2034 -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1.2035 -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
  1.2036 -typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1.2037 -typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1.2038 -typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
  1.2039 -typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1.2040 -typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2041 -typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
  1.2042 -typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2043 -typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
  1.2044 -#endif
  1.2045 -
  1.2046 -#ifndef GL_KHR_texture_compression_astc_ldr
  1.2047 -#define GL_KHR_texture_compression_astc_ldr 1
  1.2048 -#endif
  1.2049 -
  1.2050 -
  1.2051 -/*------------------------------------------------------------------------*
  1.2052 - * AMD extension functions
  1.2053 - *------------------------------------------------------------------------*/
  1.2054 -
  1.2055 -/* GL_AMD_compressed_3DC_texture */
  1.2056 -#ifndef GL_AMD_compressed_3DC_texture
  1.2057 -#define GL_AMD_compressed_3DC_texture 1
  1.2058 -#endif
  1.2059 -
  1.2060 -/* GL_AMD_compressed_ATC_texture */
  1.2061 -#ifndef GL_AMD_compressed_ATC_texture
  1.2062 -#define GL_AMD_compressed_ATC_texture 1
  1.2063 -#endif
  1.2064 -
  1.2065 -/* AMD_performance_monitor */
  1.2066 -#ifndef GL_AMD_performance_monitor
  1.2067 -#define GL_AMD_performance_monitor 1
  1.2068 -#ifdef GL_GLEXT_PROTOTYPES
  1.2069 -GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1.2070 -GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1.2071 -GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1.2072 -GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1.2073 -GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1.2074 -GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1.2075 -GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1.2076 -GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1.2077 -GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  1.2078 -GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  1.2079 -GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1.2080 -#endif
  1.2081 -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1.2082 -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1.2083 -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1.2084 -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1.2085 -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1.2086 -typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1.2087 -typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1.2088 -typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1.2089 -typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  1.2090 -typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  1.2091 -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1.2092 -#endif
  1.2093 -
  1.2094 -/* GL_AMD_program_binary_Z400 */
  1.2095 -#ifndef GL_AMD_program_binary_Z400
  1.2096 -#define GL_AMD_program_binary_Z400 1
  1.2097 -#endif
  1.2098 -
  1.2099 -/*------------------------------------------------------------------------*
  1.2100 - * ANGLE extension functions
  1.2101 - *------------------------------------------------------------------------*/
  1.2102 -
  1.2103 -/* GL_ANGLE_framebuffer_blit */
  1.2104 -#ifndef GL_ANGLE_framebuffer_blit
  1.2105 -#define GL_ANGLE_framebuffer_blit 1
  1.2106 -#ifdef GL_GLEXT_PROTOTYPES
  1.2107 -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.2108 -#endif
  1.2109 -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.2110 -#endif
  1.2111 -
  1.2112 -/* GL_ANGLE_framebuffer_multisample */
  1.2113 -#ifndef GL_ANGLE_framebuffer_multisample
  1.2114 -#define GL_ANGLE_framebuffer_multisample 1
  1.2115 -#ifdef GL_GLEXT_PROTOTYPES
  1.2116 -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2117 -#endif
  1.2118 -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2119 -#endif
  1.2120 -
  1.2121 -#ifndef GL_ANGLE_instanced_arrays 
  1.2122 -#ifdef GL_GLEXT_PROTOTYPES
  1.2123 -GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1.2124 -GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1.2125 -GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
  1.2126 -#endif
  1.2127 -typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1.2128 -typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1.2129 -typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
  1.2130 -#endif
  1.2131 -
  1.2132 -/* GL_ANGLE_pack_reverse_row_order */
  1.2133 -#ifndef GL_ANGLE_pack_reverse_row_order 
  1.2134 -#define GL_ANGLE_pack_reverse_row_order 1
  1.2135 -#endif
  1.2136 -
  1.2137 -/* GL_ANGLE_texture_compression_dxt3 */
  1.2138 -#ifndef GL_ANGLE_texture_compression_dxt3 
  1.2139 -#define GL_ANGLE_texture_compression_dxt3 1
  1.2140 -#endif
  1.2141 -
  1.2142 -/* GL_ANGLE_texture_compression_dxt5 */
  1.2143 -#ifndef GL_ANGLE_texture_compression_dxt5 
  1.2144 -#define GL_ANGLE_texture_compression_dxt5 1
  1.2145 -#endif
  1.2146 -
  1.2147 -/* GL_ANGLE_texture_usage */
  1.2148 -#ifndef GL_ANGLE_texture_usage 
  1.2149 -#define GL_ANGLE_texture_usage 1
  1.2150 -#endif
  1.2151 -
  1.2152 -#ifndef GL_ANGLE_translated_shader_source 
  1.2153 -#define GL_ANGLE_translated_shader_source 1
  1.2154 -#ifdef GL_GLEXT_PROTOTYPES
  1.2155 -GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1.2156 -#endif
  1.2157 -typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1.2158 -#endif
  1.2159 -
  1.2160 -/*------------------------------------------------------------------------*
  1.2161 - * APPLE extension functions
  1.2162 - *------------------------------------------------------------------------*/
  1.2163 -
  1.2164 -/* GL_APPLE_copy_texture_levels */
  1.2165 -#ifndef GL_APPLE_copy_texture_levels
  1.2166 -#define GL_APPLE_copy_texture_levels 1
  1.2167 -#ifdef GL_GLEXT_PROTOTYPES
  1.2168 -GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1.2169 -#endif
  1.2170 -typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1.2171 -#endif
  1.2172 -
  1.2173 -/* GL_APPLE_framebuffer_multisample */
  1.2174 -#ifndef GL_APPLE_framebuffer_multisample
  1.2175 -#define GL_APPLE_framebuffer_multisample 1
  1.2176 -#ifdef GL_GLEXT_PROTOTYPES
  1.2177 -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1.2178 -GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  1.2179 -#endif /* GL_GLEXT_PROTOTYPES */
  1.2180 -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2181 -typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  1.2182 -#endif
  1.2183 -
  1.2184 -/* GL_APPLE_rgb_422 */
  1.2185 -#ifndef GL_APPLE_rgb_422
  1.2186 -#define GL_APPLE_rgb_422 1
  1.2187 -#endif
  1.2188 -
  1.2189 -/* GL_APPLE_sync */
  1.2190 -#ifndef GL_APPLE_sync
  1.2191 -#define GL_APPLE_sync 1
  1.2192 -#ifdef GL_GLEXT_PROTOTYPES
  1.2193 -GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
  1.2194 -GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
  1.2195 -GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
  1.2196 -GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1.2197 -GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1.2198 -GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
  1.2199 -GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1.2200 -#endif
  1.2201 -typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
  1.2202 -typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
  1.2203 -typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
  1.2204 -typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1.2205 -typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1.2206 -typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
  1.2207 -typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1.2208 -#endif
  1.2209 -
  1.2210 -/* GL_APPLE_texture_format_BGRA8888 */
  1.2211 -#ifndef GL_APPLE_texture_format_BGRA8888
  1.2212 -#define GL_APPLE_texture_format_BGRA8888 1
  1.2213 -#endif
  1.2214 -
  1.2215 -/* GL_APPLE_texture_max_level */
  1.2216 -#ifndef GL_APPLE_texture_max_level
  1.2217 -#define GL_APPLE_texture_max_level 1
  1.2218 -#endif
  1.2219 -
  1.2220 -/*------------------------------------------------------------------------*
  1.2221 - * ARM extension functions
  1.2222 - *------------------------------------------------------------------------*/
  1.2223 -
  1.2224 -/* GL_ARM_mali_program_binary */
  1.2225 -#ifndef GL_ARM_mali_program_binary
  1.2226 -#define GL_ARM_mali_program_binary 1
  1.2227 -#endif
  1.2228 -
  1.2229 -/* GL_ARM_mali_shader_binary */
  1.2230 -#ifndef GL_ARM_mali_shader_binary
  1.2231 -#define GL_ARM_mali_shader_binary 1
  1.2232 -#endif
  1.2233 -
  1.2234 -/* GL_ARM_rgba8 */
  1.2235 -#ifndef GL_ARM_rgba8
  1.2236 -#define GL_ARM_rgba8 1
  1.2237 -#endif
  1.2238 -
  1.2239 -/*------------------------------------------------------------------------*
  1.2240 - * EXT extension functions
  1.2241 - *------------------------------------------------------------------------*/
  1.2242 -
  1.2243 -/* GL_EXT_blend_minmax */
  1.2244 -#ifndef GL_EXT_blend_minmax
  1.2245 -#define GL_EXT_blend_minmax 1
  1.2246 -#endif
  1.2247 -
  1.2248 -/* GL_EXT_color_buffer_half_float */
  1.2249 -#ifndef GL_EXT_color_buffer_half_float
  1.2250 -#define GL_EXT_color_buffer_half_float 1
  1.2251 -#endif
  1.2252 -
  1.2253 -/* GL_EXT_debug_label */
  1.2254 -#ifndef GL_EXT_debug_label
  1.2255 -#define GL_EXT_debug_label 1
  1.2256 -#ifdef GL_GLEXT_PROTOTYPES
  1.2257 -GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1.2258 -GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2259 -#endif
  1.2260 -typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1.2261 -typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1.2262 -#endif
  1.2263 -
  1.2264 -/* GL_EXT_debug_marker */
  1.2265 -#ifndef GL_EXT_debug_marker
  1.2266 -#define GL_EXT_debug_marker 1
  1.2267 -#ifdef GL_GLEXT_PROTOTYPES
  1.2268 -GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
  1.2269 -GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
  1.2270 -GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
  1.2271 -#endif
  1.2272 -typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1.2273 -typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1.2274 -typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
  1.2275 -#endif
  1.2276 -
  1.2277 -/* GL_EXT_discard_framebuffer */
  1.2278 -#ifndef GL_EXT_discard_framebuffer
  1.2279 -#define GL_EXT_discard_framebuffer 1
  1.2280 -#ifdef GL_GLEXT_PROTOTYPES
  1.2281 -GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1.2282 -#endif
  1.2283 -typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1.2284 -#endif
  1.2285 -
  1.2286 -/* GL_EXT_map_buffer_range */
  1.2287 -#ifndef GL_EXT_map_buffer_range
  1.2288 -#define GL_EXT_map_buffer_range 1
  1.2289 -#ifdef GL_GLEXT_PROTOTYPES
  1.2290 -GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1.2291 -GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
  1.2292 -#endif
  1.2293 -typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1.2294 -typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  1.2295 -#endif
  1.2296 -
  1.2297 -/* GL_EXT_multisampled_render_to_texture */
  1.2298 -#ifndef GL_EXT_multisampled_render_to_texture
  1.2299 -#define GL_EXT_multisampled_render_to_texture 1
  1.2300 -#ifdef GL_GLEXT_PROTOTYPES
  1.2301 -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1.2302 -GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1.2303 -#endif
  1.2304 -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2305 -typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1.2306 -#endif
  1.2307 -
  1.2308 -/* GL_EXT_multiview_draw_buffers */
  1.2309 -#ifndef GL_EXT_multiview_draw_buffers
  1.2310 -#define GL_EXT_multiview_draw_buffers 1
  1.2311 -#ifdef GL_GLEXT_PROTOTYPES
  1.2312 -GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
  1.2313 -GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
  1.2314 -GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
  1.2315 -#endif
  1.2316 -typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
  1.2317 -typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
  1.2318 -typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
  1.2319 -#endif
  1.2320 -
  1.2321 -#ifndef GL_EXT_multi_draw_arrays
  1.2322 -#define GL_EXT_multi_draw_arrays 1
  1.2323 -#ifdef GL_GLEXT_PROTOTYPES
  1.2324 -GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
  1.2325 -GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
  1.2326 -#endif /* GL_GLEXT_PROTOTYPES */
  1.2327 -typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  1.2328 -typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  1.2329 -#endif
  1.2330 -
  1.2331 -/* GL_EXT_occlusion_query_boolean */
  1.2332 -#ifndef GL_EXT_occlusion_query_boolean
  1.2333 -#define GL_EXT_occlusion_query_boolean 1
  1.2334 -#ifdef GL_GLEXT_PROTOTYPES
  1.2335 -GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
  1.2336 -GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
  1.2337 -GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
  1.2338 -GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
  1.2339 -GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
  1.2340 -GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
  1.2341 -GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
  1.2342 -#endif
  1.2343 -typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
  1.2344 -typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
  1.2345 -typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
  1.2346 -typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
  1.2347 -typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
  1.2348 -typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  1.2349 -typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
  1.2350 -#endif
  1.2351 -
  1.2352 -/* GL_EXT_read_format_bgra */
  1.2353 -#ifndef GL_EXT_read_format_bgra
  1.2354 -#define GL_EXT_read_format_bgra 1
  1.2355 -#endif
  1.2356 -
  1.2357 -/* GL_EXT_robustness */
  1.2358 -#ifndef GL_EXT_robustness
  1.2359 -#define GL_EXT_robustness 1
  1.2360 -#ifdef GL_GLEXT_PROTOTYPES
  1.2361 -GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
  1.2362 -GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1.2363 -GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
  1.2364 -GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1.2365 -#endif
  1.2366 -typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
  1.2367 -typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1.2368 -typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
  1.2369 -typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1.2370 -#endif
  1.2371 -
  1.2372 -/* GL_EXT_separate_shader_objects */
  1.2373 -#ifndef GL_EXT_separate_shader_objects
  1.2374 -#define GL_EXT_separate_shader_objects 1
  1.2375 -#ifdef GL_GLEXT_PROTOTYPES
  1.2376 -GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
  1.2377 -GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
  1.2378 -GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
  1.2379 -GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
  1.2380 -GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
  1.2381 -GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
  1.2382 -GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
  1.2383 -GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
  1.2384 -GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
  1.2385 -GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
  1.2386 -GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
  1.2387 -GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1.2388 -GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1.2389 -GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
  1.2390 -GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
  1.2391 -GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1.2392 -GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1.2393 -GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2394 -GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2395 -GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2396 -GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2397 -GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2398 -GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2399 -GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2400 -GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2401 -GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2402 -GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2403 -GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2404 -GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
  1.2405 -GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1.2406 -#endif
  1.2407 -typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  1.2408 -typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
  1.2409 -typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
  1.2410 -typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1.2411 -typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
  1.2412 -typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
  1.2413 -typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1.2414 -typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
  1.2415 -typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
  1.2416 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
  1.2417 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
  1.2418 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1.2419 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1.2420 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
  1.2421 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
  1.2422 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1.2423 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1.2424 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2425 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2426 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2427 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1.2428 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2429 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2430 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2431 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1.2432 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2433 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2434 -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1.2435 -typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1.2436 -typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1.2437 -#endif
  1.2438 -
  1.2439 -/* GL_EXT_shader_framebuffer_fetch */
  1.2440 -#ifndef GL_EXT_shader_framebuffer_fetch
  1.2441 -#define GL_EXT_shader_framebuffer_fetch 1
  1.2442 -#endif
  1.2443 -
  1.2444 -/* GL_EXT_shader_texture_lod */
  1.2445 -#ifndef GL_EXT_shader_texture_lod
  1.2446 -#define GL_EXT_shader_texture_lod 1
  1.2447 -#endif
  1.2448 -
  1.2449 -/* GL_EXT_shadow_samplers */
  1.2450 -#ifndef GL_EXT_shadow_samplers
  1.2451 -#define GL_EXT_shadow_samplers 1
  1.2452 -#endif
  1.2453 -
  1.2454 -/* GL_EXT_sRGB */
  1.2455 -#ifndef GL_EXT_sRGB
  1.2456 -#define GL_EXT_sRGB 1
  1.2457 -#endif
  1.2458 -
  1.2459 -/* GL_EXT_texture_compression_dxt1 */
  1.2460 -#ifndef GL_EXT_texture_compression_dxt1
  1.2461 -#define GL_EXT_texture_compression_dxt1 1
  1.2462 -#endif
  1.2463 -
  1.2464 -/* GL_EXT_texture_filter_anisotropic */
  1.2465 -#ifndef GL_EXT_texture_filter_anisotropic
  1.2466 -#define GL_EXT_texture_filter_anisotropic 1
  1.2467 -#endif
  1.2468 -
  1.2469 -/* GL_EXT_texture_format_BGRA8888 */
  1.2470 -#ifndef GL_EXT_texture_format_BGRA8888
  1.2471 -#define GL_EXT_texture_format_BGRA8888 1
  1.2472 -#endif
  1.2473 -
  1.2474 -/* GL_EXT_texture_rg */
  1.2475 -#ifndef GL_EXT_texture_rg
  1.2476 -#define GL_EXT_texture_rg 1
  1.2477 -#endif
  1.2478 -
  1.2479 -/* GL_EXT_texture_storage */
  1.2480 -#ifndef GL_EXT_texture_storage
  1.2481 -#define GL_EXT_texture_storage 1
  1.2482 -#ifdef GL_GLEXT_PROTOTYPES
  1.2483 -GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1.2484 -GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1.2485 -GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1.2486 -GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1.2487 -GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1.2488 -GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1.2489 -#endif
  1.2490 -typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1.2491 -typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1.2492 -typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1.2493 -typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1.2494 -typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1.2495 -typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1.2496 -#endif
  1.2497 -
  1.2498 -/* GL_EXT_texture_type_2_10_10_10_REV */
  1.2499 -#ifndef GL_EXT_texture_type_2_10_10_10_REV
  1.2500 -#define GL_EXT_texture_type_2_10_10_10_REV 1
  1.2501 -#endif
  1.2502 -
  1.2503 -/* GL_EXT_unpack_subimage */
  1.2504 -#ifndef GL_EXT_unpack_subimage
  1.2505 -#define GL_EXT_unpack_subimage 1
  1.2506 -#endif
  1.2507 -
  1.2508 -/*------------------------------------------------------------------------*
  1.2509 - * DMP extension functions
  1.2510 - *------------------------------------------------------------------------*/
  1.2511 -
  1.2512 -/* GL_DMP_shader_binary */
  1.2513 -#ifndef GL_DMP_shader_binary
  1.2514 -#define GL_DMP_shader_binary 1
  1.2515 -#endif
  1.2516 -
  1.2517 -/*------------------------------------------------------------------------*
  1.2518 - * FJ extension functions
  1.2519 - *------------------------------------------------------------------------*/
  1.2520 -
  1.2521 -/* GL_FJ_shader_binary_GCCSO */
  1.2522 -#ifndef GL_FJ_shader_binary_GCCSO
  1.2523 -#define GL_FJ_shader_binary_GCCSO 1
  1.2524 -#endif
  1.2525 -
  1.2526 -/*------------------------------------------------------------------------*
  1.2527 - * IMG extension functions
  1.2528 - *------------------------------------------------------------------------*/
  1.2529 -
  1.2530 -/* GL_IMG_program_binary */
  1.2531 -#ifndef GL_IMG_program_binary
  1.2532 -#define GL_IMG_program_binary 1
  1.2533 -#endif
  1.2534 -
  1.2535 -/* GL_IMG_read_format */
  1.2536 -#ifndef GL_IMG_read_format
  1.2537 -#define GL_IMG_read_format 1
  1.2538 -#endif
  1.2539 -
  1.2540 -/* GL_IMG_shader_binary */
  1.2541 -#ifndef GL_IMG_shader_binary
  1.2542 -#define GL_IMG_shader_binary 1
  1.2543 -#endif
  1.2544 -
  1.2545 -/* GL_IMG_texture_compression_pvrtc */
  1.2546 -#ifndef GL_IMG_texture_compression_pvrtc
  1.2547 -#define GL_IMG_texture_compression_pvrtc 1
  1.2548 -#endif
  1.2549 -
  1.2550 -/* GL_IMG_multisampled_render_to_texture */
  1.2551 -#ifndef GL_IMG_multisampled_render_to_texture
  1.2552 -#define GL_IMG_multisampled_render_to_texture 1
  1.2553 -#ifdef GL_GLEXT_PROTOTYPES
  1.2554 -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1.2555 -GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1.2556 -#endif
  1.2557 -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1.2558 -typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1.2559 -#endif
  1.2560 -
  1.2561 -/*------------------------------------------------------------------------*
  1.2562 - * NV extension functions
  1.2563 - *------------------------------------------------------------------------*/
  1.2564 -
  1.2565 -/* GL_NV_coverage_sample */
  1.2566 -#ifndef GL_NV_coverage_sample
  1.2567 -#define GL_NV_coverage_sample 1
  1.2568 -#ifdef GL_GLEXT_PROTOTYPES
  1.2569 -GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  1.2570 -GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  1.2571 -#endif
  1.2572 -typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  1.2573 -typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  1.2574 -#endif
  1.2575 -
  1.2576 -/* GL_NV_depth_nonlinear */
  1.2577 -#ifndef GL_NV_depth_nonlinear
  1.2578 -#define GL_NV_depth_nonlinear 1
  1.2579 -#endif
  1.2580 -
  1.2581 -/* GL_NV_draw_buffers */
  1.2582 -#ifndef GL_NV_draw_buffers
  1.2583 -#define GL_NV_draw_buffers 1
  1.2584 -#ifdef GL_GLEXT_PROTOTYPES
  1.2585 -GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
  1.2586 -#endif
  1.2587 -typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
  1.2588 -#endif
  1.2589 -
  1.2590 -/* GL_NV_fbo_color_attachments */
  1.2591 -#ifndef GL_NV_fbo_color_attachments
  1.2592 -#define GL_NV_fbo_color_attachments 1
  1.2593 -#endif
  1.2594 -
  1.2595 -/* GL_NV_fence */
  1.2596 -#ifndef GL_NV_fence
  1.2597 -#define GL_NV_fence 1
  1.2598 -#ifdef GL_GLEXT_PROTOTYPES
  1.2599 -GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
  1.2600 -GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
  1.2601 -GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
  1.2602 -GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
  1.2603 -GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
  1.2604 -GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
  1.2605 -GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
  1.2606 -#endif
  1.2607 -typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  1.2608 -typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  1.2609 -typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  1.2610 -typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  1.2611 -typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  1.2612 -typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  1.2613 -typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  1.2614 -#endif
  1.2615 -
  1.2616 -/* GL_NV_read_buffer */
  1.2617 -#ifndef GL_NV_read_buffer
  1.2618 -#define GL_NV_read_buffer 1
  1.2619 -#ifdef GL_GLEXT_PROTOTYPES
  1.2620 -GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
  1.2621 -#endif
  1.2622 -typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
  1.2623 -#endif
  1.2624 -
  1.2625 -/* GL_NV_read_buffer_front */
  1.2626 -#ifndef GL_NV_read_buffer_front
  1.2627 -#define GL_NV_read_buffer_front 1
  1.2628 -#endif
  1.2629 -
  1.2630 -/* GL_NV_read_depth */
  1.2631 -#ifndef GL_NV_read_depth
  1.2632 -#define GL_NV_read_depth 1
  1.2633 -#endif
  1.2634 -
  1.2635 -/* GL_NV_read_depth_stencil */
  1.2636 -#ifndef GL_NV_read_depth_stencil
  1.2637 -#define GL_NV_read_depth_stencil 1
  1.2638 -#endif
  1.2639 -
  1.2640 -/* GL_NV_read_stencil */
  1.2641 -#ifndef GL_NV_read_stencil
  1.2642 -#define GL_NV_read_stencil 1
  1.2643 -#endif
  1.2644 -
  1.2645 -/* GL_NV_texture_compression_s3tc_update */
  1.2646 -#ifndef GL_NV_texture_compression_s3tc_update
  1.2647 -#define GL_NV_texture_compression_s3tc_update 1
  1.2648 -#endif
  1.2649 -
  1.2650 -/* GL_NV_texture_npot_2D_mipmap */
  1.2651 -#ifndef GL_NV_texture_npot_2D_mipmap
  1.2652 -#define GL_NV_texture_npot_2D_mipmap 1
  1.2653 -#endif
  1.2654 -
  1.2655 -/*------------------------------------------------------------------------*
  1.2656 - * QCOM extension functions
  1.2657 - *------------------------------------------------------------------------*/
  1.2658 -
  1.2659 -/* GL_QCOM_alpha_test */
  1.2660 -#ifndef GL_QCOM_alpha_test
  1.2661 -#define GL_QCOM_alpha_test 1
  1.2662 -#ifdef GL_GLEXT_PROTOTYPES
  1.2663 -GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
  1.2664 -#endif
  1.2665 -typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
  1.2666 -#endif
  1.2667 -
  1.2668 -/* GL_QCOM_binning_control */
  1.2669 -#ifndef GL_QCOM_binning_control
  1.2670 -#define GL_QCOM_binning_control 1
  1.2671 -#endif
  1.2672 -
  1.2673 -/* GL_QCOM_driver_control */
  1.2674 -#ifndef GL_QCOM_driver_control
  1.2675 -#define GL_QCOM_driver_control 1
  1.2676 -#ifdef GL_GLEXT_PROTOTYPES
  1.2677 -GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  1.2678 -GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1.2679 -GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  1.2680 -GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  1.2681 -#endif
  1.2682 -typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  1.2683 -typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1.2684 -typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1.2685 -typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1.2686 -#endif
  1.2687 -
  1.2688 -/* GL_QCOM_extended_get */
  1.2689 -#ifndef GL_QCOM_extended_get
  1.2690 -#define GL_QCOM_extended_get 1
  1.2691 -#ifdef GL_GLEXT_PROTOTYPES
  1.2692 -GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1.2693 -GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1.2694 -GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1.2695 -GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1.2696 -GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1.2697 -GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  1.2698 -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.2699 -GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  1.2700 -#endif
  1.2701 -typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1.2702 -typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1.2703 -typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1.2704 -typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1.2705 -typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1.2706 -typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  1.2707 -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.2708 -typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  1.2709 -#endif
  1.2710 -
  1.2711 -/* GL_QCOM_extended_get2 */
  1.2712 -#ifndef GL_QCOM_extended_get2
  1.2713 -#define GL_QCOM_extended_get2 1
  1.2714 -#ifdef GL_GLEXT_PROTOTYPES
  1.2715 -GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1.2716 -GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1.2717 -GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  1.2718 -GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1.2719 -#endif
  1.2720 -typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1.2721 -typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1.2722 -typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  1.2723 -typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1.2724 -#endif
  1.2725 -
  1.2726 -/* GL_QCOM_perfmon_global_mode */
  1.2727 -#ifndef GL_QCOM_perfmon_global_mode
  1.2728 -#define GL_QCOM_perfmon_global_mode 1
  1.2729 -#endif
  1.2730 -
  1.2731 -/* GL_QCOM_writeonly_rendering */
  1.2732 -#ifndef GL_QCOM_writeonly_rendering
  1.2733 -#define GL_QCOM_writeonly_rendering 1
  1.2734 -#endif
  1.2735 -
  1.2736 -/* GL_QCOM_tiled_rendering */
  1.2737 -#ifndef GL_QCOM_tiled_rendering
  1.2738 -#define GL_QCOM_tiled_rendering 1
  1.2739 -#ifdef GL_GLEXT_PROTOTYPES
  1.2740 -GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1.2741 -GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  1.2742 -#endif
  1.2743 -typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1.2744 -typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  1.2745 -#endif
  1.2746 -
  1.2747 -/*------------------------------------------------------------------------*
  1.2748 - * VIV extension tokens
  1.2749 - *------------------------------------------------------------------------*/
  1.2750 -
  1.2751 -/* GL_VIV_shader_binary */
  1.2752 -#ifndef GL_VIV_shader_binary
  1.2753 -#define GL_VIV_shader_binary 1
  1.2754 -#endif
  1.2755 -
  1.2756 -#ifdef __cplusplus
  1.2757 -}
  1.2758 -#endif
  1.2759 -
  1.2760 -#endif /* __gl2ext_h_ */
  1.2761 +#include "SDL_opengles2_khrplatform.h"
  1.2762 +#include "SDL_opengles2_gl2platform.h"
  1.2763 +#include "SDL_opengles2_gl2.h"
  1.2764 +#include "SDL_opengles2_gl2ext.h"
  1.2765  
  1.2766  #endif /* _MSC_VER */
  1.2767  
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/include/SDL_opengles2_gl2.h	Wed Jun 04 01:27:13 2014 -0700
     2.3 @@ -0,0 +1,621 @@
     2.4 +#ifndef __gl2_h_
     2.5 +#define __gl2_h_
     2.6 +
     2.7 +/* $Revision: 16803 $ on $Date:: 2012-02-02 09:49:18 -0800 #$ */
     2.8 +
     2.9 +/*#include <GLES2/gl2platform.h>*/
    2.10 +
    2.11 +#ifdef __cplusplus
    2.12 +extern "C" {
    2.13 +#endif
    2.14 +
    2.15 +/*
    2.16 + * This document is licensed under the SGI Free Software B License Version
    2.17 + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
    2.18 + */
    2.19 +
    2.20 +/*-------------------------------------------------------------------------
    2.21 + * Data type definitions
    2.22 + *-----------------------------------------------------------------------*/
    2.23 +
    2.24 +typedef void             GLvoid;
    2.25 +typedef char             GLchar;
    2.26 +typedef unsigned int     GLenum;
    2.27 +typedef unsigned char    GLboolean;
    2.28 +typedef unsigned int     GLbitfield;
    2.29 +typedef khronos_int8_t   GLbyte;
    2.30 +typedef short            GLshort;
    2.31 +typedef int              GLint;
    2.32 +typedef int              GLsizei;
    2.33 +typedef khronos_uint8_t  GLubyte;
    2.34 +typedef unsigned short   GLushort;
    2.35 +typedef unsigned int     GLuint;
    2.36 +typedef khronos_float_t  GLfloat;
    2.37 +typedef khronos_float_t  GLclampf;
    2.38 +typedef khronos_int32_t  GLfixed;
    2.39 +
    2.40 +/* GL types for handling large vertex buffer objects */
    2.41 +typedef khronos_intptr_t GLintptr;
    2.42 +typedef khronos_ssize_t  GLsizeiptr;
    2.43 +
    2.44 +/* OpenGL ES core versions */
    2.45 +#define GL_ES_VERSION_2_0                 1
    2.46 +
    2.47 +/* ClearBufferMask */
    2.48 +#define GL_DEPTH_BUFFER_BIT               0x00000100
    2.49 +#define GL_STENCIL_BUFFER_BIT             0x00000400
    2.50 +#define GL_COLOR_BUFFER_BIT               0x00004000
    2.51 +
    2.52 +/* Boolean */
    2.53 +#define GL_FALSE                          0
    2.54 +#define GL_TRUE                           1
    2.55 +
    2.56 +/* BeginMode */
    2.57 +#define GL_POINTS                         0x0000
    2.58 +#define GL_LINES                          0x0001
    2.59 +#define GL_LINE_LOOP                      0x0002
    2.60 +#define GL_LINE_STRIP                     0x0003
    2.61 +#define GL_TRIANGLES                      0x0004
    2.62 +#define GL_TRIANGLE_STRIP                 0x0005
    2.63 +#define GL_TRIANGLE_FAN                   0x0006
    2.64 +
    2.65 +/* AlphaFunction (not supported in ES20) */
    2.66 +/*      GL_NEVER */
    2.67 +/*      GL_LESS */
    2.68 +/*      GL_EQUAL */
    2.69 +/*      GL_LEQUAL */
    2.70 +/*      GL_GREATER */
    2.71 +/*      GL_NOTEQUAL */
    2.72 +/*      GL_GEQUAL */
    2.73 +/*      GL_ALWAYS */
    2.74 +
    2.75 +/* BlendingFactorDest */
    2.76 +#define GL_ZERO                           0
    2.77 +#define GL_ONE                            1
    2.78 +#define GL_SRC_COLOR                      0x0300
    2.79 +#define GL_ONE_MINUS_SRC_COLOR            0x0301
    2.80 +#define GL_SRC_ALPHA                      0x0302
    2.81 +#define GL_ONE_MINUS_SRC_ALPHA            0x0303
    2.82 +#define GL_DST_ALPHA                      0x0304
    2.83 +#define GL_ONE_MINUS_DST_ALPHA            0x0305
    2.84 +
    2.85 +/* BlendingFactorSrc */
    2.86 +/*      GL_ZERO */
    2.87 +/*      GL_ONE */
    2.88 +#define GL_DST_COLOR                      0x0306
    2.89 +#define GL_ONE_MINUS_DST_COLOR            0x0307
    2.90 +#define GL_SRC_ALPHA_SATURATE             0x0308
    2.91 +/*      GL_SRC_ALPHA */
    2.92 +/*      GL_ONE_MINUS_SRC_ALPHA */
    2.93 +/*      GL_DST_ALPHA */
    2.94 +/*      GL_ONE_MINUS_DST_ALPHA */
    2.95 +
    2.96 +/* BlendEquationSeparate */
    2.97 +#define GL_FUNC_ADD                       0x8006
    2.98 +#define GL_BLEND_EQUATION                 0x8009
    2.99 +#define GL_BLEND_EQUATION_RGB             0x8009    /* same as BLEND_EQUATION */
   2.100 +#define GL_BLEND_EQUATION_ALPHA           0x883D
   2.101 +
   2.102 +/* BlendSubtract */
   2.103 +#define GL_FUNC_SUBTRACT                  0x800A
   2.104 +#define GL_FUNC_REVERSE_SUBTRACT          0x800B
   2.105 +
   2.106 +/* Separate Blend Functions */
   2.107 +#define GL_BLEND_DST_RGB                  0x80C8
   2.108 +#define GL_BLEND_SRC_RGB                  0x80C9
   2.109 +#define GL_BLEND_DST_ALPHA                0x80CA
   2.110 +#define GL_BLEND_SRC_ALPHA                0x80CB
   2.111 +#define GL_CONSTANT_COLOR                 0x8001
   2.112 +#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
   2.113 +#define GL_CONSTANT_ALPHA                 0x8003
   2.114 +#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
   2.115 +#define GL_BLEND_COLOR                    0x8005
   2.116 +
   2.117 +/* Buffer Objects */
   2.118 +#define GL_ARRAY_BUFFER                   0x8892
   2.119 +#define GL_ELEMENT_ARRAY_BUFFER           0x8893
   2.120 +#define GL_ARRAY_BUFFER_BINDING           0x8894
   2.121 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING   0x8895
   2.122 +
   2.123 +#define GL_STREAM_DRAW                    0x88E0
   2.124 +#define GL_STATIC_DRAW                    0x88E4
   2.125 +#define GL_DYNAMIC_DRAW                   0x88E8
   2.126 +
   2.127 +#define GL_BUFFER_SIZE                    0x8764
   2.128 +#define GL_BUFFER_USAGE                   0x8765
   2.129 +
   2.130 +#define GL_CURRENT_VERTEX_ATTRIB          0x8626
   2.131 +
   2.132 +/* CullFaceMode */
   2.133 +#define GL_FRONT                          0x0404
   2.134 +#define GL_BACK                           0x0405
   2.135 +#define GL_FRONT_AND_BACK                 0x0408
   2.136 +
   2.137 +/* DepthFunction */
   2.138 +/*      GL_NEVER */
   2.139 +/*      GL_LESS */
   2.140 +/*      GL_EQUAL */
   2.141 +/*      GL_LEQUAL */
   2.142 +/*      GL_GREATER */
   2.143 +/*      GL_NOTEQUAL */
   2.144 +/*      GL_GEQUAL */
   2.145 +/*      GL_ALWAYS */
   2.146 +
   2.147 +/* EnableCap */
   2.148 +#define GL_TEXTURE_2D                     0x0DE1
   2.149 +#define GL_CULL_FACE                      0x0B44
   2.150 +#define GL_BLEND                          0x0BE2
   2.151 +#define GL_DITHER                         0x0BD0
   2.152 +#define GL_STENCIL_TEST                   0x0B90
   2.153 +#define GL_DEPTH_TEST                     0x0B71
   2.154 +#define GL_SCISSOR_TEST                   0x0C11
   2.155 +#define GL_POLYGON_OFFSET_FILL            0x8037
   2.156 +#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E
   2.157 +#define GL_SAMPLE_COVERAGE                0x80A0
   2.158 +
   2.159 +/* ErrorCode */
   2.160 +#define GL_NO_ERROR                       0
   2.161 +#define GL_INVALID_ENUM                   0x0500
   2.162 +#define GL_INVALID_VALUE                  0x0501
   2.163 +#define GL_INVALID_OPERATION              0x0502
   2.164 +#define GL_OUT_OF_MEMORY                  0x0505
   2.165 +
   2.166 +/* FrontFaceDirection */
   2.167 +#define GL_CW                             0x0900
   2.168 +#define GL_CCW                            0x0901
   2.169 +
   2.170 +/* GetPName */
   2.171 +#define GL_LINE_WIDTH                     0x0B21
   2.172 +#define GL_ALIASED_POINT_SIZE_RANGE       0x846D
   2.173 +#define GL_ALIASED_LINE_WIDTH_RANGE       0x846E
   2.174 +#define GL_CULL_FACE_MODE                 0x0B45
   2.175 +#define GL_FRONT_FACE                     0x0B46
   2.176 +#define GL_DEPTH_RANGE                    0x0B70
   2.177 +#define GL_DEPTH_WRITEMASK                0x0B72
   2.178 +#define GL_DEPTH_CLEAR_VALUE              0x0B73
   2.179 +#define GL_DEPTH_FUNC                     0x0B74
   2.180 +#define GL_STENCIL_CLEAR_VALUE            0x0B91
   2.181 +#define GL_STENCIL_FUNC                   0x0B92
   2.182 +#define GL_STENCIL_FAIL                   0x0B94
   2.183 +#define GL_STENCIL_PASS_DEPTH_FAIL        0x0B95
   2.184 +#define GL_STENCIL_PASS_DEPTH_PASS        0x0B96
   2.185 +#define GL_STENCIL_REF                    0x0B97
   2.186 +#define GL_STENCIL_VALUE_MASK             0x0B93
   2.187 +#define GL_STENCIL_WRITEMASK              0x0B98
   2.188 +#define GL_STENCIL_BACK_FUNC              0x8800
   2.189 +#define GL_STENCIL_BACK_FAIL              0x8801
   2.190 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL   0x8802
   2.191 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS   0x8803
   2.192 +#define GL_STENCIL_BACK_REF               0x8CA3
   2.193 +#define GL_STENCIL_BACK_VALUE_MASK        0x8CA4
   2.194 +#define GL_STENCIL_BACK_WRITEMASK         0x8CA5
   2.195 +#define GL_VIEWPORT                       0x0BA2
   2.196 +#define GL_SCISSOR_BOX                    0x0C10
   2.197 +/*      GL_SCISSOR_TEST */
   2.198 +#define GL_COLOR_CLEAR_VALUE              0x0C22
   2.199 +#define GL_COLOR_WRITEMASK                0x0C23
   2.200 +#define GL_UNPACK_ALIGNMENT               0x0CF5
   2.201 +#define GL_PACK_ALIGNMENT                 0x0D05
   2.202 +#define GL_MAX_TEXTURE_SIZE               0x0D33
   2.203 +#define GL_MAX_VIEWPORT_DIMS              0x0D3A
   2.204 +#define GL_SUBPIXEL_BITS                  0x0D50
   2.205 +#define GL_RED_BITS                       0x0D52
   2.206 +#define GL_GREEN_BITS                     0x0D53
   2.207 +#define GL_BLUE_BITS                      0x0D54
   2.208 +#define GL_ALPHA_BITS                     0x0D55
   2.209 +#define GL_DEPTH_BITS                     0x0D56
   2.210 +#define GL_STENCIL_BITS                   0x0D57
   2.211 +#define GL_POLYGON_OFFSET_UNITS           0x2A00
   2.212 +/*      GL_POLYGON_OFFSET_FILL */
   2.213 +#define GL_POLYGON_OFFSET_FACTOR          0x8038
   2.214 +#define GL_TEXTURE_BINDING_2D             0x8069
   2.215 +#define GL_SAMPLE_BUFFERS                 0x80A8
   2.216 +#define GL_SAMPLES                        0x80A9
   2.217 +#define GL_SAMPLE_COVERAGE_VALUE          0x80AA
   2.218 +#define GL_SAMPLE_COVERAGE_INVERT         0x80AB
   2.219 +
   2.220 +/* GetTextureParameter */
   2.221 +/*      GL_TEXTURE_MAG_FILTER */
   2.222 +/*      GL_TEXTURE_MIN_FILTER */
   2.223 +/*      GL_TEXTURE_WRAP_S */
   2.224 +/*      GL_TEXTURE_WRAP_T */
   2.225 +
   2.226 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
   2.227 +#define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3
   2.228 +
   2.229 +/* HintMode */
   2.230 +#define GL_DONT_CARE                      0x1100
   2.231 +#define GL_FASTEST                        0x1101
   2.232 +#define GL_NICEST                         0x1102
   2.233 +
   2.234 +/* HintTarget */
   2.235 +#define GL_GENERATE_MIPMAP_HINT            0x8192
   2.236 +
   2.237 +/* DataType */
   2.238 +#define GL_BYTE                           0x1400
   2.239 +#define GL_UNSIGNED_BYTE                  0x1401
   2.240 +#define GL_SHORT                          0x1402
   2.241 +#define GL_UNSIGNED_SHORT                 0x1403
   2.242 +#define GL_INT                            0x1404
   2.243 +#define GL_UNSIGNED_INT                   0x1405
   2.244 +#define GL_FLOAT                          0x1406
   2.245 +#define GL_FIXED                          0x140C
   2.246 +
   2.247 +/* PixelFormat */
   2.248 +#define GL_DEPTH_COMPONENT                0x1902
   2.249 +#define GL_ALPHA                          0x1906
   2.250 +#define GL_RGB                            0x1907
   2.251 +#define GL_RGBA                           0x1908
   2.252 +#define GL_LUMINANCE                      0x1909
   2.253 +#define GL_LUMINANCE_ALPHA                0x190A
   2.254 +
   2.255 +/* PixelType */
   2.256 +/*      GL_UNSIGNED_BYTE */
   2.257 +#define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
   2.258 +#define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
   2.259 +#define GL_UNSIGNED_SHORT_5_6_5           0x8363
   2.260 +
   2.261 +/* Shaders */
   2.262 +#define GL_FRAGMENT_SHADER                  0x8B30
   2.263 +#define GL_VERTEX_SHADER                    0x8B31
   2.264 +#define GL_MAX_VERTEX_ATTRIBS               0x8869
   2.265 +#define GL_MAX_VERTEX_UNIFORM_VECTORS       0x8DFB
   2.266 +#define GL_MAX_VARYING_VECTORS              0x8DFC
   2.267 +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
   2.268 +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS   0x8B4C
   2.269 +#define GL_MAX_TEXTURE_IMAGE_UNITS          0x8872
   2.270 +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS     0x8DFD
   2.271 +#define GL_SHADER_TYPE                      0x8B4F
   2.272 +#define GL_DELETE_STATUS                    0x8B80
   2.273 +#define GL_LINK_STATUS                      0x8B82
   2.274 +#define GL_VALIDATE_STATUS                  0x8B83
   2.275 +#define GL_ATTACHED_SHADERS                 0x8B85
   2.276 +#define GL_ACTIVE_UNIFORMS                  0x8B86
   2.277 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH        0x8B87
   2.278 +#define GL_ACTIVE_ATTRIBUTES                0x8B89
   2.279 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH      0x8B8A
   2.280 +#define GL_SHADING_LANGUAGE_VERSION         0x8B8C
   2.281 +#define GL_CURRENT_PROGRAM                  0x8B8D
   2.282 +
   2.283 +/* StencilFunction */
   2.284 +#define GL_NEVER                          0x0200
   2.285 +#define GL_LESS                           0x0201
   2.286 +#define GL_EQUAL                          0x0202
   2.287 +#define GL_LEQUAL                         0x0203
   2.288 +#define GL_GREATER                        0x0204
   2.289 +#define GL_NOTEQUAL                       0x0205
   2.290 +#define GL_GEQUAL                         0x0206
   2.291 +#define GL_ALWAYS                         0x0207
   2.292 +
   2.293 +/* StencilOp */
   2.294 +/*      GL_ZERO */
   2.295 +#define GL_KEEP                           0x1E00
   2.296 +#define GL_REPLACE                        0x1E01
   2.297 +#define GL_INCR                           0x1E02
   2.298 +#define GL_DECR                           0x1E03
   2.299 +#define GL_INVERT                         0x150A
   2.300 +#define GL_INCR_WRAP                      0x8507
   2.301 +#define GL_DECR_WRAP                      0x8508
   2.302 +
   2.303 +/* StringName */
   2.304 +#define GL_VENDOR                         0x1F00
   2.305 +#define GL_RENDERER                       0x1F01
   2.306 +#define GL_VERSION                        0x1F02
   2.307 +#define GL_EXTENSIONS                     0x1F03
   2.308 +
   2.309 +/* TextureMagFilter */
   2.310 +#define GL_NEAREST                        0x2600
   2.311 +#define GL_LINEAR                         0x2601
   2.312 +
   2.313 +/* TextureMinFilter */
   2.314 +/*      GL_NEAREST */
   2.315 +/*      GL_LINEAR */
   2.316 +#define GL_NEAREST_MIPMAP_NEAREST         0x2700
   2.317 +#define GL_LINEAR_MIPMAP_NEAREST          0x2701
   2.318 +#define GL_NEAREST_MIPMAP_LINEAR          0x2702
   2.319 +#define GL_LINEAR_MIPMAP_LINEAR           0x2703
   2.320 +
   2.321 +/* TextureParameterName */
   2.322 +#define GL_TEXTURE_MAG_FILTER             0x2800
   2.323 +#define GL_TEXTURE_MIN_FILTER             0x2801
   2.324 +#define GL_TEXTURE_WRAP_S                 0x2802
   2.325 +#define GL_TEXTURE_WRAP_T                 0x2803
   2.326 +
   2.327 +/* TextureTarget */
   2.328 +/*      GL_TEXTURE_2D */
   2.329 +#define GL_TEXTURE                        0x1702
   2.330 +
   2.331 +#define GL_TEXTURE_CUBE_MAP               0x8513
   2.332 +#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514
   2.333 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515
   2.334 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516
   2.335 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517
   2.336 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518
   2.337 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519
   2.338 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A
   2.339 +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C
   2.340 +
   2.341 +/* TextureUnit */
   2.342 +#define GL_TEXTURE0                       0x84C0
   2.343 +#define GL_TEXTURE1                       0x84C1
   2.344 +#define GL_TEXTURE2                       0x84C2
   2.345 +#define GL_TEXTURE3                       0x84C3
   2.346 +#define GL_TEXTURE4                       0x84C4
   2.347 +#define GL_TEXTURE5                       0x84C5
   2.348 +#define GL_TEXTURE6                       0x84C6
   2.349 +#define GL_TEXTURE7                       0x84C7
   2.350 +#define GL_TEXTURE8                       0x84C8
   2.351 +#define GL_TEXTURE9                       0x84C9
   2.352 +#define GL_TEXTURE10                      0x84CA
   2.353 +#define GL_TEXTURE11                      0x84CB
   2.354 +#define GL_TEXTURE12                      0x84CC
   2.355 +#define GL_TEXTURE13                      0x84CD
   2.356 +#define GL_TEXTURE14                      0x84CE
   2.357 +#define GL_TEXTURE15                      0x84CF
   2.358 +#define GL_TEXTURE16                      0x84D0
   2.359 +#define GL_TEXTURE17                      0x84D1
   2.360 +#define GL_TEXTURE18                      0x84D2
   2.361 +#define GL_TEXTURE19                      0x84D3
   2.362 +#define GL_TEXTURE20                      0x84D4
   2.363 +#define GL_TEXTURE21                      0x84D5
   2.364 +#define GL_TEXTURE22                      0x84D6
   2.365 +#define GL_TEXTURE23                      0x84D7
   2.366 +#define GL_TEXTURE24                      0x84D8
   2.367 +#define GL_TEXTURE25                      0x84D9
   2.368 +#define GL_TEXTURE26                      0x84DA
   2.369 +#define GL_TEXTURE27                      0x84DB
   2.370 +#define GL_TEXTURE28                      0x84DC
   2.371 +#define GL_TEXTURE29                      0x84DD
   2.372 +#define GL_TEXTURE30                      0x84DE
   2.373 +#define GL_TEXTURE31                      0x84DF
   2.374 +#define GL_ACTIVE_TEXTURE                 0x84E0
   2.375 +
   2.376 +/* TextureWrapMode */
   2.377 +#define GL_REPEAT                         0x2901
   2.378 +#define GL_CLAMP_TO_EDGE                  0x812F
   2.379 +#define GL_MIRRORED_REPEAT                0x8370
   2.380 +
   2.381 +/* Uniform Types */
   2.382 +#define GL_FLOAT_VEC2                     0x8B50
   2.383 +#define GL_FLOAT_VEC3                     0x8B51
   2.384 +#define GL_FLOAT_VEC4                     0x8B52
   2.385 +#define GL_INT_VEC2                       0x8B53
   2.386 +#define GL_INT_VEC3                       0x8B54
   2.387 +#define GL_INT_VEC4                       0x8B55
   2.388 +#define GL_BOOL                           0x8B56
   2.389 +#define GL_BOOL_VEC2                      0x8B57
   2.390 +#define GL_BOOL_VEC3                      0x8B58
   2.391 +#define GL_BOOL_VEC4                      0x8B59
   2.392 +#define GL_FLOAT_MAT2                     0x8B5A
   2.393 +#define GL_FLOAT_MAT3                     0x8B5B
   2.394 +#define GL_FLOAT_MAT4                     0x8B5C
   2.395 +#define GL_SAMPLER_2D                     0x8B5E
   2.396 +#define GL_SAMPLER_CUBE                   0x8B60
   2.397 +
   2.398 +/* Vertex Arrays */
   2.399 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED        0x8622
   2.400 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE           0x8623
   2.401 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE         0x8624
   2.402 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE           0x8625
   2.403 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED     0x886A
   2.404 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER        0x8645
   2.405 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
   2.406 +
   2.407 +/* Read Format */
   2.408 +#define GL_IMPLEMENTATION_COLOR_READ_TYPE   0x8B9A
   2.409 +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
   2.410 +
   2.411 +/* Shader Source */
   2.412 +#define GL_COMPILE_STATUS                 0x8B81
   2.413 +#define GL_INFO_LOG_LENGTH                0x8B84
   2.414 +#define GL_SHADER_SOURCE_LENGTH           0x8B88
   2.415 +#define GL_SHADER_COMPILER                0x8DFA
   2.416 +
   2.417 +/* Shader Binary */
   2.418 +#define GL_SHADER_BINARY_FORMATS          0x8DF8
   2.419 +#define GL_NUM_SHADER_BINARY_FORMATS      0x8DF9
   2.420 +
   2.421 +/* Shader Precision-Specified Types */
   2.422 +#define GL_LOW_FLOAT                      0x8DF0
   2.423 +#define GL_MEDIUM_FLOAT                   0x8DF1
   2.424 +#define GL_HIGH_FLOAT                     0x8DF2
   2.425 +#define GL_LOW_INT                        0x8DF3
   2.426 +#define GL_MEDIUM_INT                     0x8DF4
   2.427 +#define GL_HIGH_INT                       0x8DF5
   2.428 +
   2.429 +/* Framebuffer Object. */
   2.430 +#define GL_FRAMEBUFFER                    0x8D40
   2.431 +#define GL_RENDERBUFFER                   0x8D41
   2.432 +
   2.433 +#define GL_RGBA4                          0x8056
   2.434 +#define GL_RGB5_A1                        0x8057
   2.435 +#define GL_RGB565                         0x8D62
   2.436 +#define GL_DEPTH_COMPONENT16              0x81A5
   2.437 +#define GL_STENCIL_INDEX8                 0x8D48
   2.438 +
   2.439 +#define GL_RENDERBUFFER_WIDTH             0x8D42
   2.440 +#define GL_RENDERBUFFER_HEIGHT            0x8D43
   2.441 +#define GL_RENDERBUFFER_INTERNAL_FORMAT   0x8D44
   2.442 +#define GL_RENDERBUFFER_RED_SIZE          0x8D50
   2.443 +#define GL_RENDERBUFFER_GREEN_SIZE        0x8D51
   2.444 +#define GL_RENDERBUFFER_BLUE_SIZE         0x8D52
   2.445 +#define GL_RENDERBUFFER_ALPHA_SIZE        0x8D53
   2.446 +#define GL_RENDERBUFFER_DEPTH_SIZE        0x8D54
   2.447 +#define GL_RENDERBUFFER_STENCIL_SIZE      0x8D55
   2.448 +
   2.449 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE           0x8CD0
   2.450 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME           0x8CD1
   2.451 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL         0x8CD2
   2.452 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
   2.453 +
   2.454 +#define GL_COLOR_ATTACHMENT0              0x8CE0
   2.455 +#define GL_DEPTH_ATTACHMENT               0x8D00
   2.456 +#define GL_STENCIL_ATTACHMENT             0x8D20
   2.457 +
   2.458 +#define GL_NONE                           0
   2.459 +
   2.460 +#define GL_FRAMEBUFFER_COMPLETE                      0x8CD5
   2.461 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT         0x8CD6
   2.462 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
   2.463 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS         0x8CD9
   2.464 +#define GL_FRAMEBUFFER_UNSUPPORTED                   0x8CDD
   2.465 +
   2.466 +#define GL_FRAMEBUFFER_BINDING            0x8CA6
   2.467 +#define GL_RENDERBUFFER_BINDING           0x8CA7
   2.468 +#define GL_MAX_RENDERBUFFER_SIZE          0x84E8
   2.469 +
   2.470 +#define GL_INVALID_FRAMEBUFFER_OPERATION  0x0506
   2.471 +
   2.472 +/*-------------------------------------------------------------------------
   2.473 + * GL core functions.
   2.474 + *-----------------------------------------------------------------------*/
   2.475 +
   2.476 +GL_APICALL void         GL_APIENTRY glActiveTexture (GLenum texture);
   2.477 +GL_APICALL void         GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
   2.478 +GL_APICALL void         GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name);
   2.479 +GL_APICALL void         GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
   2.480 +GL_APICALL void         GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
   2.481 +GL_APICALL void         GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
   2.482 +GL_APICALL void         GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
   2.483 +GL_APICALL void         GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
   2.484 +GL_APICALL void         GL_APIENTRY glBlendEquation ( GLenum mode );
   2.485 +GL_APICALL void         GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
   2.486 +GL_APICALL void         GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
   2.487 +GL_APICALL void         GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
   2.488 +GL_APICALL void         GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
   2.489 +GL_APICALL void         GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
   2.490 +GL_APICALL GLenum       GL_APIENTRY glCheckFramebufferStatus (GLenum target);
   2.491 +GL_APICALL void         GL_APIENTRY glClear (GLbitfield mask);
   2.492 +GL_APICALL void         GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
   2.493 +GL_APICALL void         GL_APIENTRY glClearDepthf (GLclampf depth);
   2.494 +GL_APICALL void         GL_APIENTRY glClearStencil (GLint s);
   2.495 +GL_APICALL void         GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
   2.496 +GL_APICALL void         GL_APIENTRY glCompileShader (GLuint shader);
   2.497 +GL_APICALL void         GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
   2.498 +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);
   2.499 +GL_APICALL void         GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
   2.500 +GL_APICALL void         GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   2.501 +GL_APICALL GLuint       GL_APIENTRY glCreateProgram (void);
   2.502 +GL_APICALL GLuint       GL_APIENTRY glCreateShader (GLenum type);
   2.503 +GL_APICALL void         GL_APIENTRY glCullFace (GLenum mode);
   2.504 +GL_APICALL void         GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers);
   2.505 +GL_APICALL void         GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers);
   2.506 +GL_APICALL void         GL_APIENTRY glDeleteProgram (GLuint program);
   2.507 +GL_APICALL void         GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers);
   2.508 +GL_APICALL void         GL_APIENTRY glDeleteShader (GLuint shader);
   2.509 +GL_APICALL void         GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures);
   2.510 +GL_APICALL void         GL_APIENTRY glDepthFunc (GLenum func);
   2.511 +GL_APICALL void         GL_APIENTRY glDepthMask (GLboolean flag);
   2.512 +GL_APICALL void         GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar);
   2.513 +GL_APICALL void         GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
   2.514 +GL_APICALL void         GL_APIENTRY glDisable (GLenum cap);
   2.515 +GL_APICALL void         GL_APIENTRY glDisableVertexAttribArray (GLuint index);
   2.516 +GL_APICALL void         GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
   2.517 +GL_APICALL void         GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
   2.518 +GL_APICALL void         GL_APIENTRY glEnable (GLenum cap);
   2.519 +GL_APICALL void         GL_APIENTRY glEnableVertexAttribArray (GLuint index);
   2.520 +GL_APICALL void         GL_APIENTRY glFinish (void);
   2.521 +GL_APICALL void         GL_APIENTRY glFlush (void);
   2.522 +GL_APICALL void         GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
   2.523 +GL_APICALL void         GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
   2.524 +GL_APICALL void         GL_APIENTRY glFrontFace (GLenum mode);
   2.525 +GL_APICALL void         GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers);
   2.526 +GL_APICALL void         GL_APIENTRY glGenerateMipmap (GLenum target);
   2.527 +GL_APICALL void         GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers);
   2.528 +GL_APICALL void         GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);
   2.529 +GL_APICALL void         GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures);
   2.530 +GL_APICALL void         GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
   2.531 +GL_APICALL void         GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
   2.532 +GL_APICALL void         GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
   2.533 +GL_APICALL int          GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);
   2.534 +GL_APICALL void         GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params);
   2.535 +GL_APICALL void         GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
   2.536 +GL_APICALL GLenum       GL_APIENTRY glGetError (void);
   2.537 +GL_APICALL void         GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params);
   2.538 +GL_APICALL void         GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
   2.539 +GL_APICALL void         GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params);
   2.540 +GL_APICALL void         GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params);
   2.541 +GL_APICALL void         GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
   2.542 +GL_APICALL void         GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);
   2.543 +GL_APICALL void         GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params);
   2.544 +GL_APICALL void         GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
   2.545 +GL_APICALL void         GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
   2.546 +GL_APICALL void         GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
   2.547 +GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name);
   2.548 +GL_APICALL void         GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);
   2.549 +GL_APICALL void         GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
   2.550 +GL_APICALL void         GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params);
   2.551 +GL_APICALL void         GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params);
   2.552 +GL_APICALL int          GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);
   2.553 +GL_APICALL void         GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
   2.554 +GL_APICALL void         GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
   2.555 +GL_APICALL void         GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);
   2.556 +GL_APICALL void         GL_APIENTRY glHint (GLenum target, GLenum mode);
   2.557 +GL_APICALL GLboolean    GL_APIENTRY glIsBuffer (GLuint buffer);
   2.558 +GL_APICALL GLboolean    GL_APIENTRY glIsEnabled (GLenum cap);
   2.559 +GL_APICALL GLboolean    GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
   2.560 +GL_APICALL GLboolean    GL_APIENTRY glIsProgram (GLuint program);
   2.561 +GL_APICALL GLboolean    GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
   2.562 +GL_APICALL GLboolean    GL_APIENTRY glIsShader (GLuint shader);
   2.563 +GL_APICALL GLboolean    GL_APIENTRY glIsTexture (GLuint texture);
   2.564 +GL_APICALL void         GL_APIENTRY glLineWidth (GLfloat width);
   2.565 +GL_APICALL void         GL_APIENTRY glLinkProgram (GLuint program);
   2.566 +GL_APICALL void         GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
   2.567 +GL_APICALL void         GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
   2.568 +GL_APICALL void         GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
   2.569 +GL_APICALL void         GL_APIENTRY glReleaseShaderCompiler (void);
   2.570 +GL_APICALL void         GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
   2.571 +GL_APICALL void         GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
   2.572 +GL_APICALL void         GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
   2.573 +GL_APICALL void         GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
   2.574 +GL_APICALL void         GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
   2.575 +GL_APICALL void         GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
   2.576 +GL_APICALL void         GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
   2.577 +GL_APICALL void         GL_APIENTRY glStencilMask (GLuint mask);
   2.578 +GL_APICALL void         GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
   2.579 +GL_APICALL void         GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
   2.580 +GL_APICALL void         GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
   2.581 +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);
   2.582 +GL_APICALL void         GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
   2.583 +GL_APICALL void         GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params);
   2.584 +GL_APICALL void         GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
   2.585 +GL_APICALL void         GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params);
   2.586 +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);
   2.587 +GL_APICALL void         GL_APIENTRY glUniform1f (GLint location, GLfloat x);
   2.588 +GL_APICALL void         GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v);
   2.589 +GL_APICALL void         GL_APIENTRY glUniform1i (GLint location, GLint x);
   2.590 +GL_APICALL void         GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v);
   2.591 +GL_APICALL void         GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y);
   2.592 +GL_APICALL void         GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v);
   2.593 +GL_APICALL void         GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y);
   2.594 +GL_APICALL void         GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v);
   2.595 +GL_APICALL void         GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z);
   2.596 +GL_APICALL void         GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v);
   2.597 +GL_APICALL void         GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z);
   2.598 +GL_APICALL void         GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v);
   2.599 +GL_APICALL void         GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   2.600 +GL_APICALL void         GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v);
   2.601 +GL_APICALL void         GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w);
   2.602 +GL_APICALL void         GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v);
   2.603 +GL_APICALL void         GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
   2.604 +GL_APICALL void         GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
   2.605 +GL_APICALL void         GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
   2.606 +GL_APICALL void         GL_APIENTRY glUseProgram (GLuint program);
   2.607 +GL_APICALL void         GL_APIENTRY glValidateProgram (GLuint program);
   2.608 +GL_APICALL void         GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x);
   2.609 +GL_APICALL void         GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values);
   2.610 +GL_APICALL void         GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y);
   2.611 +GL_APICALL void         GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values);
   2.612 +GL_APICALL void         GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z);
   2.613 +GL_APICALL void         GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values);
   2.614 +GL_APICALL void         GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   2.615 +GL_APICALL void         GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values);
   2.616 +GL_APICALL void         GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
   2.617 +GL_APICALL void         GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
   2.618 +
   2.619 +#ifdef __cplusplus
   2.620 +}
   2.621 +#endif
   2.622 +
   2.623 +#endif /* __gl2_h_ */
   2.624 +
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/include/SDL_opengles2_gl2ext.h	Wed Jun 04 01:27:13 2014 -0700
     3.3 @@ -0,0 +1,1809 @@
     3.4 +#ifndef __gl2ext_h_
     3.5 +#define __gl2ext_h_
     3.6 +
     3.7 +/* $Revision: 19436 $ on $Date:: 2012-10-10 10:37:04 -0700 #$ */
     3.8 +
     3.9 +#ifdef __cplusplus
    3.10 +extern "C" {
    3.11 +#endif
    3.12 +
    3.13 +/*
    3.14 + * This document is licensed under the SGI Free Software B License Version
    3.15 + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
    3.16 + */
    3.17 +
    3.18 +#ifndef GL_APIENTRYP
    3.19 +#   define GL_APIENTRYP GL_APIENTRY*
    3.20 +#endif
    3.21 +
    3.22 +/*------------------------------------------------------------------------*
    3.23 + * OES extension tokens
    3.24 + *------------------------------------------------------------------------*/
    3.25 +
    3.26 +/* GL_OES_compressed_ETC1_RGB8_texture */
    3.27 +#ifndef GL_OES_compressed_ETC1_RGB8_texture
    3.28 +#define GL_ETC1_RGB8_OES                                        0x8D64
    3.29 +#endif
    3.30 +
    3.31 +/* GL_OES_compressed_paletted_texture */
    3.32 +#ifndef GL_OES_compressed_paletted_texture
    3.33 +#define GL_PALETTE4_RGB8_OES                                    0x8B90
    3.34 +#define GL_PALETTE4_RGBA8_OES                                   0x8B91
    3.35 +#define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
    3.36 +#define GL_PALETTE4_RGBA4_OES                                   0x8B93
    3.37 +#define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
    3.38 +#define GL_PALETTE8_RGB8_OES                                    0x8B95
    3.39 +#define GL_PALETTE8_RGBA8_OES                                   0x8B96
    3.40 +#define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
    3.41 +#define GL_PALETTE8_RGBA4_OES                                   0x8B98
    3.42 +#define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
    3.43 +#endif
    3.44 +
    3.45 +/* GL_OES_depth24 */
    3.46 +#ifndef GL_OES_depth24
    3.47 +#define GL_DEPTH_COMPONENT24_OES                                0x81A6
    3.48 +#endif
    3.49 +
    3.50 +/* GL_OES_depth32 */
    3.51 +#ifndef GL_OES_depth32
    3.52 +#define GL_DEPTH_COMPONENT32_OES                                0x81A7
    3.53 +#endif
    3.54 +
    3.55 +/* GL_OES_depth_texture */
    3.56 +/* No new tokens introduced by this extension. */
    3.57 +
    3.58 +/* GL_OES_EGL_image */
    3.59 +#ifndef GL_OES_EGL_image
    3.60 +typedef void* GLeglImageOES;
    3.61 +#endif
    3.62 +
    3.63 +/* GL_OES_EGL_image_external */
    3.64 +#ifndef GL_OES_EGL_image_external
    3.65 +/* GLeglImageOES defined in GL_OES_EGL_image already. */
    3.66 +#define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
    3.67 +#define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
    3.68 +#define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
    3.69 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
    3.70 +#endif
    3.71 +
    3.72 +/* GL_OES_element_index_uint */
    3.73 +#ifndef GL_OES_element_index_uint
    3.74 +#define GL_UNSIGNED_INT                                         0x1405
    3.75 +#endif
    3.76 +
    3.77 +/* GL_OES_get_program_binary */
    3.78 +#ifndef GL_OES_get_program_binary
    3.79 +#define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
    3.80 +#define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
    3.81 +#define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
    3.82 +#endif
    3.83 +
    3.84 +/* GL_OES_mapbuffer */
    3.85 +#ifndef GL_OES_mapbuffer
    3.86 +#define GL_WRITE_ONLY_OES                                       0x88B9
    3.87 +#define GL_BUFFER_ACCESS_OES                                    0x88BB
    3.88 +#define GL_BUFFER_MAPPED_OES                                    0x88BC
    3.89 +#define GL_BUFFER_MAP_POINTER_OES                               0x88BD
    3.90 +#endif
    3.91 +
    3.92 +/* GL_OES_packed_depth_stencil */
    3.93 +#ifndef GL_OES_packed_depth_stencil
    3.94 +#define GL_DEPTH_STENCIL_OES                                    0x84F9
    3.95 +#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
    3.96 +#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
    3.97 +#endif
    3.98 +
    3.99 +/* GL_OES_required_internalformat */
   3.100 +#ifndef GL_OES_required_internalformat 
   3.101 +#define GL_ALPHA8_OES                                           0x803C
   3.102 +#define GL_DEPTH_COMPONENT16_OES                                0x81A5
   3.103 +/* reuse GL_DEPTH_COMPONENT24_OES */                            
   3.104 +/* reuse GL_DEPTH24_STENCIL8_OES */                             
   3.105 +/* reuse GL_DEPTH_COMPONENT32_OES */                            
   3.106 +#define GL_LUMINANCE4_ALPHA4_OES                                0x8043
   3.107 +#define GL_LUMINANCE8_ALPHA8_OES                                0x8045
   3.108 +#define GL_LUMINANCE8_OES                                       0x8040
   3.109 +#define GL_RGBA4_OES                                            0x8056
   3.110 +#define GL_RGB5_A1_OES                                          0x8057
   3.111 +#define GL_RGB565_OES                                           0x8D62
   3.112 +/* reuse GL_RGB8_OES */                              
   3.113 +/* reuse GL_RGBA8_OES */  
   3.114 +/* reuse GL_RGB10_EXT */
   3.115 +/* reuse GL_RGB10_A2_EXT */
   3.116 +#endif 
   3.117 +
   3.118 +/* GL_OES_rgb8_rgba8 */
   3.119 +#ifndef GL_OES_rgb8_rgba8
   3.120 +#define GL_RGB8_OES                                             0x8051
   3.121 +#define GL_RGBA8_OES                                            0x8058
   3.122 +#endif
   3.123 +
   3.124 +/* GL_OES_standard_derivatives */
   3.125 +#ifndef GL_OES_standard_derivatives
   3.126 +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
   3.127 +#endif
   3.128 +
   3.129 +/* GL_OES_stencil1 */
   3.130 +#ifndef GL_OES_stencil1
   3.131 +#define GL_STENCIL_INDEX1_OES                                   0x8D46
   3.132 +#endif
   3.133 +
   3.134 +/* GL_OES_stencil4 */
   3.135 +#ifndef GL_OES_stencil4
   3.136 +#define GL_STENCIL_INDEX4_OES                                   0x8D47
   3.137 +#endif
   3.138 +
   3.139 +#ifndef GL_OES_surfaceless_context
   3.140 +#define GL_FRAMEBUFFER_UNDEFINED_OES                            0x8219
   3.141 +#endif
   3.142 +
   3.143 +/* GL_OES_texture_3D */
   3.144 +#ifndef GL_OES_texture_3D
   3.145 +#define GL_TEXTURE_WRAP_R_OES                                   0x8072
   3.146 +#define GL_TEXTURE_3D_OES                                       0x806F
   3.147 +#define GL_TEXTURE_BINDING_3D_OES                               0x806A
   3.148 +#define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
   3.149 +#define GL_SAMPLER_3D_OES                                       0x8B5F
   3.150 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
   3.151 +#endif
   3.152 +
   3.153 +/* GL_OES_texture_float */
   3.154 +/* No new tokens introduced by this extension. */
   3.155 +
   3.156 +/* GL_OES_texture_float_linear */
   3.157 +/* No new tokens introduced by this extension. */
   3.158 +
   3.159 +/* GL_OES_texture_half_float */
   3.160 +#ifndef GL_OES_texture_half_float
   3.161 +#define GL_HALF_FLOAT_OES                                       0x8D61
   3.162 +#endif
   3.163 +
   3.164 +/* GL_OES_texture_half_float_linear */
   3.165 +/* No new tokens introduced by this extension. */
   3.166 +
   3.167 +/* GL_OES_texture_npot */
   3.168 +/* No new tokens introduced by this extension. */
   3.169 +
   3.170 +/* GL_OES_vertex_array_object */
   3.171 +#ifndef GL_OES_vertex_array_object
   3.172 +#define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
   3.173 +#endif
   3.174 +
   3.175 +/* GL_OES_vertex_half_float */
   3.176 +/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
   3.177 +
   3.178 +/* GL_OES_vertex_type_10_10_10_2 */
   3.179 +#ifndef GL_OES_vertex_type_10_10_10_2
   3.180 +#define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
   3.181 +#define GL_INT_10_10_10_2_OES                                   0x8DF7
   3.182 +#endif
   3.183 +
   3.184 +/*------------------------------------------------------------------------*
   3.185 + * KHR extension tokens
   3.186 + *------------------------------------------------------------------------*/
   3.187 +
   3.188 +#ifndef GL_KHR_debug
   3.189 +typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
   3.190 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS                             0x8242
   3.191 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH                     0x8243
   3.192 +#define GL_DEBUG_CALLBACK_FUNCTION                              0x8244
   3.193 +#define GL_DEBUG_CALLBACK_USER_PARAM                            0x8245
   3.194 +#define GL_DEBUG_SOURCE_API                                     0x8246
   3.195 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM                           0x8247
   3.196 +#define GL_DEBUG_SOURCE_SHADER_COMPILER                         0x8248
   3.197 +#define GL_DEBUG_SOURCE_THIRD_PARTY                             0x8249
   3.198 +#define GL_DEBUG_SOURCE_APPLICATION                             0x824A
   3.199 +#define GL_DEBUG_SOURCE_OTHER                                   0x824B
   3.200 +#define GL_DEBUG_TYPE_ERROR                                     0x824C
   3.201 +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR                       0x824D
   3.202 +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR                        0x824E
   3.203 +#define GL_DEBUG_TYPE_PORTABILITY                               0x824F
   3.204 +#define GL_DEBUG_TYPE_PERFORMANCE                               0x8250
   3.205 +#define GL_DEBUG_TYPE_OTHER                                     0x8251
   3.206 +#define GL_DEBUG_TYPE_MARKER                                    0x8268
   3.207 +#define GL_DEBUG_TYPE_PUSH_GROUP                                0x8269
   3.208 +#define GL_DEBUG_TYPE_POP_GROUP                                 0x826A
   3.209 +#define GL_DEBUG_SEVERITY_NOTIFICATION                          0x826B
   3.210 +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH                          0x826C
   3.211 +#define GL_DEBUG_GROUP_STACK_DEPTH                              0x826D
   3.212 +#define GL_BUFFER                                               0x82E0
   3.213 +#define GL_SHADER                                               0x82E1
   3.214 +#define GL_PROGRAM                                              0x82E2
   3.215 +#define GL_QUERY                                                0x82E3
   3.216 +/* PROGRAM_PIPELINE only in GL */                               
   3.217 +#define GL_SAMPLER                                              0x82E6
   3.218 +/* DISPLAY_LIST only in GL */                                   
   3.219 +#define GL_MAX_LABEL_LENGTH                                     0x82E8
   3.220 +#define GL_MAX_DEBUG_MESSAGE_LENGTH                             0x9143
   3.221 +#define GL_MAX_DEBUG_LOGGED_MESSAGES                            0x9144
   3.222 +#define GL_DEBUG_LOGGED_MESSAGES                                0x9145
   3.223 +#define GL_DEBUG_SEVERITY_HIGH                                  0x9146
   3.224 +#define GL_DEBUG_SEVERITY_MEDIUM                                0x9147
   3.225 +#define GL_DEBUG_SEVERITY_LOW                                   0x9148
   3.226 +#define GL_DEBUG_OUTPUT                                         0x92E0
   3.227 +#define GL_CONTEXT_FLAG_DEBUG_BIT                               0x00000002
   3.228 +#define GL_STACK_OVERFLOW                                       0x0503
   3.229 +#define GL_STACK_UNDERFLOW                                      0x0504
   3.230 +#endif
   3.231 +
   3.232 +#ifndef GL_KHR_texture_compression_astc_ldr
   3.233 +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                         0x93B0
   3.234 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                         0x93B1
   3.235 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                         0x93B2
   3.236 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                         0x93B3
   3.237 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                         0x93B4
   3.238 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                         0x93B5
   3.239 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                         0x93B6
   3.240 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                         0x93B7
   3.241 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                        0x93B8
   3.242 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                        0x93B9
   3.243 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                        0x93BA
   3.244 +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                       0x93BB
   3.245 +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                       0x93BC
   3.246 +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                       0x93BD
   3.247 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                 0x93D0
   3.248 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                 0x93D1
   3.249 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                 0x93D2
   3.250 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                 0x93D3
   3.251 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                 0x93D4
   3.252 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                 0x93D5
   3.253 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                 0x93D6
   3.254 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                 0x93D7
   3.255 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                0x93D8
   3.256 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                0x93D9
   3.257 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                0x93DA
   3.258 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR               0x93DB
   3.259 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR               0x93DC
   3.260 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR               0x93DD
   3.261 +#endif
   3.262 +
   3.263 +/*------------------------------------------------------------------------*
   3.264 + * AMD extension tokens
   3.265 + *------------------------------------------------------------------------*/
   3.266 +
   3.267 +/* GL_AMD_compressed_3DC_texture */
   3.268 +#ifndef GL_AMD_compressed_3DC_texture
   3.269 +#define GL_3DC_X_AMD                                            0x87F9
   3.270 +#define GL_3DC_XY_AMD                                           0x87FA
   3.271 +#endif
   3.272 +
   3.273 +/* GL_AMD_compressed_ATC_texture */
   3.274 +#ifndef GL_AMD_compressed_ATC_texture
   3.275 +#define GL_ATC_RGB_AMD                                          0x8C92
   3.276 +#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
   3.277 +#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
   3.278 +#endif
   3.279 +
   3.280 +/* GL_AMD_performance_monitor */
   3.281 +#ifndef GL_AMD_performance_monitor
   3.282 +#define GL_COUNTER_TYPE_AMD                                     0x8BC0
   3.283 +#define GL_COUNTER_RANGE_AMD                                    0x8BC1
   3.284 +#define GL_UNSIGNED_INT64_AMD                                   0x8BC2
   3.285 +#define GL_PERCENTAGE_AMD                                       0x8BC3
   3.286 +#define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
   3.287 +#define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
   3.288 +#define GL_PERFMON_RESULT_AMD                                   0x8BC6
   3.289 +#endif
   3.290 +
   3.291 +/* GL_AMD_program_binary_Z400 */
   3.292 +#ifndef GL_AMD_program_binary_Z400
   3.293 +#define GL_Z400_BINARY_AMD                                      0x8740
   3.294 +#endif
   3.295 +
   3.296 +/*------------------------------------------------------------------------*
   3.297 + * ANGLE extension tokens
   3.298 + *------------------------------------------------------------------------*/
   3.299 +
   3.300 +/* GL_ANGLE_framebuffer_blit */
   3.301 +#ifndef GL_ANGLE_framebuffer_blit
   3.302 +#define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
   3.303 +#define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
   3.304 +#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
   3.305 +#define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
   3.306 +#endif
   3.307 +
   3.308 +/* GL_ANGLE_framebuffer_multisample */
   3.309 +#ifndef GL_ANGLE_framebuffer_multisample
   3.310 +#define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
   3.311 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
   3.312 +#define GL_MAX_SAMPLES_ANGLE                                    0x8D57
   3.313 +#endif
   3.314 +
   3.315 +/* GL_ANGLE_instanced_arrays */
   3.316 +#ifndef GL_ANGLE_instanced_arrays 
   3.317 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
   3.318 +#endif
   3.319 +
   3.320 +/* GL_ANGLE_pack_reverse_row_order */
   3.321 +#ifndef GL_ANGLE_pack_reverse_row_order 
   3.322 +#define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
   3.323 +#endif
   3.324 +
   3.325 +/* GL_ANGLE_texture_compression_dxt3 */
   3.326 +#ifndef GL_ANGLE_texture_compression_dxt3 
   3.327 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
   3.328 +#endif
   3.329 +
   3.330 +/* GL_ANGLE_texture_compression_dxt5 */
   3.331 +#ifndef GL_ANGLE_texture_compression_dxt5 
   3.332 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
   3.333 +#endif
   3.334 +
   3.335 +/* GL_ANGLE_texture_usage */
   3.336 +#ifndef GL_ANGLE_texture_usage 
   3.337 +#define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
   3.338 +#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
   3.339 +#endif
   3.340 +
   3.341 +/* GL_ANGLE_translated_shader_source */
   3.342 +#ifndef GL_ANGLE_translated_shader_source 
   3.343 +#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
   3.344 +#endif
   3.345 +
   3.346 +/*------------------------------------------------------------------------*
   3.347 + * APPLE extension tokens
   3.348 + *------------------------------------------------------------------------*/
   3.349 +
   3.350 +/* GL_APPLE_copy_texture_levels */
   3.351 +/* No new tokens introduced by this extension. */
   3.352 +    
   3.353 +/* GL_APPLE_framebuffer_multisample */
   3.354 +#ifndef GL_APPLE_framebuffer_multisample
   3.355 +#define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
   3.356 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
   3.357 +#define GL_MAX_SAMPLES_APPLE                                    0x8D57
   3.358 +#define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
   3.359 +#define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
   3.360 +#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
   3.361 +#define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
   3.362 +#endif
   3.363 +
   3.364 +/* GL_APPLE_rgb_422 */
   3.365 +#ifndef GL_APPLE_rgb_422
   3.366 +#define GL_RGB_422_APPLE                                        0x8A1F
   3.367 +#define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
   3.368 +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
   3.369 +#endif
   3.370 +
   3.371 +/* GL_APPLE_sync */
   3.372 +#ifndef GL_APPLE_sync
   3.373 +
   3.374 +#ifndef __gl3_h_
   3.375 +/* These types are defined with reference to <inttypes.h>
   3.376 + * in the Apple extension spec, but here we use the Khronos
   3.377 + * portable types in khrplatform.h, and assume those types 
   3.378 + * are always defined.
   3.379 + * If any other extensions using these types are defined, 
   3.380 + * the typedefs must move out of this block and be shared.
   3.381 + */
   3.382 +typedef khronos_int64_t GLint64;
   3.383 +typedef khronos_uint64_t GLuint64;
   3.384 +typedef struct __GLsync *GLsync;
   3.385 +#endif
   3.386 +
   3.387 +#define GL_SYNC_OBJECT_APPLE                                    0x8A53
   3.388 +#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
   3.389 +#define GL_OBJECT_TYPE_APPLE                                    0x9112
   3.390 +#define GL_SYNC_CONDITION_APPLE                                 0x9113
   3.391 +#define GL_SYNC_STATUS_APPLE                                    0x9114
   3.392 +#define GL_SYNC_FLAGS_APPLE                                     0x9115
   3.393 +#define GL_SYNC_FENCE_APPLE                                     0x9116
   3.394 +#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
   3.395 +#define GL_UNSIGNALED_APPLE                                     0x9118
   3.396 +#define GL_SIGNALED_APPLE                                       0x9119
   3.397 +#define GL_ALREADY_SIGNALED_APPLE                               0x911A
   3.398 +#define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
   3.399 +#define GL_CONDITION_SATISFIED_APPLE                            0x911C
   3.400 +#define GL_WAIT_FAILED_APPLE                                    0x911D
   3.401 +#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
   3.402 +#define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
   3.403 +#endif
   3.404 +
   3.405 +/* GL_APPLE_texture_format_BGRA8888 */
   3.406 +#ifndef GL_APPLE_texture_format_BGRA8888
   3.407 +#define GL_BGRA_EXT                                             0x80E1
   3.408 +#endif
   3.409 +
   3.410 +/* GL_APPLE_texture_max_level */
   3.411 +#ifndef GL_APPLE_texture_max_level
   3.412 +#define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
   3.413 +#endif
   3.414 +
   3.415 +/*------------------------------------------------------------------------*
   3.416 + * ARM extension tokens
   3.417 + *------------------------------------------------------------------------*/
   3.418 +
   3.419 +/* GL_ARM_mali_program_binary */
   3.420 +#ifndef GL_ARM_mali_program_binary
   3.421 +#define GL_MALI_PROGRAM_BINARY_ARM                              0x8F61
   3.422 +#endif
   3.423 +
   3.424 +/* GL_ARM_mali_shader_binary */
   3.425 +#ifndef GL_ARM_mali_shader_binary
   3.426 +#define GL_MALI_SHADER_BINARY_ARM                               0x8F60
   3.427 +#endif
   3.428 +
   3.429 +/* GL_ARM_rgba8 */
   3.430 +/* No new tokens introduced by this extension. */
   3.431 +
   3.432 +/*------------------------------------------------------------------------*
   3.433 + * EXT extension tokens
   3.434 + *------------------------------------------------------------------------*/
   3.435 +
   3.436 +/* GL_EXT_blend_minmax */
   3.437 +#ifndef GL_EXT_blend_minmax
   3.438 +#define GL_MIN_EXT                                              0x8007
   3.439 +#define GL_MAX_EXT                                              0x8008
   3.440 +#endif
   3.441 +
   3.442 +/* GL_EXT_color_buffer_half_float */
   3.443 +#ifndef GL_EXT_color_buffer_half_float
   3.444 +#define GL_RGBA16F_EXT                                          0x881A
   3.445 +#define GL_RGB16F_EXT                                           0x881B
   3.446 +#define GL_RG16F_EXT                                            0x822F
   3.447 +#define GL_R16F_EXT                                             0x822D
   3.448 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
   3.449 +#define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
   3.450 +#endif
   3.451 +
   3.452 +/* GL_EXT_debug_label */
   3.453 +#ifndef GL_EXT_debug_label
   3.454 +#define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
   3.455 +#define GL_PROGRAM_OBJECT_EXT                                   0x8B40
   3.456 +#define GL_SHADER_OBJECT_EXT                                    0x8B48
   3.457 +#define GL_BUFFER_OBJECT_EXT                                    0x9151
   3.458 +#define GL_QUERY_OBJECT_EXT                                     0x9153
   3.459 +#define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
   3.460 +#endif
   3.461 +
   3.462 +/* GL_EXT_debug_marker */
   3.463 +/* No new tokens introduced by this extension. */
   3.464 +
   3.465 +/* GL_EXT_discard_framebuffer */
   3.466 +#ifndef GL_EXT_discard_framebuffer
   3.467 +#define GL_COLOR_EXT                                            0x1800
   3.468 +#define GL_DEPTH_EXT                                            0x1801
   3.469 +#define GL_STENCIL_EXT                                          0x1802
   3.470 +#endif
   3.471 +
   3.472 +/* GL_EXT_map_buffer_range */
   3.473 +#ifndef GL_EXT_map_buffer_range
   3.474 +#define GL_MAP_READ_BIT_EXT                                     0x0001
   3.475 +#define GL_MAP_WRITE_BIT_EXT                                    0x0002
   3.476 +#define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
   3.477 +#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
   3.478 +#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
   3.479 +#define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
   3.480 +#endif
   3.481 +
   3.482 +/* GL_EXT_multisampled_render_to_texture */
   3.483 +#ifndef GL_EXT_multisampled_render_to_texture
   3.484 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
   3.485 +/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ 
   3.486 +#define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
   3.487 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
   3.488 +#define GL_MAX_SAMPLES_EXT                                      0x8D57
   3.489 +#endif
   3.490 +
   3.491 +/* GL_EXT_multiview_draw_buffers */
   3.492 +#ifndef GL_EXT_multiview_draw_buffers
   3.493 +#define GL_COLOR_ATTACHMENT_EXT                                 0x90F0
   3.494 +#define GL_MULTIVIEW_EXT                                        0x90F1
   3.495 +#define GL_DRAW_BUFFER_EXT                                      0x0C01
   3.496 +#define GL_READ_BUFFER_EXT                                      0x0C02
   3.497 +#define GL_MAX_MULTIVIEW_BUFFERS_EXT                            0x90F2
   3.498 +#endif
   3.499 +
   3.500 +/* GL_EXT_multi_draw_arrays */
   3.501 +/* No new tokens introduced by this extension. */
   3.502 +
   3.503 +/* GL_EXT_occlusion_query_boolean */
   3.504 +#ifndef GL_EXT_occlusion_query_boolean
   3.505 +#define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
   3.506 +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
   3.507 +#define GL_CURRENT_QUERY_EXT                                    0x8865
   3.508 +#define GL_QUERY_RESULT_EXT                                     0x8866
   3.509 +#define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
   3.510 +#endif
   3.511 +
   3.512 +/* GL_EXT_read_format_bgra */
   3.513 +#ifndef GL_EXT_read_format_bgra
   3.514 +#define GL_BGRA_EXT                                             0x80E1
   3.515 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
   3.516 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
   3.517 +#endif
   3.518 +
   3.519 +/* GL_EXT_robustness */
   3.520 +#ifndef GL_EXT_robustness
   3.521 +/* reuse GL_NO_ERROR */
   3.522 +#define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
   3.523 +#define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
   3.524 +#define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
   3.525 +#define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
   3.526 +#define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
   3.527 +#define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
   3.528 +#define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
   3.529 +#endif
   3.530 +
   3.531 +/* GL_EXT_separate_shader_objects */
   3.532 +#ifndef GL_EXT_separate_shader_objects
   3.533 +#define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
   3.534 +#define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
   3.535 +#define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
   3.536 +#define GL_PROGRAM_SEPARABLE_EXT                                0x8258
   3.537 +#define GL_ACTIVE_PROGRAM_EXT                                   0x8259
   3.538 +#define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
   3.539 +#endif
   3.540 +
   3.541 +/* GL_EXT_shader_framebuffer_fetch */
   3.542 +#ifndef GL_EXT_shader_framebuffer_fetch
   3.543 +#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                 0x8A52
   3.544 +#endif
   3.545 +
   3.546 +/* GL_EXT_shader_texture_lod */
   3.547 +/* No new tokens introduced by this extension. */
   3.548 +
   3.549 +/* GL_EXT_shadow_samplers */
   3.550 +#ifndef GL_EXT_shadow_samplers
   3.551 +#define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
   3.552 +#define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
   3.553 +#define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
   3.554 +#define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
   3.555 +#endif
   3.556 +
   3.557 +/* GL_EXT_sRGB */
   3.558 +#ifndef GL_EXT_sRGB
   3.559 +#define GL_SRGB_EXT                                             0x8C40
   3.560 +#define GL_SRGB_ALPHA_EXT                                       0x8C42
   3.561 +#define GL_SRGB8_ALPHA8_EXT                                     0x8C43
   3.562 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
   3.563 +#endif
   3.564 +
   3.565 +/* GL_EXT_texture_compression_dxt1 */
   3.566 +#ifndef GL_EXT_texture_compression_dxt1
   3.567 +#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
   3.568 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
   3.569 +#endif
   3.570 +
   3.571 +/* GL_EXT_texture_filter_anisotropic */
   3.572 +#ifndef GL_EXT_texture_filter_anisotropic
   3.573 +#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
   3.574 +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
   3.575 +#endif
   3.576 +
   3.577 +/* GL_EXT_texture_format_BGRA8888 */
   3.578 +#ifndef GL_EXT_texture_format_BGRA8888
   3.579 +#define GL_BGRA_EXT                                             0x80E1
   3.580 +#endif
   3.581 +
   3.582 +/* GL_EXT_texture_rg */
   3.583 +#ifndef GL_EXT_texture_rg
   3.584 +#define GL_RED_EXT                                              0x1903
   3.585 +#define GL_RG_EXT                                               0x8227
   3.586 +#define GL_R8_EXT                                               0x8229
   3.587 +#define GL_RG8_EXT                                              0x822B
   3.588 +#endif
   3.589 +
   3.590 +/* GL_EXT_texture_storage */
   3.591 +#ifndef GL_EXT_texture_storage
   3.592 +#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
   3.593 +#define GL_ALPHA8_EXT                                           0x803C  
   3.594 +#define GL_LUMINANCE8_EXT                                       0x8040
   3.595 +#define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
   3.596 +#define GL_RGBA32F_EXT                                          0x8814  
   3.597 +#define GL_RGB32F_EXT                                           0x8815
   3.598 +#define GL_ALPHA32F_EXT                                         0x8816
   3.599 +#define GL_LUMINANCE32F_EXT                                     0x8818
   3.600 +#define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
   3.601 +/* reuse GL_RGBA16F_EXT */
   3.602 +/* reuse GL_RGB16F_EXT */
   3.603 +#define GL_ALPHA16F_EXT                                         0x881C
   3.604 +#define GL_LUMINANCE16F_EXT                                     0x881E
   3.605 +#define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
   3.606 +#define GL_RGB10_A2_EXT                                         0x8059  
   3.607 +#define GL_RGB10_EXT                                            0x8052
   3.608 +#define GL_BGRA8_EXT                                            0x93A1
   3.609 +#define GL_R8_EXT                                               0x8229
   3.610 +#define GL_RG8_EXT                                              0x822B
   3.611 +#define GL_R32F_EXT                                             0x822E  
   3.612 +#define GL_RG32F_EXT                                            0x8230
   3.613 +#define GL_R16F_EXT                                             0x822D
   3.614 +#define GL_RG16F_EXT                                            0x822F
   3.615 +#endif
   3.616 +
   3.617 +/* GL_EXT_texture_type_2_10_10_10_REV */
   3.618 +#ifndef GL_EXT_texture_type_2_10_10_10_REV
   3.619 +#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
   3.620 +#endif
   3.621 +
   3.622 +/* GL_EXT_unpack_subimage */
   3.623 +#ifndef GL_EXT_unpack_subimage
   3.624 +#define GL_UNPACK_ROW_LENGTH                                    0x0CF2
   3.625 +#define GL_UNPACK_SKIP_ROWS                                     0x0CF3
   3.626 +#define GL_UNPACK_SKIP_PIXELS                                   0x0CF4
   3.627 +#endif
   3.628 +
   3.629 +/*------------------------------------------------------------------------*
   3.630 + * DMP extension tokens
   3.631 + *------------------------------------------------------------------------*/
   3.632 +
   3.633 +/* GL_DMP_shader_binary */
   3.634 +#ifndef GL_DMP_shader_binary
   3.635 +#define GL_SHADER_BINARY_DMP                                    0x9250
   3.636 +#endif
   3.637 +
   3.638 +/*------------------------------------------------------------------------*
   3.639 + * FJ extension tokens
   3.640 + *------------------------------------------------------------------------*/
   3.641 +
   3.642 +/* GL_FJ_shader_binary_GCCSO */
   3.643 +#ifndef GL_FJ_shader_binary_GCCSO
   3.644 +#define GCCSO_SHADER_BINARY_FJ                                  0x9260
   3.645 +#endif
   3.646 +
   3.647 +/*------------------------------------------------------------------------*
   3.648 + * IMG extension tokens
   3.649 + *------------------------------------------------------------------------*/
   3.650 +
   3.651 +/* GL_IMG_program_binary */
   3.652 +#ifndef GL_IMG_program_binary
   3.653 +#define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
   3.654 +#endif
   3.655 +
   3.656 +/* GL_IMG_read_format */
   3.657 +#ifndef GL_IMG_read_format
   3.658 +#define GL_BGRA_IMG                                             0x80E1
   3.659 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
   3.660 +#endif
   3.661 +
   3.662 +/* GL_IMG_shader_binary */
   3.663 +#ifndef GL_IMG_shader_binary
   3.664 +#define GL_SGX_BINARY_IMG                                       0x8C0A
   3.665 +#endif
   3.666 +
   3.667 +/* GL_IMG_texture_compression_pvrtc */
   3.668 +#ifndef GL_IMG_texture_compression_pvrtc
   3.669 +#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
   3.670 +#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
   3.671 +#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
   3.672 +#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
   3.673 +#endif
   3.674 +
   3.675 +/* GL_IMG_multisampled_render_to_texture */
   3.676 +#ifndef GL_IMG_multisampled_render_to_texture
   3.677 +#define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
   3.678 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
   3.679 +#define GL_MAX_SAMPLES_IMG                                      0x9135
   3.680 +#define GL_TEXTURE_SAMPLES_IMG                                  0x9136
   3.681 +#endif
   3.682 +
   3.683 +/*------------------------------------------------------------------------*
   3.684 + * NV extension tokens
   3.685 + *------------------------------------------------------------------------*/
   3.686 +
   3.687 +/* GL_NV_coverage_sample */
   3.688 +#ifndef GL_NV_coverage_sample
   3.689 +#define GL_COVERAGE_COMPONENT_NV                                0x8ED0
   3.690 +#define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
   3.691 +#define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
   3.692 +#define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
   3.693 +#define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
   3.694 +#define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
   3.695 +#define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
   3.696 +#define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
   3.697 +#define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
   3.698 +#endif
   3.699 +
   3.700 +/* GL_NV_depth_nonlinear */
   3.701 +#ifndef GL_NV_depth_nonlinear
   3.702 +#define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
   3.703 +#endif
   3.704 +
   3.705 +/* GL_NV_draw_buffers */
   3.706 +#ifndef GL_NV_draw_buffers
   3.707 +#define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
   3.708 +#define GL_DRAW_BUFFER0_NV                                      0x8825
   3.709 +#define GL_DRAW_BUFFER1_NV                                      0x8826
   3.710 +#define GL_DRAW_BUFFER2_NV                                      0x8827
   3.711 +#define GL_DRAW_BUFFER3_NV                                      0x8828
   3.712 +#define GL_DRAW_BUFFER4_NV                                      0x8829
   3.713 +#define GL_DRAW_BUFFER5_NV                                      0x882A
   3.714 +#define GL_DRAW_BUFFER6_NV                                      0x882B
   3.715 +#define GL_DRAW_BUFFER7_NV                                      0x882C
   3.716 +#define GL_DRAW_BUFFER8_NV                                      0x882D
   3.717 +#define GL_DRAW_BUFFER9_NV                                      0x882E
   3.718 +#define GL_DRAW_BUFFER10_NV                                     0x882F
   3.719 +#define GL_DRAW_BUFFER11_NV                                     0x8830
   3.720 +#define GL_DRAW_BUFFER12_NV                                     0x8831
   3.721 +#define GL_DRAW_BUFFER13_NV                                     0x8832
   3.722 +#define GL_DRAW_BUFFER14_NV                                     0x8833
   3.723 +#define GL_DRAW_BUFFER15_NV                                     0x8834
   3.724 +#define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
   3.725 +#define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
   3.726 +#define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
   3.727 +#define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
   3.728 +#define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
   3.729 +#define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
   3.730 +#define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
   3.731 +#define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
   3.732 +#define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
   3.733 +#define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
   3.734 +#define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
   3.735 +#define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
   3.736 +#define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
   3.737 +#define GL_COLOR_ATTACHMENT13_NV                                0x8CED
   3.738 +#define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
   3.739 +#define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
   3.740 +#endif
   3.741 +
   3.742 +/* GL_NV_fbo_color_attachments */
   3.743 +#ifndef GL_NV_fbo_color_attachments
   3.744 +#define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
   3.745 +/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
   3.746 +#endif
   3.747 +
   3.748 +/* GL_NV_fence */
   3.749 +#ifndef GL_NV_fence
   3.750 +#define GL_ALL_COMPLETED_NV                                     0x84F2
   3.751 +#define GL_FENCE_STATUS_NV                                      0x84F3
   3.752 +#define GL_FENCE_CONDITION_NV                                   0x84F4
   3.753 +#endif
   3.754 +
   3.755 +/* GL_NV_read_buffer */
   3.756 +#ifndef GL_NV_read_buffer
   3.757 +#define GL_READ_BUFFER_NV                                       0x0C02
   3.758 +#endif
   3.759 +
   3.760 +/* GL_NV_read_buffer_front */
   3.761 +/* No new tokens introduced by this extension. */
   3.762 +
   3.763 +/* GL_NV_read_depth */
   3.764 +/* No new tokens introduced by this extension. */
   3.765 +
   3.766 +/* GL_NV_read_depth_stencil */
   3.767 +/* No new tokens introduced by this extension. */
   3.768 +
   3.769 +/* GL_NV_read_stencil */
   3.770 +/* No new tokens introduced by this extension. */
   3.771 +
   3.772 +/* GL_NV_texture_compression_s3tc_update */
   3.773 +/* No new tokens introduced by this extension. */
   3.774 +
   3.775 +/* GL_NV_texture_npot_2D_mipmap */
   3.776 +/* No new tokens introduced by this extension. */
   3.777 +
   3.778 +/*------------------------------------------------------------------------*
   3.779 + * QCOM extension tokens
   3.780 + *------------------------------------------------------------------------*/
   3.781 +
   3.782 +/* GL_QCOM_alpha_test */
   3.783 +#ifndef GL_QCOM_alpha_test
   3.784 +#define GL_ALPHA_TEST_QCOM                                      0x0BC0
   3.785 +#define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
   3.786 +#define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
   3.787 +#endif
   3.788 +
   3.789 +/* GL_QCOM_binning_control */
   3.790 +#ifndef GL_QCOM_binning_control
   3.791 +#define GL_BINNING_CONTROL_HINT_QCOM                            0x8FB0
   3.792 +#define GL_CPU_OPTIMIZED_QCOM                                   0x8FB1
   3.793 +#define GL_GPU_OPTIMIZED_QCOM                                   0x8FB2
   3.794 +#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                    0x8FB3
   3.795 +#endif
   3.796 +
   3.797 +/* GL_QCOM_driver_control */
   3.798 +/* No new tokens introduced by this extension. */
   3.799 +
   3.800 +/* GL_QCOM_extended_get */
   3.801 +#ifndef GL_QCOM_extended_get
   3.802 +#define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
   3.803 +#define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
   3.804 +#define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
   3.805 +#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
   3.806 +#define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
   3.807 +#define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
   3.808 +#define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
   3.809 +#define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
   3.810 +#define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
   3.811 +#define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
   3.812 +#define GL_STATE_RESTORE                                        0x8BDC
   3.813 +#endif
   3.814 +
   3.815 +/* GL_QCOM_extended_get2 */
   3.816 +/* No new tokens introduced by this extension. */
   3.817 +
   3.818 +/* GL_QCOM_perfmon_global_mode */
   3.819 +#ifndef GL_QCOM_perfmon_global_mode
   3.820 +#define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
   3.821 +#endif
   3.822 +
   3.823 +/* GL_QCOM_writeonly_rendering */
   3.824 +#ifndef GL_QCOM_writeonly_rendering
   3.825 +#define GL_WRITEONLY_RENDERING_QCOM                             0x8823
   3.826 +#endif
   3.827 +
   3.828 +/* GL_QCOM_tiled_rendering */
   3.829 +#ifndef GL_QCOM_tiled_rendering
   3.830 +#define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
   3.831 +#define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
   3.832 +#define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
   3.833 +#define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
   3.834 +#define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
   3.835 +#define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
   3.836 +#define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
   3.837 +#define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
   3.838 +#define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
   3.839 +#define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
   3.840 +#define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
   3.841 +#define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
   3.842 +#define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
   3.843 +#define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
   3.844 +#define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
   3.845 +#define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
   3.846 +#define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
   3.847 +#define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
   3.848 +#define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
   3.849 +#define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
   3.850 +#define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
   3.851 +#define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
   3.852 +#define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
   3.853 +#define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
   3.854 +#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
   3.855 +#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
   3.856 +#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
   3.857 +#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
   3.858 +#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
   3.859 +#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
   3.860 +#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
   3.861 +#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
   3.862 +#endif
   3.863 +
   3.864 +/*------------------------------------------------------------------------*
   3.865 + * VIV extension tokens
   3.866 + *------------------------------------------------------------------------*/
   3.867 +
   3.868 +/* GL_VIV_shader_binary */
   3.869 +#ifndef GL_VIV_shader_binary
   3.870 +#define GL_SHADER_BINARY_VIV                                    0x8FC4
   3.871 +#endif
   3.872 +
   3.873 +/*------------------------------------------------------------------------*
   3.874 + * End of extension tokens, start of corresponding extension functions
   3.875 + *------------------------------------------------------------------------*/
   3.876 +
   3.877 +/*------------------------------------------------------------------------*
   3.878 + * OES extension functions
   3.879 + *------------------------------------------------------------------------*/
   3.880 +
   3.881 +/* GL_OES_compressed_ETC1_RGB8_texture */
   3.882 +#ifndef GL_OES_compressed_ETC1_RGB8_texture
   3.883 +#define GL_OES_compressed_ETC1_RGB8_texture 1
   3.884 +#endif
   3.885 +
   3.886 +/* GL_OES_compressed_paletted_texture */
   3.887 +#ifndef GL_OES_compressed_paletted_texture
   3.888 +#define GL_OES_compressed_paletted_texture 1
   3.889 +#endif
   3.890 +
   3.891 +/* GL_OES_depth24 */
   3.892 +#ifndef GL_OES_depth24
   3.893 +#define GL_OES_depth24 1
   3.894 +#endif
   3.895 +
   3.896 +/* GL_OES_depth32 */
   3.897 +#ifndef GL_OES_depth32
   3.898 +#define GL_OES_depth32 1
   3.899 +#endif
   3.900 +
   3.901 +/* GL_OES_depth_texture */
   3.902 +#ifndef GL_OES_depth_texture
   3.903 +#define GL_OES_depth_texture 1
   3.904 +#endif
   3.905 +
   3.906 +/* GL_OES_EGL_image */
   3.907 +#ifndef GL_OES_EGL_image
   3.908 +#define GL_OES_EGL_image 1
   3.909 +#ifdef GL_GLEXT_PROTOTYPES
   3.910 +GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
   3.911 +GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
   3.912 +#endif
   3.913 +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
   3.914 +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
   3.915 +#endif
   3.916 +
   3.917 +/* GL_OES_EGL_image_external */
   3.918 +#ifndef GL_OES_EGL_image_external
   3.919 +#define GL_OES_EGL_image_external 1
   3.920 +/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
   3.921 +#endif
   3.922 +
   3.923 +/* GL_OES_element_index_uint */
   3.924 +#ifndef GL_OES_element_index_uint
   3.925 +#define GL_OES_element_index_uint 1
   3.926 +#endif
   3.927 +
   3.928 +/* GL_OES_fbo_render_mipmap */
   3.929 +#ifndef GL_OES_fbo_render_mipmap
   3.930 +#define GL_OES_fbo_render_mipmap 1
   3.931 +#endif
   3.932 +
   3.933 +/* GL_OES_fragment_precision_high */
   3.934 +#ifndef GL_OES_fragment_precision_high
   3.935 +#define GL_OES_fragment_precision_high 1
   3.936 +#endif
   3.937 +
   3.938 +/* GL_OES_get_program_binary */
   3.939 +#ifndef GL_OES_get_program_binary
   3.940 +#define GL_OES_get_program_binary 1
   3.941 +#ifdef GL_GLEXT_PROTOTYPES
   3.942 +GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
   3.943 +GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
   3.944 +#endif
   3.945 +typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
   3.946 +typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
   3.947 +#endif
   3.948 +
   3.949 +/* GL_OES_mapbuffer */
   3.950 +#ifndef GL_OES_mapbuffer
   3.951 +#define GL_OES_mapbuffer 1
   3.952 +#ifdef GL_GLEXT_PROTOTYPES
   3.953 +GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
   3.954 +GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
   3.955 +GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
   3.956 +#endif
   3.957 +typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
   3.958 +typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
   3.959 +typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
   3.960 +#endif
   3.961 +
   3.962 +/* GL_OES_packed_depth_stencil */
   3.963 +#ifndef GL_OES_packed_depth_stencil
   3.964 +#define GL_OES_packed_depth_stencil 1
   3.965 +#endif
   3.966 +
   3.967 +/* GL_OES_required_internalformat */
   3.968 +#ifndef GL_OES_required_internalformat
   3.969 +#define GL_OES_required_internalformat 1
   3.970 +#endif
   3.971 +
   3.972 +/* GL_OES_rgb8_rgba8 */
   3.973 +#ifndef GL_OES_rgb8_rgba8
   3.974 +#define GL_OES_rgb8_rgba8 1
   3.975 +#endif
   3.976 +
   3.977 +/* GL_OES_standard_derivatives */
   3.978 +#ifndef GL_OES_standard_derivatives
   3.979 +#define GL_OES_standard_derivatives 1
   3.980 +#endif
   3.981 +
   3.982 +/* GL_OES_stencil1 */
   3.983 +#ifndef GL_OES_stencil1
   3.984 +#define GL_OES_stencil1 1
   3.985 +#endif
   3.986 +
   3.987 +/* GL_OES_stencil4 */
   3.988 +#ifndef GL_OES_stencil4
   3.989 +#define GL_OES_stencil4 1
   3.990 +#endif
   3.991 +
   3.992 +#ifndef GL_OES_surfaceless_context
   3.993 +#define GL_OES_surfaceless_context 1
   3.994 +#endif
   3.995 +
   3.996 +/* GL_OES_texture_3D */
   3.997 +#ifndef GL_OES_texture_3D
   3.998 +#define GL_OES_texture_3D 1
   3.999 +#ifdef GL_GLEXT_PROTOTYPES
  3.1000 +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);
  3.1001 +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);
  3.1002 +GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  3.1003 +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);
  3.1004 +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);
  3.1005 +GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  3.1006 +#endif
  3.1007 +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);
  3.1008 +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);
  3.1009 +typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  3.1010 +typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  3.1011 +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);
  3.1012 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  3.1013 +#endif
  3.1014 +
  3.1015 +/* GL_OES_texture_float */
  3.1016 +#ifndef GL_OES_texture_float
  3.1017 +#define GL_OES_texture_float 1
  3.1018 +#endif
  3.1019 +
  3.1020 +/* GL_OES_texture_float_linear */
  3.1021 +#ifndef GL_OES_texture_float_linear
  3.1022 +#define GL_OES_texture_float_linear 1
  3.1023 +#endif
  3.1024 +
  3.1025 +/* GL_OES_texture_half_float */
  3.1026 +#ifndef GL_OES_texture_half_float
  3.1027 +#define GL_OES_texture_half_float 1
  3.1028 +#endif
  3.1029 +
  3.1030 +/* GL_OES_texture_half_float_linear */
  3.1031 +#ifndef GL_OES_texture_half_float_linear
  3.1032 +#define GL_OES_texture_half_float_linear 1
  3.1033 +#endif
  3.1034 +
  3.1035 +/* GL_OES_texture_npot */
  3.1036 +#ifndef GL_OES_texture_npot
  3.1037 +#define GL_OES_texture_npot 1
  3.1038 +#endif
  3.1039 +
  3.1040 +/* GL_OES_vertex_array_object */
  3.1041 +#ifndef GL_OES_vertex_array_object
  3.1042 +#define GL_OES_vertex_array_object 1
  3.1043 +#ifdef GL_GLEXT_PROTOTYPES
  3.1044 +GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  3.1045 +GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  3.1046 +GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  3.1047 +GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  3.1048 +#endif
  3.1049 +typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  3.1050 +typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  3.1051 +typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  3.1052 +typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  3.1053 +#endif
  3.1054 +
  3.1055 +/* GL_OES_vertex_half_float */
  3.1056 +#ifndef GL_OES_vertex_half_float
  3.1057 +#define GL_OES_vertex_half_float 1
  3.1058 +#endif
  3.1059 +
  3.1060 +/* GL_OES_vertex_type_10_10_10_2 */
  3.1061 +#ifndef GL_OES_vertex_type_10_10_10_2
  3.1062 +#define GL_OES_vertex_type_10_10_10_2 1
  3.1063 +#endif
  3.1064 +
  3.1065 +/*------------------------------------------------------------------------*
  3.1066 + * KHR extension functions
  3.1067 + *------------------------------------------------------------------------*/
  3.1068 +
  3.1069 +#ifndef GL_KHR_debug
  3.1070 +#define GL_KHR_debug 1
  3.1071 +#ifdef GL_GLEXT_PROTOTYPES
  3.1072 +GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  3.1073 +GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  3.1074 +GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
  3.1075 +GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  3.1076 +GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  3.1077 +GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
  3.1078 +GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  3.1079 +GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  3.1080 +GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
  3.1081 +GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  3.1082 +GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
  3.1083 +#endif 
  3.1084 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  3.1085 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  3.1086 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
  3.1087 +typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  3.1088 +typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  3.1089 +typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
  3.1090 +typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  3.1091 +typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  3.1092 +typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
  3.1093 +typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  3.1094 +typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
  3.1095 +#endif
  3.1096 +
  3.1097 +#ifndef GL_KHR_texture_compression_astc_ldr
  3.1098 +#define GL_KHR_texture_compression_astc_ldr 1
  3.1099 +#endif
  3.1100 +
  3.1101 +
  3.1102 +/*------------------------------------------------------------------------*
  3.1103 + * AMD extension functions
  3.1104 + *------------------------------------------------------------------------*/
  3.1105 +
  3.1106 +/* GL_AMD_compressed_3DC_texture */
  3.1107 +#ifndef GL_AMD_compressed_3DC_texture
  3.1108 +#define GL_AMD_compressed_3DC_texture 1
  3.1109 +#endif
  3.1110 +
  3.1111 +/* GL_AMD_compressed_ATC_texture */
  3.1112 +#ifndef GL_AMD_compressed_ATC_texture
  3.1113 +#define GL_AMD_compressed_ATC_texture 1
  3.1114 +#endif
  3.1115 +
  3.1116 +/* AMD_performance_monitor */
  3.1117 +#ifndef GL_AMD_performance_monitor
  3.1118 +#define GL_AMD_performance_monitor 1
  3.1119 +#ifdef GL_GLEXT_PROTOTYPES
  3.1120 +GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  3.1121 +GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  3.1122 +GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  3.1123 +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  3.1124 +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  3.1125 +GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  3.1126 +GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  3.1127 +GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  3.1128 +GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  3.1129 +GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  3.1130 +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  3.1131 +#endif
  3.1132 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  3.1133 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  3.1134 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  3.1135 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  3.1136 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  3.1137 +typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  3.1138 +typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  3.1139 +typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  3.1140 +typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  3.1141 +typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  3.1142 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  3.1143 +#endif
  3.1144 +
  3.1145 +/* GL_AMD_program_binary_Z400 */
  3.1146 +#ifndef GL_AMD_program_binary_Z400
  3.1147 +#define GL_AMD_program_binary_Z400 1
  3.1148 +#endif
  3.1149 +
  3.1150 +/*------------------------------------------------------------------------*
  3.1151 + * ANGLE extension functions
  3.1152 + *------------------------------------------------------------------------*/
  3.1153 +
  3.1154 +/* GL_ANGLE_framebuffer_blit */
  3.1155 +#ifndef GL_ANGLE_framebuffer_blit
  3.1156 +#define GL_ANGLE_framebuffer_blit 1
  3.1157 +#ifdef GL_GLEXT_PROTOTYPES
  3.1158 +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);
  3.1159 +#endif
  3.1160 +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);
  3.1161 +#endif
  3.1162 +
  3.1163 +/* GL_ANGLE_framebuffer_multisample */
  3.1164 +#ifndef GL_ANGLE_framebuffer_multisample
  3.1165 +#define GL_ANGLE_framebuffer_multisample 1
  3.1166 +#ifdef GL_GLEXT_PROTOTYPES
  3.1167 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  3.1168 +#endif
  3.1169 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  3.1170 +#endif
  3.1171 +
  3.1172 +#ifndef GL_ANGLE_instanced_arrays 
  3.1173 +#ifdef GL_GLEXT_PROTOTYPES
  3.1174 +GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  3.1175 +GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  3.1176 +GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
  3.1177 +#endif
  3.1178 +typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  3.1179 +typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  3.1180 +typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
  3.1181 +#endif
  3.1182 +
  3.1183 +/* GL_ANGLE_pack_reverse_row_order */
  3.1184 +#ifndef GL_ANGLE_pack_reverse_row_order 
  3.1185 +#define GL_ANGLE_pack_reverse_row_order 1
  3.1186 +#endif
  3.1187 +
  3.1188 +/* GL_ANGLE_texture_compression_dxt3 */
  3.1189 +#ifndef GL_ANGLE_texture_compression_dxt3 
  3.1190 +#define GL_ANGLE_texture_compression_dxt3 1
  3.1191 +#endif
  3.1192 +
  3.1193 +/* GL_ANGLE_texture_compression_dxt5 */
  3.1194 +#ifndef GL_ANGLE_texture_compression_dxt5 
  3.1195 +#define GL_ANGLE_texture_compression_dxt5 1
  3.1196 +#endif
  3.1197 +
  3.1198 +/* GL_ANGLE_texture_usage */
  3.1199 +#ifndef GL_ANGLE_texture_usage 
  3.1200 +#define GL_ANGLE_texture_usage 1
  3.1201 +#endif
  3.1202 +
  3.1203 +#ifndef GL_ANGLE_translated_shader_source 
  3.1204 +#define GL_ANGLE_translated_shader_source 1
  3.1205 +#ifdef GL_GLEXT_PROTOTYPES
  3.1206 +GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  3.1207 +#endif
  3.1208 +typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  3.1209 +#endif
  3.1210 +
  3.1211 +/*------------------------------------------------------------------------*
  3.1212 + * APPLE extension functions
  3.1213 + *------------------------------------------------------------------------*/
  3.1214 +
  3.1215 +/* GL_APPLE_copy_texture_levels */
  3.1216 +#ifndef GL_APPLE_copy_texture_levels
  3.1217 +#define GL_APPLE_copy_texture_levels 1
  3.1218 +#ifdef GL_GLEXT_PROTOTYPES
  3.1219 +GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  3.1220 +#endif
  3.1221 +typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  3.1222 +#endif
  3.1223 +
  3.1224 +/* GL_APPLE_framebuffer_multisample */
  3.1225 +#ifndef GL_APPLE_framebuffer_multisample
  3.1226 +#define GL_APPLE_framebuffer_multisample 1
  3.1227 +#ifdef GL_GLEXT_PROTOTYPES
  3.1228 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  3.1229 +GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  3.1230 +#endif /* GL_GLEXT_PROTOTYPES */
  3.1231 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  3.1232 +typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  3.1233 +#endif
  3.1234 +
  3.1235 +/* GL_APPLE_rgb_422 */
  3.1236 +#ifndef GL_APPLE_rgb_422
  3.1237 +#define GL_APPLE_rgb_422 1
  3.1238 +#endif
  3.1239 +
  3.1240 +/* GL_APPLE_sync */
  3.1241 +#ifndef GL_APPLE_sync
  3.1242 +#define GL_APPLE_sync 1
  3.1243 +#ifdef GL_GLEXT_PROTOTYPES
  3.1244 +GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
  3.1245 +GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
  3.1246 +GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
  3.1247 +GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  3.1248 +GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  3.1249 +GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
  3.1250 +GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  3.1251 +#endif
  3.1252 +typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
  3.1253 +typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
  3.1254 +typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
  3.1255 +typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  3.1256 +typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  3.1257 +typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
  3.1258 +typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  3.1259 +#endif
  3.1260 +
  3.1261 +/* GL_APPLE_texture_format_BGRA8888 */
  3.1262 +#ifndef GL_APPLE_texture_format_BGRA8888
  3.1263 +#define GL_APPLE_texture_format_BGRA8888 1
  3.1264 +#endif
  3.1265 +
  3.1266 +/* GL_APPLE_texture_max_level */
  3.1267 +#ifndef GL_APPLE_texture_max_level
  3.1268 +#define GL_APPLE_texture_max_level 1
  3.1269 +#endif
  3.1270 +
  3.1271 +/*------------------------------------------------------------------------*
  3.1272 + * ARM extension functions
  3.1273 + *------------------------------------------------------------------------*/
  3.1274 +
  3.1275 +/* GL_ARM_mali_program_binary */
  3.1276 +#ifndef GL_ARM_mali_program_binary
  3.1277 +#define GL_ARM_mali_program_binary 1
  3.1278 +#endif
  3.1279 +
  3.1280 +/* GL_ARM_mali_shader_binary */
  3.1281 +#ifndef GL_ARM_mali_shader_binary
  3.1282 +#define GL_ARM_mali_shader_binary 1
  3.1283 +#endif
  3.1284 +
  3.1285 +/* GL_ARM_rgba8 */
  3.1286 +#ifndef GL_ARM_rgba8
  3.1287 +#define GL_ARM_rgba8 1
  3.1288 +#endif
  3.1289 +
  3.1290 +/*------------------------------------------------------------------------*
  3.1291 + * EXT extension functions
  3.1292 + *------------------------------------------------------------------------*/
  3.1293 +
  3.1294 +/* GL_EXT_blend_minmax */
  3.1295 +#ifndef GL_EXT_blend_minmax
  3.1296 +#define GL_EXT_blend_minmax 1
  3.1297 +#endif
  3.1298 +
  3.1299 +/* GL_EXT_color_buffer_half_float */
  3.1300 +#ifndef GL_EXT_color_buffer_half_float
  3.1301 +#define GL_EXT_color_buffer_half_float 1
  3.1302 +#endif
  3.1303 +
  3.1304 +/* GL_EXT_debug_label */
  3.1305 +#ifndef GL_EXT_debug_label
  3.1306 +#define GL_EXT_debug_label 1
  3.1307 +#ifdef GL_GLEXT_PROTOTYPES
  3.1308 +GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  3.1309 +GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  3.1310 +#endif
  3.1311 +typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  3.1312 +typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  3.1313 +#endif
  3.1314 +
  3.1315 +/* GL_EXT_debug_marker */
  3.1316 +#ifndef GL_EXT_debug_marker
  3.1317 +#define GL_EXT_debug_marker 1
  3.1318 +#ifdef GL_GLEXT_PROTOTYPES
  3.1319 +GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
  3.1320 +GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
  3.1321 +GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
  3.1322 +#endif
  3.1323 +typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  3.1324 +typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  3.1325 +typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
  3.1326 +#endif
  3.1327 +
  3.1328 +/* GL_EXT_discard_framebuffer */
  3.1329 +#ifndef GL_EXT_discard_framebuffer
  3.1330 +#define GL_EXT_discard_framebuffer 1
  3.1331 +#ifdef GL_GLEXT_PROTOTYPES
  3.1332 +GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  3.1333 +#endif
  3.1334 +typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  3.1335 +#endif
  3.1336 +
  3.1337 +/* GL_EXT_map_buffer_range */
  3.1338 +#ifndef GL_EXT_map_buffer_range
  3.1339 +#define GL_EXT_map_buffer_range 1
  3.1340 +#ifdef GL_GLEXT_PROTOTYPES
  3.1341 +GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  3.1342 +GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
  3.1343 +#endif
  3.1344 +typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  3.1345 +typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  3.1346 +#endif
  3.1347 +
  3.1348 +/* GL_EXT_multisampled_render_to_texture */
  3.1349 +#ifndef GL_EXT_multisampled_render_to_texture
  3.1350 +#define GL_EXT_multisampled_render_to_texture 1
  3.1351 +#ifdef GL_GLEXT_PROTOTYPES
  3.1352 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  3.1353 +GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  3.1354 +#endif
  3.1355 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  3.1356 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  3.1357 +#endif
  3.1358 +
  3.1359 +/* GL_EXT_multiview_draw_buffers */
  3.1360 +#ifndef GL_EXT_multiview_draw_buffers
  3.1361 +#define GL_EXT_multiview_draw_buffers 1
  3.1362 +#ifdef GL_GLEXT_PROTOTYPES
  3.1363 +GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
  3.1364 +GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
  3.1365 +GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
  3.1366 +#endif
  3.1367 +typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
  3.1368 +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
  3.1369 +typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
  3.1370 +#endif
  3.1371 +
  3.1372 +#ifndef GL_EXT_multi_draw_arrays
  3.1373 +#define GL_EXT_multi_draw_arrays 1
  3.1374 +#ifdef GL_GLEXT_PROTOTYPES
  3.1375 +GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
  3.1376 +GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
  3.1377 +#endif /* GL_GLEXT_PROTOTYPES */
  3.1378 +typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  3.1379 +typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  3.1380 +#endif
  3.1381 +
  3.1382 +/* GL_EXT_occlusion_query_boolean */
  3.1383 +#ifndef GL_EXT_occlusion_query_boolean
  3.1384 +#define GL_EXT_occlusion_query_boolean 1
  3.1385 +#ifdef GL_GLEXT_PROTOTYPES
  3.1386 +GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
  3.1387 +GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
  3.1388 +GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
  3.1389 +GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
  3.1390 +GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
  3.1391 +GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
  3.1392 +GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
  3.1393 +#endif
  3.1394 +typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
  3.1395 +typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
  3.1396 +typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
  3.1397 +typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
  3.1398 +typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
  3.1399 +typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  3.1400 +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
  3.1401 +#endif
  3.1402 +
  3.1403 +/* GL_EXT_read_format_bgra */
  3.1404 +#ifndef GL_EXT_read_format_bgra
  3.1405 +#define GL_EXT_read_format_bgra 1
  3.1406 +#endif
  3.1407 +
  3.1408 +/* GL_EXT_robustness */
  3.1409 +#ifndef GL_EXT_robustness
  3.1410 +#define GL_EXT_robustness 1
  3.1411 +#ifdef GL_GLEXT_PROTOTYPES
  3.1412 +GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
  3.1413 +GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  3.1414 +GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
  3.1415 +GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  3.1416 +#endif
  3.1417 +typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
  3.1418 +typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  3.1419 +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
  3.1420 +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  3.1421 +#endif
  3.1422 +
  3.1423 +/* GL_EXT_separate_shader_objects */
  3.1424 +#ifndef GL_EXT_separate_shader_objects
  3.1425 +#define GL_EXT_separate_shader_objects 1
  3.1426 +#ifdef GL_GLEXT_PROTOTYPES
  3.1427 +GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
  3.1428 +GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
  3.1429 +GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
  3.1430 +GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
  3.1431 +GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
  3.1432 +GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
  3.1433 +GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
  3.1434 +GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
  3.1435 +GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
  3.1436 +GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
  3.1437 +GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
  3.1438 +GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
  3.1439 +GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  3.1440 +GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
  3.1441 +GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
  3.1442 +GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  3.1443 +GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  3.1444 +GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  3.1445 +GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  3.1446 +GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  3.1447 +GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  3.1448 +GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3.1449 +GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3.1450 +GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3.1451 +GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3.1452 +GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3.1453 +GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3.1454 +GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3.1455 +GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
  3.1456 +GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  3.1457 +#endif
  3.1458 +typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  3.1459 +typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
  3.1460 +typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
  3.1461 +typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  3.1462 +typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
  3.1463 +typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
  3.1464 +typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  3.1465 +typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
  3.1466 +typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
  3.1467 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
  3.1468 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
  3.1469 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
  3.1470 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  3.1471 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
  3.1472 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
  3.1473 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  3.1474 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  3.1475 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  3.1476 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  3.1477 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  3.1478 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  3.1479 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3.1480 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3.1481 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3.1482 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3.1483 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3.1484 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3.1485 +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3.1486 +typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  3.1487 +typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  3.1488 +#endif
  3.1489 +
  3.1490 +/* GL_EXT_shader_framebuffer_fetch */
  3.1491 +#ifndef GL_EXT_shader_framebuffer_fetch
  3.1492 +#define GL_EXT_shader_framebuffer_fetch 1
  3.1493 +#endif
  3.1494 +
  3.1495 +/* GL_EXT_shader_texture_lod */
  3.1496 +#ifndef GL_EXT_shader_texture_lod
  3.1497 +#define GL_EXT_shader_texture_lod 1
  3.1498 +#endif
  3.1499 +
  3.1500 +/* GL_EXT_shadow_samplers */
  3.1501 +#ifndef GL_EXT_shadow_samplers
  3.1502 +#define GL_EXT_shadow_samplers 1
  3.1503 +#endif
  3.1504 +
  3.1505 +/* GL_EXT_sRGB */
  3.1506 +#ifndef GL_EXT_sRGB
  3.1507 +#define GL_EXT_sRGB 1
  3.1508 +#endif
  3.1509 +
  3.1510 +/* GL_EXT_texture_compression_dxt1 */
  3.1511 +#ifndef GL_EXT_texture_compression_dxt1
  3.1512 +#define GL_EXT_texture_compression_dxt1 1
  3.1513 +#endif
  3.1514 +
  3.1515 +/* GL_EXT_texture_filter_anisotropic */
  3.1516 +#ifndef GL_EXT_texture_filter_anisotropic
  3.1517 +#define GL_EXT_texture_filter_anisotropic 1
  3.1518 +#endif
  3.1519 +
  3.1520 +/* GL_EXT_texture_format_BGRA8888 */
  3.1521 +#ifndef GL_EXT_texture_format_BGRA8888
  3.1522 +#define GL_EXT_texture_format_BGRA8888 1
  3.1523 +#endif
  3.1524 +
  3.1525 +/* GL_EXT_texture_rg */
  3.1526 +#ifndef GL_EXT_texture_rg
  3.1527 +#define GL_EXT_texture_rg 1
  3.1528 +#endif
  3.1529 +
  3.1530 +/* GL_EXT_texture_storage */
  3.1531 +#ifndef GL_EXT_texture_storage
  3.1532 +#define GL_EXT_texture_storage 1
  3.1533 +#ifdef GL_GLEXT_PROTOTYPES
  3.1534 +GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  3.1535 +GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  3.1536 +GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  3.1537 +GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  3.1538 +GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  3.1539 +GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  3.1540 +#endif
  3.1541 +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  3.1542 +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  3.1543 +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  3.1544 +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  3.1545 +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  3.1546 +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  3.1547 +#endif
  3.1548 +
  3.1549 +/* GL_EXT_texture_type_2_10_10_10_REV */
  3.1550 +#ifndef GL_EXT_texture_type_2_10_10_10_REV
  3.1551 +#define GL_EXT_texture_type_2_10_10_10_REV 1
  3.1552 +#endif
  3.1553 +
  3.1554 +/* GL_EXT_unpack_subimage */
  3.1555 +#ifndef GL_EXT_unpack_subimage
  3.1556 +#define GL_EXT_unpack_subimage 1
  3.1557 +#endif
  3.1558 +
  3.1559 +/*------------------------------------------------------------------------*
  3.1560 + * DMP extension functions
  3.1561 + *------------------------------------------------------------------------*/
  3.1562 +
  3.1563 +/* GL_DMP_shader_binary */
  3.1564 +#ifndef GL_DMP_shader_binary
  3.1565 +#define GL_DMP_shader_binary 1
  3.1566 +#endif
  3.1567 +
  3.1568 +/*------------------------------------------------------------------------*
  3.1569 + * FJ extension functions
  3.1570 + *------------------------------------------------------------------------*/
  3.1571 +
  3.1572 +/* GL_FJ_shader_binary_GCCSO */
  3.1573 +#ifndef GL_FJ_shader_binary_GCCSO
  3.1574 +#define GL_FJ_shader_binary_GCCSO 1
  3.1575 +#endif
  3.1576 +
  3.1577 +/*------------------------------------------------------------------------*
  3.1578 + * IMG extension functions
  3.1579 + *------------------------------------------------------------------------*/
  3.1580 +
  3.1581 +/* GL_IMG_program_binary */
  3.1582 +#ifndef GL_IMG_program_binary
  3.1583 +#define GL_IMG_program_binary 1
  3.1584 +#endif
  3.1585 +
  3.1586 +/* GL_IMG_read_format */
  3.1587 +#ifndef GL_IMG_read_format
  3.1588 +#define GL_IMG_read_format 1
  3.1589 +#endif
  3.1590 +
  3.1591 +/* GL_IMG_shader_binary */
  3.1592 +#ifndef GL_IMG_shader_binary
  3.1593 +#define GL_IMG_shader_binary 1
  3.1594 +#endif
  3.1595 +
  3.1596 +/* GL_IMG_texture_compression_pvrtc */
  3.1597 +#ifndef GL_IMG_texture_compression_pvrtc
  3.1598 +#define GL_IMG_texture_compression_pvrtc 1
  3.1599 +#endif
  3.1600 +
  3.1601 +/* GL_IMG_multisampled_render_to_texture */
  3.1602 +#ifndef GL_IMG_multisampled_render_to_texture
  3.1603 +#define GL_IMG_multisampled_render_to_texture 1
  3.1604 +#ifdef GL_GLEXT_PROTOTYPES
  3.1605 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  3.1606 +GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  3.1607 +#endif
  3.1608 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  3.1609 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  3.1610 +#endif
  3.1611 +
  3.1612 +/*------------------------------------------------------------------------*
  3.1613 + * NV extension functions
  3.1614 + *------------------------------------------------------------------------*/
  3.1615 +
  3.1616 +/* GL_NV_coverage_sample */
  3.1617 +#ifndef GL_NV_coverage_sample
  3.1618 +#define GL_NV_coverage_sample 1
  3.1619 +#ifdef GL_GLEXT_PROTOTYPES
  3.1620 +GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  3.1621 +GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  3.1622 +#endif
  3.1623 +typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  3.1624 +typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  3.1625 +#endif
  3.1626 +
  3.1627 +/* GL_NV_depth_nonlinear */
  3.1628 +#ifndef GL_NV_depth_nonlinear
  3.1629 +#define GL_NV_depth_nonlinear 1
  3.1630 +#endif
  3.1631 +
  3.1632 +/* GL_NV_draw_buffers */
  3.1633 +#ifndef GL_NV_draw_buffers
  3.1634 +#define GL_NV_draw_buffers 1
  3.1635 +#ifdef GL_GLEXT_PROTOTYPES
  3.1636 +GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
  3.1637 +#endif
  3.1638 +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
  3.1639 +#endif
  3.1640 +
  3.1641 +/* GL_NV_fbo_color_attachments */
  3.1642 +#ifndef GL_NV_fbo_color_attachments
  3.1643 +#define GL_NV_fbo_color_attachments 1
  3.1644 +#endif
  3.1645 +
  3.1646 +/* GL_NV_fence */
  3.1647 +#ifndef GL_NV_fence
  3.1648 +#define GL_NV_fence 1
  3.1649 +#ifdef GL_GLEXT_PROTOTYPES
  3.1650 +GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
  3.1651 +GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
  3.1652 +GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
  3.1653 +GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
  3.1654 +GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
  3.1655 +GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
  3.1656 +GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
  3.1657 +#endif
  3.1658 +typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  3.1659 +typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  3.1660 +typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  3.1661 +typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  3.1662 +typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  3.1663 +typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  3.1664 +typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  3.1665 +#endif
  3.1666 +
  3.1667 +/* GL_NV_read_buffer */
  3.1668 +#ifndef GL_NV_read_buffer
  3.1669 +#define GL_NV_read_buffer 1
  3.1670 +#ifdef GL_GLEXT_PROTOTYPES
  3.1671 +GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
  3.1672 +#endif
  3.1673 +typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
  3.1674 +#endif
  3.1675 +
  3.1676 +/* GL_NV_read_buffer_front */
  3.1677 +#ifndef GL_NV_read_buffer_front
  3.1678 +#define GL_NV_read_buffer_front 1
  3.1679 +#endif
  3.1680 +
  3.1681 +/* GL_NV_read_depth */
  3.1682 +#ifndef GL_NV_read_depth
  3.1683 +#define GL_NV_read_depth 1
  3.1684 +#endif
  3.1685 +
  3.1686 +/* GL_NV_read_depth_stencil */
  3.1687 +#ifndef GL_NV_read_depth_stencil
  3.1688 +#define GL_NV_read_depth_stencil 1
  3.1689 +#endif
  3.1690 +
  3.1691 +/* GL_NV_read_stencil */
  3.1692 +#ifndef GL_NV_read_stencil
  3.1693 +#define GL_NV_read_stencil 1
  3.1694 +#endif
  3.1695 +
  3.1696 +/* GL_NV_texture_compression_s3tc_update */
  3.1697 +#ifndef GL_NV_texture_compression_s3tc_update
  3.1698 +#define GL_NV_texture_compression_s3tc_update 1
  3.1699 +#endif
  3.1700 +
  3.1701 +/* GL_NV_texture_npot_2D_mipmap */
  3.1702 +#ifndef GL_NV_texture_npot_2D_mipmap
  3.1703 +#define GL_NV_texture_npot_2D_mipmap 1
  3.1704 +#endif
  3.1705 +
  3.1706 +/*------------------------------------------------------------------------*
  3.1707 + * QCOM extension functions
  3.1708 + *------------------------------------------------------------------------*/
  3.1709 +
  3.1710 +/* GL_QCOM_alpha_test */
  3.1711 +#ifndef GL_QCOM_alpha_test
  3.1712 +#define GL_QCOM_alpha_test 1
  3.1713 +#ifdef GL_GLEXT_PROTOTYPES
  3.1714 +GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
  3.1715 +#endif
  3.1716 +typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
  3.1717 +#endif
  3.1718 +
  3.1719 +/* GL_QCOM_binning_control */
  3.1720 +#ifndef GL_QCOM_binning_control
  3.1721 +#define GL_QCOM_binning_control 1
  3.1722 +#endif
  3.1723 +
  3.1724 +/* GL_QCOM_driver_control */
  3.1725 +#ifndef GL_QCOM_driver_control
  3.1726 +#define GL_QCOM_driver_control 1
  3.1727 +#ifdef GL_GLEXT_PROTOTYPES
  3.1728 +GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  3.1729 +GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  3.1730 +GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  3.1731 +GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  3.1732 +#endif
  3.1733 +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  3.1734 +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  3.1735 +typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  3.1736 +typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  3.1737 +#endif
  3.1738 +
  3.1739 +/* GL_QCOM_extended_get */
  3.1740 +#ifndef GL_QCOM_extended_get
  3.1741 +#define GL_QCOM_extended_get 1
  3.1742 +#ifdef GL_GLEXT_PROTOTYPES
  3.1743 +GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  3.1744 +GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  3.1745 +GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  3.1746 +GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  3.1747 +GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  3.1748 +GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  3.1749 +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);
  3.1750 +GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  3.1751 +#endif
  3.1752 +typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  3.1753 +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  3.1754 +typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  3.1755 +typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  3.1756 +typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  3.1757 +typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  3.1758 +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);
  3.1759 +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  3.1760 +#endif
  3.1761 +
  3.1762 +/* GL_QCOM_extended_get2 */
  3.1763 +#ifndef GL_QCOM_extended_get2
  3.1764 +#define GL_QCOM_extended_get2 1
  3.1765 +#ifdef GL_GLEXT_PROTOTYPES
  3.1766 +GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  3.1767 +GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  3.1768 +GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  3.1769 +GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  3.1770 +#endif
  3.1771 +typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  3.1772 +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  3.1773 +typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  3.1774 +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  3.1775 +#endif
  3.1776 +
  3.1777 +/* GL_QCOM_perfmon_global_mode */
  3.1778 +#ifndef GL_QCOM_perfmon_global_mode
  3.1779 +#define GL_QCOM_perfmon_global_mode 1
  3.1780 +#endif
  3.1781 +
  3.1782 +/* GL_QCOM_writeonly_rendering */
  3.1783 +#ifndef GL_QCOM_writeonly_rendering
  3.1784 +#define GL_QCOM_writeonly_rendering 1
  3.1785 +#endif
  3.1786 +
  3.1787 +/* GL_QCOM_tiled_rendering */
  3.1788 +#ifndef GL_QCOM_tiled_rendering
  3.1789 +#define GL_QCOM_tiled_rendering 1
  3.1790 +#ifdef GL_GLEXT_PROTOTYPES
  3.1791 +GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  3.1792 +GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  3.1793 +#endif
  3.1794 +typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  3.1795 +typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  3.1796 +#endif
  3.1797 +
  3.1798 +/*------------------------------------------------------------------------*
  3.1799 + * VIV extension tokens
  3.1800 + *------------------------------------------------------------------------*/
  3.1801 +
  3.1802 +/* GL_VIV_shader_binary */
  3.1803 +#ifndef GL_VIV_shader_binary
  3.1804 +#define GL_VIV_shader_binary 1
  3.1805 +#endif
  3.1806 +
  3.1807 +#ifdef __cplusplus
  3.1808 +}
  3.1809 +#endif
  3.1810 +
  3.1811 +#endif /* __gl2ext_h_ */
  3.1812 +
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/include/SDL_opengles2_gl2platform.h	Wed Jun 04 01:27:13 2014 -0700
     4.3 @@ -0,0 +1,31 @@
     4.4 +#ifndef __gl2platform_h_
     4.5 +#define __gl2platform_h_
     4.6 +
     4.7 +/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */
     4.8 +
     4.9 +/*
    4.10 + * This document is licensed under the SGI Free Software B License Version
    4.11 + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
    4.12 + */
    4.13 +
    4.14 +/* Platform-specific types and definitions for OpenGL ES 2.X  gl2.h
    4.15 + *
    4.16 + * Adopters may modify khrplatform.h and this file to suit their platform.
    4.17 + * You are encouraged to submit all modifications to the Khronos group so that
    4.18 + * they can be included in future versions of this file.  Please submit changes
    4.19 + * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
    4.20 + * by filing a bug against product "OpenGL-ES" component "Registry".
    4.21 + */
    4.22 +
    4.23 +/*#include <KHR/khrplatform.h>*/
    4.24 +
    4.25 +#ifndef GL_APICALL
    4.26 +#define GL_APICALL  KHRONOS_APICALL
    4.27 +#endif
    4.28 +
    4.29 +#ifndef GL_APIENTRY
    4.30 +#define GL_APIENTRY KHRONOS_APIENTRY
    4.31 +#endif
    4.32 +
    4.33 +#endif /* __gl2platform_h_ */
    4.34 +
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/include/SDL_opengles2_khrplatform.h	Wed Jun 04 01:27:13 2014 -0700
     5.3 @@ -0,0 +1,283 @@
     5.4 +#ifndef __khrplatform_h_
     5.5 +#define __khrplatform_h_
     5.6 +
     5.7 +/*
     5.8 +** Copyright (c) 2008-2009 The Khronos Group Inc.
     5.9 +**
    5.10 +** Permission is hereby granted, free of charge, to any person obtaining a
    5.11 +** copy of this software and/or associated documentation files (the
    5.12 +** "Materials"), to deal in the Materials without restriction, including
    5.13 +** without limitation the rights to use, copy, modify, merge, publish,
    5.14 +** distribute, sublicense, and/or sell copies of the Materials, and to
    5.15 +** permit persons to whom the Materials are furnished to do so, subject to
    5.16 +** the following conditions:
    5.17 +**
    5.18 +** The above copyright notice and this permission notice shall be included
    5.19 +** in all copies or substantial portions of the Materials.
    5.20 +**
    5.21 +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    5.22 +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    5.23 +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    5.24 +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    5.25 +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    5.26 +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    5.27 +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
    5.28 +*/
    5.29 +
    5.30 +/* Khronos platform-specific types and definitions.
    5.31 +*
    5.32 +* $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
    5.33 +*
    5.34 +* Adopters may modify this file to suit their platform. Adopters are
    5.35 +* encouraged to submit platform specific modifications to the Khronos
    5.36 +* group so that they can be included in future versions of this file.
    5.37 +* Please submit changes by sending them to the public Khronos Bugzilla
    5.38 +* (http://khronos.org/bugzilla) by filing a bug against product
    5.39 +* "Khronos (general)" component "Registry".
    5.40 +*
    5.41 +* A predefined template which fills in some of the bug fields can be
    5.42 +* reached using http://tinyurl.com/khrplatform-h-bugreport, but you
    5.43 +* must create a Bugzilla login first.
    5.44 +*
    5.45 +*
    5.46 +* See the Implementer's Guidelines for information about where this file
    5.47 +* should be located on your system and for more details of its use:
    5.48 +*    http://www.khronos.org/registry/implementers_guide.pdf
    5.49 +*
    5.50 +* This file should be included as
    5.51 +*        #include <KHR/khrplatform.h>
    5.52 +* by Khronos client API header files that use its types and defines.
    5.53 +*
    5.54 +* The types in khrplatform.h should only be used to define API-specific types.
    5.55 +*
    5.56 +* Types defined in khrplatform.h:
    5.57 +*    khronos_int8_t              signed   8  bit
    5.58 +*    khronos_uint8_t             unsigned 8  bit
    5.59 +*    khronos_int16_t             signed   16 bit
    5.60 +*    khronos_uint16_t            unsigned 16 bit
    5.61 +*    khronos_int32_t             signed   32 bit
    5.62 +*    khronos_uint32_t            unsigned 32 bit
    5.63 +*    khronos_int64_t             signed   64 bit
    5.64 +*    khronos_uint64_t            unsigned 64 bit
    5.65 +*    khronos_intptr_t            signed   same number of bits as a pointer
    5.66 +*    khronos_uintptr_t           unsigned same number of bits as a pointer
    5.67 +*    khronos_ssize_t             signed   size
    5.68 +*    khronos_usize_t             unsigned size
    5.69 +*    khronos_float_t             signed   32 bit floating point
    5.70 +*    khronos_time_ns_t           unsigned 64 bit time in nanoseconds
    5.71 +*    khronos_utime_nanoseconds_t unsigned time interval or absolute time in
    5.72 +*                                         nanoseconds
    5.73 +*    khronos_stime_nanoseconds_t signed time interval in nanoseconds
    5.74 +*    khronos_boolean_enum_t      enumerated boolean type. This should
    5.75 +*      only be used as a base type when a client API's boolean type is
    5.76 +*      an enum. Client APIs which use an integer or other type for
    5.77 +*      booleans cannot use this as the base type for their boolean.
    5.78 +*
    5.79 +* Tokens defined in khrplatform.h:
    5.80 +*
    5.81 +*    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
    5.82 +*
    5.83 +*    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
    5.84 +*    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
    5.85 +*
    5.86 +* Calling convention macros defined in this file:
    5.87 +*    KHRONOS_APICALL
    5.88 +*    KHRONOS_APIENTRY
    5.89 +*    KHRONOS_APIATTRIBUTES
    5.90 +*
    5.91 +* These may be used in function prototypes as:
    5.92 +*
    5.93 +*      KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
    5.94 +*                                  int arg1,
    5.95 +*                                  int arg2) KHRONOS_APIATTRIBUTES;
    5.96 +*/
    5.97 +
    5.98 +/*-------------------------------------------------------------------------
    5.99 +* Definition of KHRONOS_APICALL
   5.100 +*-------------------------------------------------------------------------
   5.101 +* This precedes the return type of the function in the function prototype.
   5.102 +*/
   5.103 +#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
   5.104 +#   define KHRONOS_APICALL __declspec(dllimport)
   5.105 +#elif defined (__SYMBIAN32__)
   5.106 +#   define KHRONOS_APICALL IMPORT_C
   5.107 +#else
   5.108 +#   define KHRONOS_APICALL
   5.109 +#endif
   5.110 +
   5.111 +/*-------------------------------------------------------------------------
   5.112 +* Definition of KHRONOS_APIENTRY
   5.113 +*-------------------------------------------------------------------------
   5.114 +* This follows the return type of the function  and precedes the function
   5.115 +* name in the function prototype.
   5.116 +*/
   5.117 +#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
   5.118 +/* Win32 but not WinCE */
   5.119 +#   define KHRONOS_APIENTRY __stdcall
   5.120 +#else
   5.121 +#   define KHRONOS_APIENTRY
   5.122 +#endif
   5.123 +
   5.124 +/*-------------------------------------------------------------------------
   5.125 +* Definition of KHRONOS_APIATTRIBUTES
   5.126 +*-------------------------------------------------------------------------
   5.127 +* This follows the closing parenthesis of the function prototype arguments.
   5.128 +*/
   5.129 +#if defined (__ARMCC_2__)
   5.130 +#define KHRONOS_APIATTRIBUTES __softfp
   5.131 +#else
   5.132 +#define KHRONOS_APIATTRIBUTES
   5.133 +#endif
   5.134 +
   5.135 +/*-------------------------------------------------------------------------
   5.136 +* basic type definitions
   5.137 +*-----------------------------------------------------------------------*/
   5.138 +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
   5.139 +
   5.140 +
   5.141 +/*
   5.142 +* Using <stdint.h>
   5.143 +*/
   5.144 +#include <stdint.h>
   5.145 +typedef int32_t                 khronos_int32_t;
   5.146 +typedef uint32_t                khronos_uint32_t;
   5.147 +typedef int64_t                 khronos_int64_t;
   5.148 +typedef uint64_t                khronos_uint64_t;
   5.149 +#define KHRONOS_SUPPORT_INT64   1
   5.150 +#define KHRONOS_SUPPORT_FLOAT   1
   5.151 +
   5.152 +#elif defined(__VMS ) || defined(__sgi)
   5.153 +
   5.154 +/*
   5.155 +* Using <inttypes.h>
   5.156 +*/
   5.157 +#include <inttypes.h>
   5.158 +typedef int32_t                 khronos_int32_t;
   5.159 +typedef uint32_t                khronos_uint32_t;
   5.160 +typedef int64_t                 khronos_int64_t;
   5.161 +typedef uint64_t                khronos_uint64_t;
   5.162 +#define KHRONOS_SUPPORT_INT64   1
   5.163 +#define KHRONOS_SUPPORT_FLOAT   1
   5.164 +
   5.165 +#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
   5.166 +
   5.167 +/*
   5.168 +* Win32
   5.169 +*/
   5.170 +typedef __int32                 khronos_int32_t;
   5.171 +typedef unsigned __int32        khronos_uint32_t;
   5.172 +typedef __int64                 khronos_int64_t;
   5.173 +typedef unsigned __int64        khronos_uint64_t;
   5.174 +#define KHRONOS_SUPPORT_INT64   1
   5.175 +#define KHRONOS_SUPPORT_FLOAT   1
   5.176 +
   5.177 +#elif defined(__sun__) || defined(__digital__)
   5.178 +
   5.179 +/*
   5.180 +* Sun or Digital
   5.181 +*/
   5.182 +typedef int                     khronos_int32_t;
   5.183 +typedef unsigned int            khronos_uint32_t;
   5.184 +#if defined(__arch64__) || defined(_LP64)
   5.185 +typedef long int                khronos_int64_t;
   5.186 +typedef unsigned long int       khronos_uint64_t;
   5.187 +#else
   5.188 +typedef long long int           khronos_int64_t;
   5.189 +typedef unsigned long long int  khronos_uint64_t;
   5.190 +#endif /* __arch64__ */
   5.191 +#define KHRONOS_SUPPORT_INT64   1
   5.192 +#define KHRONOS_SUPPORT_FLOAT   1
   5.193 +
   5.194 +#elif 0
   5.195 +
   5.196 +/*
   5.197 +* Hypothetical platform with no float or int64 support
   5.198 +*/
   5.199 +typedef int                     khronos_int32_t;
   5.200 +typedef unsigned int            khronos_uint32_t;
   5.201 +#define KHRONOS_SUPPORT_INT64   0
   5.202 +#define KHRONOS_SUPPORT_FLOAT   0
   5.203 +
   5.204 +#else
   5.205 +
   5.206 +/*
   5.207 +* Generic fallback
   5.208 +*/
   5.209 +#include <stdint.h>
   5.210 +typedef int32_t                 khronos_int32_t;
   5.211 +typedef uint32_t                khronos_uint32_t;
   5.212 +typedef int64_t                 khronos_int64_t;
   5.213 +typedef uint64_t                khronos_uint64_t;
   5.214 +#define KHRONOS_SUPPORT_INT64   1
   5.215 +#define KHRONOS_SUPPORT_FLOAT   1
   5.216 +
   5.217 +#endif
   5.218 +
   5.219 +
   5.220 +/*
   5.221 +* Types that are (so far) the same on all platforms
   5.222 +*/
   5.223 +typedef signed   char          khronos_int8_t;
   5.224 +typedef unsigned char          khronos_uint8_t;
   5.225 +typedef signed   short int     khronos_int16_t;
   5.226 +typedef unsigned short int     khronos_uint16_t;
   5.227 +
   5.228 +/*
   5.229 +* Types that differ between LLP64 and LP64 architectures - in LLP64,
   5.230 +* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
   5.231 +* to be the only LLP64 architecture in current use.
   5.232 +*/
   5.233 +#ifdef _WIN64
   5.234 +typedef signed   long long int khronos_intptr_t;
   5.235 +typedef unsigned long long int khronos_uintptr_t;
   5.236 +typedef signed   long long int khronos_ssize_t;
   5.237 +typedef unsigned long long int khronos_usize_t;
   5.238 +#else
   5.239 +typedef signed   long  int     khronos_intptr_t;
   5.240 +typedef unsigned long  int     khronos_uintptr_t;
   5.241 +typedef signed   long  int     khronos_ssize_t;
   5.242 +typedef unsigned long  int     khronos_usize_t;
   5.243 +#endif
   5.244 +
   5.245 +#if KHRONOS_SUPPORT_FLOAT
   5.246 +/*
   5.247 +* Float type
   5.248 +*/
   5.249 +typedef          float         khronos_float_t;
   5.250 +#endif
   5.251 +
   5.252 +#if KHRONOS_SUPPORT_INT64
   5.253 +/* Time types
   5.254 +*
   5.255 +* These types can be used to represent a time interval in nanoseconds or
   5.256 +* an absolute Unadjusted System Time.  Unadjusted System Time is the number
   5.257 +* of nanoseconds since some arbitrary system event (e.g. since the last
   5.258 +* time the system booted).  The Unadjusted System Time is an unsigned
   5.259 +* 64 bit value that wraps back to 0 every 584 years.  Time intervals
   5.260 +* may be either signed or unsigned.
   5.261 +*/
   5.262 +typedef khronos_uint64_t       khronos_utime_nanoseconds_t;
   5.263 +typedef khronos_int64_t        khronos_stime_nanoseconds_t;
   5.264 +#endif
   5.265 +
   5.266 +/*
   5.267 +* Dummy value used to pad enum types to 32 bits.
   5.268 +*/
   5.269 +#ifndef KHRONOS_MAX_ENUM
   5.270 +#define KHRONOS_MAX_ENUM 0x7FFFFFFF
   5.271 +#endif
   5.272 +
   5.273 +/*
   5.274 +* Enumerated boolean type
   5.275 +*
   5.276 +* Values other than zero should be considered to be true.  Therefore
   5.277 +* comparisons should not be made against KHRONOS_TRUE.
   5.278 +*/
   5.279 +typedef enum {
   5.280 +    KHRONOS_FALSE = 0,
   5.281 +    KHRONOS_TRUE = 1,
   5.282 +    KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
   5.283 +} khronos_boolean_enum_t;
   5.284 +
   5.285 +#endif /* __khrplatform_h_ */
   5.286 +