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