include/SDL_opengles.h
author Sam Lantinga <slouken@libsdl.org>
Sat, 04 Oct 2008 06:46:59 +0000
changeset 2765 f55c87ae336b
parent 2753 0969758c8809
child 2859 99210400e8b9
permissions -rw-r--r--
Final merge of Google Summer of Code 2008 work...

Bring SDL to iPhone and iPod Touch
by Holmes Futrell, mentored by Sam Lantinga
     1 /*
     2  SDL - Simple DirectMedia Layer
     3  Copyright (C) 1997-2006 Sam Lantinga
     4  
     5  This library is free software; you can redistribute it and/or
     6  modify it under the terms of the GNU Lesser General Public
     7  License as published by the Free Software Foundation; either
     8  version 2.1 of the License, or (at your option) any later version.
     9  
    10  This library is distributed in the hope that it will be useful,
    11  but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13  Lesser General Public License for more details.
    14  
    15  You should have received a copy of the GNU Lesser General Public
    16  License along with this library; if not, write to the Free Software
    17  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    18  
    19  Sam Lantinga
    20  slouken@libsdl.org
    21  */
    22 
    23 /*
    24 	This is a simple file to encapsulate the OpenGL ES API headers.
    25 	Headers copied from The Kronos Group website.
    26 	http://www.khronos.org/opengles/
    27  */
    28 
    29 #ifndef __gles_h_
    30 #define __gles_h_
    31 
    32 /* $Id: gl.h 4533 2007-11-26 11:19:35Z markc $ */
    33 
    34 #ifdef __cplusplus
    35 extern "C"
    36 {
    37 #endif
    38 
    39 #ifdef __IPHONEOS__
    40 #include <OpenGLES/ES1/gl.h>    /* Header File For The OpenGL ES Library */
    41 #endif
    42 
    43 #ifndef APIENTRY
    44 #define APIENTRY
    45 #endif
    46 
    47 #ifndef GL_APIENTRY
    48 #define GL_APIENTRY
    49 #endif
    50 
    51 
    52 /*
    53 ** License Applicability. Except to the extent portions of this file are
    54 ** made subject to an alternative license as permitted in the SGI Free
    55 ** Software License B, Version 1.0 (the "License"), the contents of this
    56 ** file are subject only to the provisions of the License. You may not use
    57 ** this file except in compliance with the License. You may obtain a copy
    58 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
    59 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
    60 **
    61 ** http://oss.sgi.com/projects/FreeB
    62 **
    63 ** Note that, as provided in the License, the Software is distributed on an
    64 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
    65 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
    66 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
    67 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
    68 **
    69 ** Original Code. The Original Code is: OpenGL Sample Implementation,
    70 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
    71 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
    72 ** Copyright in any portions created by third parties is as indicated
    73 ** elsewhere herein. All Rights Reserved.
    74 **
    75 ** Additional Notice Provisions: The application programming interfaces
    76 ** established by SGI in conjunction with the Original Code are The
    77 ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
    78 ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
    79 ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
    80 ** Window System(R) (Version 1.3), released October 19, 1998. This software
    81 ** was created using the OpenGL(R) version 1.2.1 Sample Implementation
    82 ** published by SGI, but has not been independently verified as being
    83 ** compliant with the OpenGL(R) version 1.2.1 Specification.
    84 */
    85 
    86     typedef unsigned int GLenum;
    87     typedef unsigned char GLboolean;
    88     typedef unsigned int GLbitfield;
    89     typedef signed char GLbyte;
    90     typedef short GLshort;
    91     typedef int GLint;
    92     typedef int GLsizei;
    93     typedef unsigned char GLubyte;
    94     typedef unsigned short GLushort;
    95     typedef unsigned int GLuint;
    96     typedef float GLfloat;
    97     typedef float GLclampf;
    98     typedef void GLvoid;
    99     typedef int GLfixed;
   100     typedef int GLclampx;
   101 
   102     typedef int GLintptr;
   103     typedef int GLsizeiptr;
   104 
   105 
   106 /*************************************************************/
   107 
   108 /* OpenGL ES core versions */
   109 #define GL_VERSION_ES_CM_1_0		  1
   110 #define GL_VERSION_ES_CL_1_0		  1
   111 #define GL_VERSION_ES_CM_1_1		  1
   112 #define GL_VERSION_ES_CL_1_1		  1
   113 
   114 /* ClearBufferMask */
   115 #define GL_DEPTH_BUFFER_BIT               0x00000100
   116 #define GL_STENCIL_BUFFER_BIT             0x00000400
   117 #define GL_COLOR_BUFFER_BIT               0x00004000
   118 
   119 /* Boolean */
   120 #define GL_FALSE                          0
   121 #define GL_TRUE                           1
   122 
   123 /* BeginMode */
   124 #define GL_POINTS                         0x0000
   125 #define GL_LINES                          0x0001
   126 #define GL_LINE_LOOP                      0x0002
   127 #define GL_LINE_STRIP                     0x0003
   128 #define GL_TRIANGLES                      0x0004
   129 #define GL_TRIANGLE_STRIP                 0x0005
   130 #define GL_TRIANGLE_FAN                   0x0006
   131 
   132 /* AlphaFunction */
   133 #define GL_NEVER                          0x0200
   134 #define GL_LESS                           0x0201
   135 #define GL_EQUAL                          0x0202
   136 #define GL_LEQUAL                         0x0203
   137 #define GL_GREATER                        0x0204
   138 #define GL_NOTEQUAL                       0x0205
   139 #define GL_GEQUAL                         0x0206
   140 #define GL_ALWAYS                         0x0207
   141 
   142 /* BlendingFactorDest */
   143 #define GL_ZERO                           0
   144 #define GL_ONE                            1
   145 #define GL_SRC_COLOR                      0x0300
   146 #define GL_ONE_MINUS_SRC_COLOR            0x0301
   147 #define GL_SRC_ALPHA                      0x0302
   148 #define GL_ONE_MINUS_SRC_ALPHA            0x0303
   149 #define GL_DST_ALPHA                      0x0304
   150 #define GL_ONE_MINUS_DST_ALPHA            0x0305
   151 
   152 /* BlendingFactorSrc */
   153 /*      GL_ZERO */
   154 /*      GL_ONE */
   155 #define GL_DST_COLOR                      0x0306
   156 #define GL_ONE_MINUS_DST_COLOR            0x0307
   157 #define GL_SRC_ALPHA_SATURATE             0x0308
   158 /*      GL_SRC_ALPHA */
   159 /*      GL_ONE_MINUS_SRC_ALPHA */
   160 /*      GL_DST_ALPHA */
   161 /*      GL_ONE_MINUS_DST_ALPHA */
   162 
   163 /* ClipPlaneName */
   164 #define GL_CLIP_PLANE0                    0x3000
   165 #define GL_CLIP_PLANE1                    0x3001
   166 #define GL_CLIP_PLANE2                    0x3002
   167 #define GL_CLIP_PLANE3                    0x3003
   168 #define GL_CLIP_PLANE4                    0x3004
   169 #define GL_CLIP_PLANE5                    0x3005
   170 
   171 /* ColorMaterialFace */
   172 /*      GL_FRONT_AND_BACK */
   173 
   174 /* ColorMaterialParameter */
   175 /*      GL_AMBIENT_AND_DIFFUSE */
   176 
   177 /* ColorPointerType */
   178 /*      GL_UNSIGNED_BYTE */
   179 /*      GL_FLOAT */
   180 /*      GL_FIXED */
   181 
   182 /* CullFaceMode */
   183 #define GL_FRONT                          0x0404
   184 #define GL_BACK                           0x0405
   185 #define GL_FRONT_AND_BACK                 0x0408
   186 
   187 /* DepthFunction */
   188 /*      GL_NEVER */
   189 /*      GL_LESS */
   190 /*      GL_EQUAL */
   191 /*      GL_LEQUAL */
   192 /*      GL_GREATER */
   193 /*      GL_NOTEQUAL */
   194 /*      GL_GEQUAL */
   195 /*      GL_ALWAYS */
   196 
   197 /* EnableCap */
   198 #define GL_FOG                            0x0B60
   199 #define GL_LIGHTING                       0x0B50
   200 #define GL_TEXTURE_2D                     0x0DE1
   201 #define GL_CULL_FACE                      0x0B44
   202 #define GL_ALPHA_TEST                     0x0BC0
   203 #define GL_BLEND                          0x0BE2
   204 #define GL_COLOR_LOGIC_OP                 0x0BF2
   205 #define GL_DITHER                         0x0BD0
   206 #define GL_STENCIL_TEST                   0x0B90
   207 #define GL_DEPTH_TEST                     0x0B71
   208 /*      GL_LIGHT0 */
   209 /*      GL_LIGHT1 */
   210 /*      GL_LIGHT2 */
   211 /*      GL_LIGHT3 */
   212 /*      GL_LIGHT4 */
   213 /*      GL_LIGHT5 */
   214 /*      GL_LIGHT6 */
   215 /*      GL_LIGHT7 */
   216 #define GL_POINT_SMOOTH                   0x0B10
   217 #define GL_LINE_SMOOTH                    0x0B20
   218 #define GL_SCISSOR_TEST                   0x0C11
   219 #define GL_COLOR_MATERIAL                 0x0B57
   220 #define GL_NORMALIZE                      0x0BA1
   221 #define GL_RESCALE_NORMAL                 0x803A
   222 #define GL_POLYGON_OFFSET_FILL            0x8037
   223 #define GL_VERTEX_ARRAY                   0x8074
   224 #define GL_NORMAL_ARRAY                   0x8075
   225 #define GL_COLOR_ARRAY                    0x8076
   226 #define GL_TEXTURE_COORD_ARRAY            0x8078
   227 #define GL_MULTISAMPLE                    0x809D
   228 #define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E
   229 #define GL_SAMPLE_ALPHA_TO_ONE            0x809F
   230 #define GL_SAMPLE_COVERAGE                0x80A0
   231 
   232 /* ErrorCode */
   233 #define GL_NO_ERROR                       0
   234 #define GL_INVALID_ENUM                   0x0500
   235 #define GL_INVALID_VALUE                  0x0501
   236 #define GL_INVALID_OPERATION              0x0502
   237 #define GL_STACK_OVERFLOW                 0x0503
   238 #define GL_STACK_UNDERFLOW                0x0504
   239 #define GL_OUT_OF_MEMORY                  0x0505
   240 
   241 /* FogMode */
   242 /*      GL_LINEAR */
   243 #define GL_EXP                            0x0800
   244 #define GL_EXP2                           0x0801
   245 
   246 /* FogParameter */
   247 #define GL_FOG_DENSITY                    0x0B62
   248 #define GL_FOG_START                      0x0B63
   249 #define GL_FOG_END                        0x0B64
   250 #define GL_FOG_MODE                       0x0B65
   251 #define GL_FOG_COLOR                      0x0B66
   252 
   253 /* FrontFaceDirection */
   254 #define GL_CW                             0x0900
   255 #define GL_CCW                            0x0901
   256 
   257 /* GetPName */
   258 #define GL_CURRENT_COLOR                  0x0B00
   259 #define GL_CURRENT_NORMAL                 0x0B02
   260 #define GL_CURRENT_TEXTURE_COORDS         0x0B03
   261 #define GL_POINT_SIZE                     0x0B11
   262 #define GL_POINT_SIZE_MIN                 0x8126
   263 #define GL_POINT_SIZE_MAX                 0x8127
   264 #define GL_POINT_FADE_THRESHOLD_SIZE      0x8128
   265 #define GL_POINT_DISTANCE_ATTENUATION     0x8129
   266 #define GL_SMOOTH_POINT_SIZE_RANGE        0x0B12
   267 #define GL_LINE_WIDTH                     0x0B21
   268 #define GL_SMOOTH_LINE_WIDTH_RANGE        0x0B22
   269 #define GL_ALIASED_POINT_SIZE_RANGE       0x846D
   270 #define GL_ALIASED_LINE_WIDTH_RANGE       0x846E
   271 #define GL_CULL_FACE_MODE                 0x0B45
   272 #define GL_FRONT_FACE                     0x0B46
   273 #define GL_SHADE_MODEL                    0x0B54
   274 #define GL_DEPTH_RANGE                    0x0B70
   275 #define GL_DEPTH_WRITEMASK                0x0B72
   276 #define GL_DEPTH_CLEAR_VALUE              0x0B73
   277 #define GL_DEPTH_FUNC                     0x0B74
   278 #define GL_STENCIL_CLEAR_VALUE            0x0B91
   279 #define GL_STENCIL_FUNC                   0x0B92
   280 #define GL_STENCIL_VALUE_MASK             0x0B93
   281 #define GL_STENCIL_FAIL                   0x0B94
   282 #define GL_STENCIL_PASS_DEPTH_FAIL        0x0B95
   283 #define GL_STENCIL_PASS_DEPTH_PASS        0x0B96
   284 #define GL_STENCIL_REF                    0x0B97
   285 #define GL_STENCIL_WRITEMASK              0x0B98
   286 #define GL_MATRIX_MODE                    0x0BA0
   287 #define GL_VIEWPORT                       0x0BA2
   288 #define GL_MODELVIEW_STACK_DEPTH          0x0BA3
   289 #define GL_PROJECTION_STACK_DEPTH         0x0BA4
   290 #define GL_TEXTURE_STACK_DEPTH            0x0BA5
   291 #define GL_MODELVIEW_MATRIX               0x0BA6
   292 #define GL_PROJECTION_MATRIX              0x0BA7
   293 #define GL_TEXTURE_MATRIX                 0x0BA8
   294 #define GL_ALPHA_TEST_FUNC                0x0BC1
   295 #define GL_ALPHA_TEST_REF                 0x0BC2
   296 #define GL_BLEND_DST                      0x0BE0
   297 #define GL_BLEND_SRC                      0x0BE1
   298 #define GL_LOGIC_OP_MODE                  0x0BF0
   299 #define GL_SCISSOR_BOX                    0x0C10
   300 #define GL_SCISSOR_TEST                   0x0C11
   301 #define GL_COLOR_CLEAR_VALUE              0x0C22
   302 #define GL_COLOR_WRITEMASK                0x0C23
   303 #define GL_UNPACK_ALIGNMENT               0x0CF5
   304 #define GL_PACK_ALIGNMENT                 0x0D05
   305 #define GL_MAX_LIGHTS                     0x0D31
   306 #define GL_MAX_CLIP_PLANES                0x0D32
   307 #define GL_MAX_TEXTURE_SIZE               0x0D33
   308 #define GL_MAX_MODELVIEW_STACK_DEPTH      0x0D36
   309 #define GL_MAX_PROJECTION_STACK_DEPTH     0x0D38
   310 #define GL_MAX_TEXTURE_STACK_DEPTH        0x0D39
   311 #define GL_MAX_VIEWPORT_DIMS              0x0D3A
   312 #define GL_MAX_TEXTURE_UNITS              0x84E2
   313 #define GL_SUBPIXEL_BITS                  0x0D50
   314 #define GL_RED_BITS                       0x0D52
   315 #define GL_GREEN_BITS                     0x0D53
   316 #define GL_BLUE_BITS                      0x0D54
   317 #define GL_ALPHA_BITS                     0x0D55
   318 #define GL_DEPTH_BITS                     0x0D56
   319 #define GL_STENCIL_BITS                   0x0D57
   320 #define GL_POLYGON_OFFSET_UNITS           0x2A00
   321 #define GL_POLYGON_OFFSET_FILL            0x8037
   322 #define GL_POLYGON_OFFSET_FACTOR          0x8038
   323 #define GL_TEXTURE_BINDING_2D             0x8069
   324 #define GL_VERTEX_ARRAY_SIZE              0x807A
   325 #define GL_VERTEX_ARRAY_TYPE              0x807B
   326 #define GL_VERTEX_ARRAY_STRIDE            0x807C
   327 #define GL_NORMAL_ARRAY_TYPE              0x807E
   328 #define GL_NORMAL_ARRAY_STRIDE            0x807F
   329 #define GL_COLOR_ARRAY_SIZE               0x8081
   330 #define GL_COLOR_ARRAY_TYPE               0x8082
   331 #define GL_COLOR_ARRAY_STRIDE             0x8083
   332 #define GL_TEXTURE_COORD_ARRAY_SIZE       0x8088
   333 #define GL_TEXTURE_COORD_ARRAY_TYPE       0x8089
   334 #define GL_TEXTURE_COORD_ARRAY_STRIDE     0x808A
   335 #define GL_VERTEX_ARRAY_POINTER           0x808E
   336 #define GL_NORMAL_ARRAY_POINTER           0x808F
   337 #define GL_COLOR_ARRAY_POINTER            0x8090
   338 #define GL_TEXTURE_COORD_ARRAY_POINTER    0x8092
   339 #define GL_SAMPLE_BUFFERS                 0x80A8
   340 #define GL_SAMPLES                        0x80A9
   341 #define GL_SAMPLE_COVERAGE_VALUE          0x80AA
   342 #define GL_SAMPLE_COVERAGE_INVERT         0x80AB
   343 
   344 /* GetTextureParameter */
   345 /*      GL_TEXTURE_MAG_FILTER */
   346 /*      GL_TEXTURE_MIN_FILTER */
   347 /*      GL_TEXTURE_WRAP_S */
   348 /*      GL_TEXTURE_WRAP_T */
   349 
   350 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
   351 #define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3
   352 
   353 /* HintMode */
   354 #define GL_DONT_CARE                      0x1100
   355 #define GL_FASTEST                        0x1101
   356 #define GL_NICEST                         0x1102
   357 
   358 /* HintTarget */
   359 #define GL_PERSPECTIVE_CORRECTION_HINT    0x0C50
   360 #define GL_POINT_SMOOTH_HINT              0x0C51
   361 #define GL_LINE_SMOOTH_HINT               0x0C52
   362 #define GL_FOG_HINT                       0x0C54
   363 #define GL_GENERATE_MIPMAP_HINT           0x8192
   364 
   365 /* LightModelParameter */
   366 #define GL_LIGHT_MODEL_AMBIENT            0x0B53
   367 #define GL_LIGHT_MODEL_TWO_SIDE           0x0B52
   368 
   369 /* LightParameter */
   370 #define GL_AMBIENT                        0x1200
   371 #define GL_DIFFUSE                        0x1201
   372 #define GL_SPECULAR                       0x1202
   373 #define GL_POSITION                       0x1203
   374 #define GL_SPOT_DIRECTION                 0x1204
   375 #define GL_SPOT_EXPONENT                  0x1205
   376 #define GL_SPOT_CUTOFF                    0x1206
   377 #define GL_CONSTANT_ATTENUATION           0x1207
   378 #define GL_LINEAR_ATTENUATION             0x1208
   379 #define GL_QUADRATIC_ATTENUATION          0x1209
   380 
   381 /* DataType */
   382 #define GL_BYTE                           0x1400
   383 #define GL_UNSIGNED_BYTE                  0x1401
   384 #define GL_SHORT                          0x1402
   385 #define GL_UNSIGNED_SHORT                 0x1403
   386 #define GL_FLOAT                          0x1406
   387 #define GL_FIXED                          0x140C
   388 
   389 /* LogicOp */
   390 #define GL_CLEAR                          0x1500
   391 #define GL_AND                            0x1501
   392 #define GL_AND_REVERSE                    0x1502
   393 #define GL_COPY                           0x1503
   394 #define GL_AND_INVERTED                   0x1504
   395 #define GL_NOOP                           0x1505
   396 #define GL_XOR                            0x1506
   397 #define GL_OR                             0x1507
   398 #define GL_NOR                            0x1508
   399 #define GL_EQUIV                          0x1509
   400 #define GL_INVERT                         0x150A
   401 #define GL_OR_REVERSE                     0x150B
   402 #define GL_COPY_INVERTED                  0x150C
   403 #define GL_OR_INVERTED                    0x150D
   404 #define GL_NAND                           0x150E
   405 #define GL_SET                            0x150F
   406 
   407 /* MaterialFace */
   408 /*      GL_FRONT_AND_BACK */
   409 
   410 /* MaterialParameter */
   411 #define GL_EMISSION                       0x1600
   412 #define GL_SHININESS                      0x1601
   413 #define GL_AMBIENT_AND_DIFFUSE            0x1602
   414 /*      GL_AMBIENT */
   415 /*      GL_DIFFUSE */
   416 /*      GL_SPECULAR */
   417 
   418 /* MatrixMode */
   419 #define GL_MODELVIEW                      0x1700
   420 #define GL_PROJECTION                     0x1701
   421 #define GL_TEXTURE                        0x1702
   422 
   423 /* NormalPointerType */
   424 /*      GL_BYTE */
   425 /*      GL_SHORT */
   426 /*      GL_FLOAT */
   427 /*      GL_FIXED */
   428 
   429 /* PixelFormat */
   430 #define GL_ALPHA                          0x1906
   431 #define GL_RGB                            0x1907
   432 #define GL_RGBA                           0x1908
   433 #define GL_LUMINANCE                      0x1909
   434 #define GL_LUMINANCE_ALPHA                0x190A
   435 
   436 /* PixelStoreParameter */
   437 #define GL_UNPACK_ALIGNMENT               0x0CF5
   438 #define GL_PACK_ALIGNMENT                 0x0D05
   439 
   440 /* PixelType */
   441 /*      GL_UNSIGNED_BYTE */
   442 #define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
   443 #define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
   444 #define GL_UNSIGNED_SHORT_5_6_5           0x8363
   445 
   446 /* ShadingModel */
   447 #define GL_FLAT                           0x1D00
   448 #define GL_SMOOTH                         0x1D01
   449 
   450 /* StencilFunction */
   451 /*      GL_NEVER */
   452 /*      GL_LESS */
   453 /*      GL_EQUAL */
   454 /*      GL_LEQUAL */
   455 /*      GL_GREATER */
   456 /*      GL_NOTEQUAL */
   457 /*      GL_GEQUAL */
   458 /*      GL_ALWAYS */
   459 
   460 /* StencilOp */
   461 /*      GL_ZERO */
   462 #define GL_KEEP                           0x1E00
   463 #define GL_REPLACE                        0x1E01
   464 #define GL_INCR                           0x1E02
   465 #define GL_DECR                           0x1E03
   466 /*      GL_INVERT */
   467 
   468 /* StringName */
   469 #define GL_VENDOR                         0x1F00
   470 #define GL_RENDERER                       0x1F01
   471 #define GL_VERSION                        0x1F02
   472 #define GL_EXTENSIONS                     0x1F03
   473 
   474 /* TexCoordPointerType */
   475 /*      GL_SHORT */
   476 /*      GL_FLOAT */
   477 /*      GL_FIXED */
   478 /*      GL_BYTE */
   479 
   480 /* TextureEnvMode */
   481 #define GL_MODULATE                       0x2100
   482 #define GL_DECAL                          0x2101
   483 /*      GL_BLEND */
   484 #define GL_ADD                            0x0104
   485 /*      GL_REPLACE */
   486 
   487 /* TextureEnvParameter */
   488 #define GL_TEXTURE_ENV_MODE               0x2200
   489 #define GL_TEXTURE_ENV_COLOR              0x2201
   490 
   491 /* TextureEnvTarget */
   492 #define GL_TEXTURE_ENV                    0x2300
   493 
   494 /* TextureMagFilter */
   495 #define GL_NEAREST                        0x2600
   496 #define GL_LINEAR                         0x2601
   497 
   498 /* TextureMinFilter */
   499 /*      GL_NEAREST */
   500 /*      GL_LINEAR */
   501 #define GL_NEAREST_MIPMAP_NEAREST         0x2700
   502 #define GL_LINEAR_MIPMAP_NEAREST          0x2701
   503 #define GL_NEAREST_MIPMAP_LINEAR          0x2702
   504 #define GL_LINEAR_MIPMAP_LINEAR           0x2703
   505 
   506 /* TextureParameterName */
   507 #define GL_TEXTURE_MAG_FILTER             0x2800
   508 #define GL_TEXTURE_MIN_FILTER             0x2801
   509 #define GL_TEXTURE_WRAP_S                 0x2802
   510 #define GL_TEXTURE_WRAP_T                 0x2803
   511 #define GL_GENERATE_MIPMAP                0x8191
   512 
   513 /* TextureTarget */
   514 /*      GL_TEXTURE_2D */
   515 
   516 /* TextureUnit */
   517 #define GL_TEXTURE0                       0x84C0
   518 #define GL_TEXTURE1                       0x84C1
   519 #define GL_TEXTURE2                       0x84C2
   520 #define GL_TEXTURE3                       0x84C3
   521 #define GL_TEXTURE4                       0x84C4
   522 #define GL_TEXTURE5                       0x84C5
   523 #define GL_TEXTURE6                       0x84C6
   524 #define GL_TEXTURE7                       0x84C7
   525 #define GL_TEXTURE8                       0x84C8
   526 #define GL_TEXTURE9                       0x84C9
   527 #define GL_TEXTURE10                      0x84CA
   528 #define GL_TEXTURE11                      0x84CB
   529 #define GL_TEXTURE12                      0x84CC
   530 #define GL_TEXTURE13                      0x84CD
   531 #define GL_TEXTURE14                      0x84CE
   532 #define GL_TEXTURE15                      0x84CF
   533 #define GL_TEXTURE16                      0x84D0
   534 #define GL_TEXTURE17                      0x84D1
   535 #define GL_TEXTURE18                      0x84D2
   536 #define GL_TEXTURE19                      0x84D3
   537 #define GL_TEXTURE20                      0x84D4
   538 #define GL_TEXTURE21                      0x84D5
   539 #define GL_TEXTURE22                      0x84D6
   540 #define GL_TEXTURE23                      0x84D7
   541 #define GL_TEXTURE24                      0x84D8
   542 #define GL_TEXTURE25                      0x84D9
   543 #define GL_TEXTURE26                      0x84DA
   544 #define GL_TEXTURE27                      0x84DB
   545 #define GL_TEXTURE28                      0x84DC
   546 #define GL_TEXTURE29                      0x84DD
   547 #define GL_TEXTURE30                      0x84DE
   548 #define GL_TEXTURE31                      0x84DF
   549 #define GL_ACTIVE_TEXTURE                 0x84E0
   550 #define GL_CLIENT_ACTIVE_TEXTURE          0x84E1
   551 
   552 /* TextureWrapMode */
   553 #define GL_REPEAT                         0x2901
   554 #define GL_CLAMP_TO_EDGE                  0x812F
   555 
   556 /* VertexPointerType */
   557 /*      GL_SHORT */
   558 /*      GL_FLOAT */
   559 /*      GL_FIXED */
   560 /*      GL_BYTE */
   561 
   562 /* LightName */
   563 #define GL_LIGHT0                         0x4000
   564 #define GL_LIGHT1                         0x4001
   565 #define GL_LIGHT2                         0x4002
   566 #define GL_LIGHT3                         0x4003
   567 #define GL_LIGHT4                         0x4004
   568 #define GL_LIGHT5                         0x4005
   569 #define GL_LIGHT6                         0x4006
   570 #define GL_LIGHT7                         0x4007
   571 
   572 /* Buffer Objects */
   573 #define GL_ARRAY_BUFFER                   0x8892
   574 #define GL_ELEMENT_ARRAY_BUFFER           0x8893
   575 
   576 #define GL_ARRAY_BUFFER_BINDING               0x8894
   577 #define GL_ELEMENT_ARRAY_BUFFER_BINDING       0x8895
   578 #define GL_VERTEX_ARRAY_BUFFER_BINDING        0x8896
   579 #define GL_NORMAL_ARRAY_BUFFER_BINDING        0x8897
   580 #define GL_COLOR_ARRAY_BUFFER_BINDING         0x8898
   581 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
   582 
   583 #define GL_STATIC_DRAW                    0x88E4
   584 #define GL_DYNAMIC_DRAW                   0x88E8
   585 
   586 #define GL_BUFFER_SIZE                    0x8764
   587 #define GL_BUFFER_USAGE                   0x8765
   588 
   589 /* Texture combine + dot3 */
   590 #define GL_SUBTRACT                       0x84E7
   591 #define GL_COMBINE                        0x8570
   592 #define GL_COMBINE_RGB                    0x8571
   593 #define GL_COMBINE_ALPHA                  0x8572
   594 #define GL_RGB_SCALE                      0x8573
   595 #define GL_ADD_SIGNED                     0x8574
   596 #define GL_INTERPOLATE                    0x8575
   597 #define GL_CONSTANT                       0x8576
   598 #define GL_PRIMARY_COLOR                  0x8577
   599 #define GL_PREVIOUS                       0x8578
   600 #define GL_OPERAND0_RGB                   0x8590
   601 #define GL_OPERAND1_RGB                   0x8591
   602 #define GL_OPERAND2_RGB                   0x8592
   603 #define GL_OPERAND0_ALPHA                 0x8598
   604 #define GL_OPERAND1_ALPHA                 0x8599
   605 #define GL_OPERAND2_ALPHA                 0x859A
   606 
   607 #define GL_ALPHA_SCALE                    0x0D1C
   608 
   609 #define GL_SRC0_RGB                       0x8580
   610 #define GL_SRC1_RGB                       0x8581
   611 #define GL_SRC2_RGB                       0x8582
   612 #define GL_SRC0_ALPHA                     0x8588
   613 #define GL_SRC1_ALPHA                     0x8589
   614 #define GL_SRC2_ALPHA                     0x858A
   615 
   616 #define GL_DOT3_RGB                       0x86AE
   617 #define GL_DOT3_RGBA                      0x86AF
   618 
   619 /*------------------------------------------------------------------------*
   620  * required OES extension tokens
   621  *------------------------------------------------------------------------*/
   622 
   623 /* OES_read_format */
   624 #ifndef GL_OES_read_format
   625 #define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES                   0x8B9A
   626 #define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES                 0x8B9B
   627 #endif
   628 
   629 /* GL_OES_compressed_paletted_texture */
   630 #ifndef GL_OES_compressed_paletted_texture
   631 #define GL_PALETTE4_RGB8_OES                                    0x8B90
   632 #define GL_PALETTE4_RGBA8_OES                                   0x8B91
   633 #define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
   634 #define GL_PALETTE4_RGBA4_OES                                   0x8B93
   635 #define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
   636 #define GL_PALETTE8_RGB8_OES                                    0x8B95
   637 #define GL_PALETTE8_RGBA8_OES                                   0x8B96
   638 #define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
   639 #define GL_PALETTE8_RGBA4_OES                                   0x8B98
   640 #define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
   641 #endif
   642 
   643 /* OES_point_size_array */
   644 #ifndef GL_OES_point_size_array
   645 #define GL_POINT_SIZE_ARRAY_OES                                 0x8B9C
   646 #define GL_POINT_SIZE_ARRAY_TYPE_OES                            0x898A
   647 #define GL_POINT_SIZE_ARRAY_STRIDE_OES                          0x898B
   648 #define GL_POINT_SIZE_ARRAY_POINTER_OES                         0x898C
   649 #define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES                  0x8B9F
   650 #endif
   651 
   652 /* GL_OES_point_sprite */
   653 #ifndef GL_OES_point_sprite
   654 #define GL_POINT_SPRITE_OES                                     0x8861
   655 #define GL_COORD_REPLACE_OES                                    0x8862
   656 #endif
   657 
   658 /*************************************************************/
   659 
   660 /* Available only in Common profile */
   661     GL_API void GL_APIENTRY glAlphaFunc(GLenum func, GLclampf ref);
   662     GL_API void GL_APIENTRY glClearColor(GLclampf red, GLclampf green,
   663                                          GLclampf blue, GLclampf alpha);
   664     GL_API void GL_APIENTRY glClearDepthf(GLclampf depth);
   665     GL_API void GL_APIENTRY glClipPlanef(GLenum plane,
   666                                          const GLfloat * equation);
   667     GL_API void GL_APIENTRY glColor4f(GLfloat red, GLfloat green,
   668                                       GLfloat blue, GLfloat alpha);
   669     GL_API void GL_APIENTRY glDepthRangef(GLclampf zNear, GLclampf zFar);
   670     GL_API void GL_APIENTRY glFogf(GLenum pname, GLfloat param);
   671     GL_API void GL_APIENTRY glFogfv(GLenum pname, const GLfloat * params);
   672     GL_API void GL_APIENTRY glFrustumf(GLfloat left, GLfloat right,
   673                                        GLfloat bottom, GLfloat top,
   674                                        GLfloat zNear, GLfloat zFar);
   675     GL_API void GL_APIENTRY glGetClipPlanef(GLenum pname, GLfloat eqn[4]);
   676     GL_API void GL_APIENTRY glGetFloatv(GLenum pname, GLfloat * params);
   677     GL_API void GL_APIENTRY glGetLightfv(GLenum light, GLenum pname,
   678                                          GLfloat * params);
   679     GL_API void GL_APIENTRY glGetMaterialfv(GLenum face, GLenum pname,
   680                                             GLfloat * params);
   681     GL_API void GL_APIENTRY glGetTexEnvfv(GLenum env, GLenum pname,
   682                                           GLfloat * params);
   683     GL_API void GL_APIENTRY glGetTexParameterfv(GLenum target, GLenum pname,
   684                                                 GLfloat * params);
   685     GL_API void GL_APIENTRY glLightModelf(GLenum pname, GLfloat param);
   686     GL_API void GL_APIENTRY glLightModelfv(GLenum pname,
   687                                            const GLfloat * params);
   688     GL_API void GL_APIENTRY glLightf(GLenum light, GLenum pname,
   689                                      GLfloat param);
   690     GL_API void GL_APIENTRY glLightfv(GLenum light, GLenum pname,
   691                                       const GLfloat * params);
   692     GL_API void GL_APIENTRY glLineWidth(GLfloat width);
   693     GL_API void GL_APIENTRY glLoadMatrixf(const GLfloat * m);
   694     GL_API void GL_APIENTRY glMaterialf(GLenum face, GLenum pname,
   695                                         GLfloat param);
   696     GL_API void GL_APIENTRY glMaterialfv(GLenum face, GLenum pname,
   697                                          const GLfloat * params);
   698     GL_API void GL_APIENTRY glMultMatrixf(const GLfloat * m);
   699     GL_API void GL_APIENTRY glMultiTexCoord4f(GLenum target, GLfloat s,
   700                                               GLfloat t, GLfloat r,
   701                                               GLfloat q);
   702     GL_API void GL_APIENTRY glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
   703     GL_API void GL_APIENTRY glOrthof(GLfloat left, GLfloat right,
   704                                      GLfloat bottom, GLfloat top,
   705                                      GLfloat zNear, GLfloat zFar);
   706     GL_API void GL_APIENTRY glPointParameterf(GLenum pname, GLfloat param);
   707     GL_API void GL_APIENTRY glPointParameterfv(GLenum pname,
   708                                                const GLfloat * params);
   709     GL_API void GL_APIENTRY glPointSize(GLfloat size);
   710     GL_API void GL_APIENTRY glPolygonOffset(GLfloat factor, GLfloat units);
   711     GL_API void GL_APIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y,
   712                                       GLfloat z);
   713     GL_API void GL_APIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z);
   714     GL_API void GL_APIENTRY glTexEnvf(GLenum target, GLenum pname,
   715                                       GLfloat param);
   716     GL_API void GL_APIENTRY glTexEnvfv(GLenum target, GLenum pname,
   717                                        const GLfloat * params);
   718     GL_API void GL_APIENTRY glTexParameterf(GLenum target, GLenum pname,
   719                                             GLfloat param);
   720     GL_API void GL_APIENTRY glTexParameterfv(GLenum target, GLenum pname,
   721                                              const GLfloat * params);
   722     GL_API void GL_APIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z);
   723 
   724 /* Available in both Common and Common-Lite profiles */
   725     GL_API void GL_APIENTRY glActiveTexture(GLenum texture);
   726     GL_API void GL_APIENTRY glAlphaFuncx(GLenum func, GLclampx ref);
   727     GL_API void GL_APIENTRY glBindBuffer(GLenum target, GLuint buffer);
   728     GL_API void GL_APIENTRY glBindTexture(GLenum target, GLuint texture);
   729     GL_API void GL_APIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor);
   730     GL_API void GL_APIENTRY glBufferData(GLenum target, GLsizeiptr size,
   731                                          const GLvoid * data, GLenum usage);
   732     GL_API void GL_APIENTRY glBufferSubData(GLenum target, GLintptr offset,
   733                                             GLsizeiptr size,
   734                                             const GLvoid * data);
   735     GL_API void GL_APIENTRY glClear(GLbitfield mask);
   736     GL_API void GL_APIENTRY glClearColorx(GLclampx red, GLclampx green,
   737                                           GLclampx blue, GLclampx alpha);
   738     GL_API void GL_APIENTRY glClearDepthx(GLclampx depth);
   739     GL_API void GL_APIENTRY glClearStencil(GLint s);
   740     GL_API void GL_APIENTRY glClientActiveTexture(GLenum texture);
   741     GL_API void GL_APIENTRY glClipPlanex(GLenum plane,
   742                                          const GLfixed * equation);
   743     GL_API void GL_APIENTRY glColor4ub(GLubyte red, GLubyte green,
   744                                        GLubyte blue, GLubyte alpha);
   745     GL_API void GL_APIENTRY glColor4x(GLfixed red, GLfixed green,
   746                                       GLfixed blue, GLfixed alpha);
   747     GL_API void GL_APIENTRY glColorMask(GLboolean red, GLboolean green,
   748                                         GLboolean blue, GLboolean alpha);
   749     GL_API void GL_APIENTRY glColorPointer(GLint size, GLenum type,
   750                                            GLsizei stride,
   751                                            const GLvoid * pointer);
   752     GL_API void GL_APIENTRY glCompressedTexImage2D(GLenum target, GLint level,
   753                                                    GLenum internalformat,
   754                                                    GLsizei width,
   755                                                    GLsizei height,
   756                                                    GLint border,
   757                                                    GLsizei imageSize,
   758                                                    const GLvoid * data);
   759     GL_API void GL_APIENTRY glCompressedTexSubImage2D(GLenum target,
   760                                                       GLint level,
   761                                                       GLint xoffset,
   762                                                       GLint yoffset,
   763                                                       GLsizei width,
   764                                                       GLsizei height,
   765                                                       GLenum format,
   766                                                       GLsizei imageSize,
   767                                                       const GLvoid * data);
   768     GL_API void GL_APIENTRY glCopyTexImage2D(GLenum target, GLint level,
   769                                              GLenum internalformat, GLint x,
   770                                              GLint y, GLsizei width,
   771                                              GLsizei height, GLint border);
   772     GL_API void GL_APIENTRY glCopyTexSubImage2D(GLenum target, GLint level,
   773                                                 GLint xoffset, GLint yoffset,
   774                                                 GLint x, GLint y,
   775                                                 GLsizei width,
   776                                                 GLsizei height);
   777     GL_API void GL_APIENTRY glCullFace(GLenum mode);
   778     GL_API void GL_APIENTRY glDeleteBuffers(GLsizei n,
   779                                             const GLuint * buffers);
   780     GL_API void GL_APIENTRY glDeleteTextures(GLsizei n,
   781                                              const GLuint * textures);
   782     GL_API void GL_APIENTRY glDepthFunc(GLenum func);
   783     GL_API void GL_APIENTRY glDepthMask(GLboolean flag);
   784     GL_API void GL_APIENTRY glDepthRangex(GLclampx zNear, GLclampx zFar);
   785     GL_API void GL_APIENTRY glDisable(GLenum cap);
   786     GL_API void GL_APIENTRY glDisableClientState(GLenum array);
   787     GL_API void GL_APIENTRY glDrawArrays(GLenum mode, GLint first,
   788                                          GLsizei count);
   789     GL_API void GL_APIENTRY glDrawElements(GLenum mode, GLsizei count,
   790                                            GLenum type,
   791                                            const GLvoid * indices);
   792     GL_API void GL_APIENTRY glEnable(GLenum cap);
   793     GL_API void GL_APIENTRY glEnableClientState(GLenum array);
   794     GL_API void GL_APIENTRY glFinish(void);
   795     GL_API void GL_APIENTRY glFlush(void);
   796     GL_API void GL_APIENTRY glFogx(GLenum pname, GLfixed param);
   797     GL_API void GL_APIENTRY glFogxv(GLenum pname, const GLfixed * params);
   798     GL_API void GL_APIENTRY glFrontFace(GLenum mode);
   799     GL_API void GL_APIENTRY glFrustumx(GLfixed left, GLfixed right,
   800                                        GLfixed bottom, GLfixed top,
   801                                        GLfixed zNear, GLfixed zFar);
   802     GL_API void GL_APIENTRY glGetBooleanv(GLenum pname, GLboolean * params);
   803     GL_API void GL_APIENTRY glGetBufferParameteriv(GLenum target,
   804                                                    GLenum pname,
   805                                                    GLint * params);
   806     GL_API void GL_APIENTRY glGetClipPlanex(GLenum pname, GLfixed eqn[4]);
   807     GL_API void GL_APIENTRY glGenBuffers(GLsizei n, GLuint * buffers);
   808     GL_API void GL_APIENTRY glGenTextures(GLsizei n, GLuint * textures);
   809     GL_API GLenum GL_APIENTRY glGetError(void);
   810     GL_API void GL_APIENTRY glGetFixedv(GLenum pname, GLfixed * params);
   811     GL_API void GL_APIENTRY glGetIntegerv(GLenum pname, GLint * params);
   812     GL_API void GL_APIENTRY glGetLightxv(GLenum light, GLenum pname,
   813                                          GLfixed * params);
   814     GL_API void GL_APIENTRY glGetMaterialxv(GLenum face, GLenum pname,
   815                                             GLfixed * params);
   816     GL_API void GL_APIENTRY glGetPointerv(GLenum pname, void **params);
   817     GL_API const GLubyte *GL_APIENTRY glGetString(GLenum name);
   818     GL_API void GL_APIENTRY glGetTexEnviv(GLenum env, GLenum pname,
   819                                           GLint * params);
   820     GL_API void GL_APIENTRY glGetTexEnvxv(GLenum env, GLenum pname,
   821                                           GLfixed * params);
   822     GL_API void GL_APIENTRY glGetTexParameteriv(GLenum target, GLenum pname,
   823                                                 GLint * params);
   824     GL_API void GL_APIENTRY glGetTexParameterxv(GLenum target, GLenum pname,
   825                                                 GLfixed * params);
   826     GL_API void GL_APIENTRY glHint(GLenum target, GLenum mode);
   827     GL_API GLboolean GL_APIENTRY glIsBuffer(GLuint buffer);
   828     GL_API GLboolean GL_APIENTRY glIsEnabled(GLenum cap);
   829     GL_API GLboolean GL_APIENTRY glIsTexture(GLuint texture);
   830     GL_API void GL_APIENTRY glLightModelx(GLenum pname, GLfixed param);
   831     GL_API void GL_APIENTRY glLightModelxv(GLenum pname,
   832                                            const GLfixed * params);
   833     GL_API void GL_APIENTRY glLightx(GLenum light, GLenum pname,
   834                                      GLfixed param);
   835     GL_API void GL_APIENTRY glLightxv(GLenum light, GLenum pname,
   836                                       const GLfixed * params);
   837     GL_API void GL_APIENTRY glLineWidthx(GLfixed width);
   838     GL_API void GL_APIENTRY glLoadIdentity(void);
   839     GL_API void GL_APIENTRY glLoadMatrixx(const GLfixed * m);
   840     GL_API void GL_APIENTRY glLogicOp(GLenum opcode);
   841     GL_API void GL_APIENTRY glMaterialx(GLenum face, GLenum pname,
   842                                         GLfixed param);
   843     GL_API void GL_APIENTRY glMaterialxv(GLenum face, GLenum pname,
   844                                          const GLfixed * params);
   845     GL_API void GL_APIENTRY glMatrixMode(GLenum mode);
   846     GL_API void GL_APIENTRY glMultMatrixx(const GLfixed * m);
   847     GL_API void GL_APIENTRY glMultiTexCoord4x(GLenum target, GLfixed s,
   848                                               GLfixed t, GLfixed r,
   849                                               GLfixed q);
   850     GL_API void GL_APIENTRY glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz);
   851     GL_API void GL_APIENTRY glNormalPointer(GLenum type, GLsizei stride,
   852                                             const GLvoid * pointer);
   853     GL_API void GL_APIENTRY glOrthox(GLfixed left, GLfixed right,
   854                                      GLfixed bottom, GLfixed top,
   855                                      GLfixed zNear, GLfixed zFar);
   856     GL_API void GL_APIENTRY glPixelStorei(GLenum pname, GLint param);
   857     GL_API void GL_APIENTRY glPointParameterx(GLenum pname, GLfixed param);
   858     GL_API void GL_APIENTRY glPointParameterxv(GLenum pname,
   859                                                const GLfixed * params);
   860     GL_API void GL_APIENTRY glPointSizex(GLfixed size);
   861     GL_API void GL_APIENTRY glPolygonOffsetx(GLfixed factor, GLfixed units);
   862     GL_API void GL_APIENTRY glPopMatrix(void);
   863     GL_API void GL_APIENTRY glPushMatrix(void);
   864     GL_API void GL_APIENTRY glReadPixels(GLint x, GLint y, GLsizei width,
   865                                          GLsizei height, GLenum format,
   866                                          GLenum type, GLvoid * pixels);
   867     GL_API void GL_APIENTRY glRotatex(GLfixed angle, GLfixed x, GLfixed y,
   868                                       GLfixed z);
   869     GL_API void GL_APIENTRY glSampleCoverage(GLclampf value,
   870                                              GLboolean invert);
   871     GL_API void GL_APIENTRY glSampleCoveragex(GLclampx value,
   872                                               GLboolean invert);
   873     GL_API void GL_APIENTRY glScalex(GLfixed x, GLfixed y, GLfixed z);
   874     GL_API void GL_APIENTRY glScissor(GLint x, GLint y, GLsizei width,
   875                                       GLsizei height);
   876     GL_API void GL_APIENTRY glShadeModel(GLenum mode);
   877     GL_API void GL_APIENTRY glStencilFunc(GLenum func, GLint ref,
   878                                           GLuint mask);
   879     GL_API void GL_APIENTRY glStencilMask(GLuint mask);
   880     GL_API void GL_APIENTRY glStencilOp(GLenum fail, GLenum zfail,
   881                                         GLenum zpass);
   882     GL_API void GL_APIENTRY glTexCoordPointer(GLint size, GLenum type,
   883                                               GLsizei stride,
   884                                               const GLvoid * pointer);
   885     GL_API void GL_APIENTRY glTexEnvi(GLenum target, GLenum pname,
   886                                       GLint param);
   887     GL_API void GL_APIENTRY glTexEnvx(GLenum target, GLenum pname,
   888                                       GLfixed param);
   889     GL_API void GL_APIENTRY glTexEnviv(GLenum target, GLenum pname,
   890                                        const GLint * params);
   891     GL_API void GL_APIENTRY glTexEnvxv(GLenum target, GLenum pname,
   892                                        const GLfixed * params);
   893     GL_API void GL_APIENTRY glTexImage2D(GLenum target, GLint level,
   894                                          GLint internalformat, GLsizei width,
   895                                          GLsizei height, GLint border,
   896                                          GLenum format, GLenum type,
   897                                          const GLvoid * pixels);
   898     GL_API void GL_APIENTRY glTexParameteri(GLenum target, GLenum pname,
   899                                             GLint param);
   900     GL_API void GL_APIENTRY glTexParameterx(GLenum target, GLenum pname,
   901                                             GLfixed param);
   902     GL_API void GL_APIENTRY glTexParameteriv(GLenum target, GLenum pname,
   903                                              const GLint * params);
   904     GL_API void GL_APIENTRY glTexParameterxv(GLenum target, GLenum pname,
   905                                              const GLfixed * params);
   906     GL_API void GL_APIENTRY glTexSubImage2D(GLenum target, GLint level,
   907                                             GLint xoffset, GLint yoffset,
   908                                             GLsizei width, GLsizei height,
   909                                             GLenum format, GLenum type,
   910                                             const GLvoid * pixels);
   911     GL_API void GL_APIENTRY glTranslatex(GLfixed x, GLfixed y, GLfixed z);
   912     GL_API void GL_APIENTRY glVertexPointer(GLint size, GLenum type,
   913                                             GLsizei stride,
   914                                             const GLvoid * pointer);
   915     GL_API void GL_APIENTRY glViewport(GLint x, GLint y, GLsizei width,
   916                                        GLsizei height);
   917 
   918 /*------------------------------------------------------------------------*
   919  * Required OES extension functions
   920  *------------------------------------------------------------------------*/
   921 
   922 /* GL_OES_read_format */
   923 #ifndef GL_OES_read_format
   924 #define GL_OES_read_format 1
   925 #endif
   926 
   927 /* GL_OES_compressed_paletted_texture */
   928 #ifndef GL_OES_compressed_paletted_texture
   929 #define GL_OES_compressed_paletted_texture 1
   930 #endif
   931 
   932 /* GL_OES_point_size_array */
   933 #ifndef GL_OES_point_size_array
   934 #define GL_OES_point_size_array 1
   935     GL_API void GL_APIENTRY glPointSizePointerOES(GLenum type, GLsizei stride,
   936                                                   const GLvoid * pointer);
   937 #endif
   938 
   939 /* GL_OES_point_sprite */
   940 #ifndef GL_OES_point_sprite
   941 #define GL_OES_point_sprite 1
   942 #endif
   943 
   944 #ifdef __cplusplus
   945 }
   946 #endif
   947 
   948 #endif                          /* __gles_h_ */