include/SDL_opengles.h
author Sam Lantinga <slouken@libsdl.org>
Tue, 03 Mar 2009 04:21:51 +0000
changeset 3083 0bc41e0361d3
parent 2859 99210400e8b9
child 3087 0b6f51c29267
permissions -rw-r--r--
Date: Mon, 2 Mar 2009 16:27:42 +0200
From: "Mike Gorchak"
Subject: About QNX support in SDL 1.3

Right now I'm working on QNX SDL 1.3 drivers implementation and looks like a
lot of code must be completely reworked. But I'm ready for it :) Also I want
to add QNX Graphics Framework SDL driver, which is fullscreen graphics
framework, with support of hardware accelerated OpenGL ES implementations.
This Graphics Framework (called GF in QNX) could also use QNX Photon (window
manager GUI) as window manager.

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