opengles/openglesinterface/include/glext.h
changeset 0 5d03bc08d59c
equal deleted inserted replaced
-1:000000000000 0:5d03bc08d59c
       
     1 #ifndef __glext_h_
       
     2 #define __glext_h_
       
     3 
       
     4 /* differences from the actual sample implemtation provided by Khronos:
       
     5 - this comment
       
     6 - the Doxygen comment with tag 'publishedAll', and tag 'released'
       
     7 - added __SOFTFP decorations for call-by-value float functions
       
     8  */
       
     9 
       
    10 /**
       
    11 @publishedAll
       
    12 @released
       
    13 */
       
    14 
       
    15 #ifdef __cplusplus
       
    16 extern "C" {
       
    17 #endif
       
    18 
       
    19 /*
       
    20 ** SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
       
    21 ** Copyright (C) 2008 Silicon Graphics, Inc. All Rights Reserved.
       
    22 ** 
       
    23 ** Permission is hereby granted, free of charge, to any person obtaining 
       
    24 ** a copy of this software and associated documentation files 
       
    25 ** (the "Software"), to deal in the Software without restriction, 
       
    26 ** including without limitation the rights to use, copy, modify, merge, 
       
    27 ** publish, distribute, sublicense, and/or sell copies of the Software, 
       
    28 ** and to permit persons to whom the Software is furnished to do so, 
       
    29 ** subject to the following conditions:
       
    30 **  
       
    31 ** The above copyright notice including the dates of first 
       
    32 ** publication and either this permission notice or a reference to 
       
    33 ** http://oss.sgi.com/projects/FreeB/ shall be included in all copies 
       
    34 ** or substantial portions of the Software.
       
    35 ** 
       
    36 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
       
    37 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
       
    38 ** MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
       
    39 ** IN NO EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, 
       
    40 ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
       
    41 ** OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
       
    42 ** THE USE OR OTHER DEALINGS IN THE SOFTWARE.
       
    43 ** 
       
    44 ** Except as contained in this notice, the name of Silicon Graphics, Inc. 
       
    45 ** shall not be used in advertising or otherwise to promote the sale, use 
       
    46 ** or other dealings in this Software without prior written authorization 
       
    47 ** from Silicon Graphics, Inc. 
       
    48 */
       
    49 
       
    50 #ifndef GL_APIENTRYP
       
    51 #   define GL_APIENTRYP GL_APIENTRY*
       
    52 #endif
       
    53 
       
    54 /*------------------------------------------------------------------------*
       
    55  * OES extension tokens
       
    56  *------------------------------------------------------------------------*/
       
    57 
       
    58 /* GL_OES_blend_equation_separate */
       
    59 #ifndef GL_OES_blend_equation_separate
       
    60 /* BLEND_EQUATION_RGB_OES same as BLEND_EQUATION_OES */
       
    61 #define GL_BLEND_EQUATION_RGB_OES                               0x8009
       
    62 #define GL_BLEND_EQUATION_ALPHA_OES                             0x883D
       
    63 #endif
       
    64 
       
    65 /* GL_OES_blend_func_separate */
       
    66 #ifndef GL_OES_blend_func_separate
       
    67 #define GL_BLEND_DST_RGB_OES                                    0x80C8
       
    68 #define GL_BLEND_SRC_RGB_OES                                    0x80C9
       
    69 #define GL_BLEND_DST_ALPHA_OES                                  0x80CA
       
    70 #define GL_BLEND_SRC_ALPHA_OES                                  0x80CB
       
    71 #endif
       
    72 
       
    73 /* GL_OES_blend_subtract */
       
    74 #ifndef GL_OES_blend_subtract
       
    75 #define GL_BLEND_EQUATION_OES                                   0x8009
       
    76 #define GL_FUNC_ADD_OES                                         0x8006
       
    77 #define GL_FUNC_SUBTRACT_OES                                    0x800A
       
    78 #define GL_FUNC_REVERSE_SUBTRACT_OES                            0x800B
       
    79 #endif
       
    80 
       
    81 /* GL_OES_compressed_ETC1_RGB8_texture */
       
    82 #ifndef GL_OES_compressed_ETC1_RGB8_texture
       
    83 #define GL_ETC1_RGB8_OES                                        0x8D64
       
    84 #endif
       
    85 
       
    86 /* OES_draw_texture */
       
    87 #ifndef GL_OES_draw_texture
       
    88 #define GL_TEXTURE_CROP_RECT_OES                                0x8B9D
       
    89 #endif
       
    90 
       
    91 /* OES_fixed_point */
       
    92 #ifndef GL_OES_fixed_point
       
    93 #define GL_FIXED_OES                                            0x140C
       
    94 #endif
       
    95 
       
    96 /* OES_framebuffer_object */
       
    97 #ifndef GL_OES_framebuffer_object
       
    98 #define GL_FRAMEBUFFER_OES                                      0x8D40
       
    99 #define GL_RENDERBUFFER_OES                                     0x8D41
       
   100 #define GL_RGBA4_OES                                            0x8056
       
   101 #define GL_RGB5_A1_OES                                          0x8057
       
   102 #define GL_RGB565_OES                                           0x8D62
       
   103 #define GL_DEPTH_COMPONENT16_OES                                0x81A5
       
   104 #define GL_RENDERBUFFER_WIDTH_OES                               0x8D42
       
   105 #define GL_RENDERBUFFER_HEIGHT_OES                              0x8D43
       
   106 #define GL_RENDERBUFFER_INTERNAL_FORMAT_OES                     0x8D44
       
   107 #define GL_RENDERBUFFER_RED_SIZE_OES                            0x8D50
       
   108 #define GL_RENDERBUFFER_GREEN_SIZE_OES                          0x8D51
       
   109 #define GL_RENDERBUFFER_BLUE_SIZE_OES                           0x8D52
       
   110 #define GL_RENDERBUFFER_ALPHA_SIZE_OES                          0x8D53
       
   111 #define GL_RENDERBUFFER_DEPTH_SIZE_OES                          0x8D54
       
   112 #define GL_RENDERBUFFER_STENCIL_SIZE_OES                        0x8D55
       
   113 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES               0x8CD0
       
   114 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES               0x8CD1
       
   115 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES             0x8CD2
       
   116 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES     0x8CD3
       
   117 #define GL_COLOR_ATTACHMENT0_OES                                0x8CE0
       
   118 #define GL_DEPTH_ATTACHMENT_OES                                 0x8D00
       
   119 #define GL_STENCIL_ATTACHMENT_OES                               0x8D20
       
   120 #define GL_FRAMEBUFFER_COMPLETE_OES                             0x8CD5
       
   121 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES                0x8CD6
       
   122 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES        0x8CD7
       
   123 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES                0x8CD9
       
   124 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES                   0x8CDA
       
   125 #define GL_FRAMEBUFFER_UNSUPPORTED_OES                          0x8CDD
       
   126 #define GL_FRAMEBUFFER_BINDING_OES                              0x8CA6
       
   127 #define GL_RENDERBUFFER_BINDING_OES                             0x8CA7
       
   128 #define GL_MAX_RENDERBUFFER_SIZE_OES                            0x84E8
       
   129 #define GL_INVALID_FRAMEBUFFER_OPERATION_OES                    0x0506
       
   130 #endif
       
   131 
       
   132 /* OES_matrix_get */
       
   133 #ifndef GL_OES_matrix_get
       
   134 #define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES               0x898D
       
   135 #define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES              0x898E
       
   136 #define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES                 0x898F
       
   137 #endif
       
   138 
       
   139 /* OES_matrix_palette */
       
   140 #ifndef GL_OES_matrix_palette
       
   141 #define GL_MAX_VERTEX_UNITS_OES                                 0x86A4
       
   142 #define GL_MAX_PALETTE_MATRICES_OES                             0x8842
       
   143 #define GL_MATRIX_PALETTE_OES                                   0x8840
       
   144 #define GL_MATRIX_INDEX_ARRAY_OES                               0x8844
       
   145 #define GL_WEIGHT_ARRAY_OES                                     0x86AD
       
   146 #define GL_CURRENT_PALETTE_MATRIX_OES                           0x8843
       
   147 #define GL_MATRIX_INDEX_ARRAY_SIZE_OES                          0x8846
       
   148 #define GL_MATRIX_INDEX_ARRAY_TYPE_OES                          0x8847
       
   149 #define GL_MATRIX_INDEX_ARRAY_STRIDE_OES                        0x8848
       
   150 #define GL_MATRIX_INDEX_ARRAY_POINTER_OES                       0x8849
       
   151 #define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES                0x8B9E
       
   152 #define GL_WEIGHT_ARRAY_SIZE_OES                                0x86AB
       
   153 #define GL_WEIGHT_ARRAY_TYPE_OES                                0x86A9
       
   154 #define GL_WEIGHT_ARRAY_STRIDE_OES                              0x86AA
       
   155 #define GL_WEIGHT_ARRAY_POINTER_OES                             0x86AC
       
   156 #define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES                      0x889E
       
   157 #endif
       
   158 
       
   159 /* GL_OES_stencil_wrap */
       
   160 #ifndef GL_OES_stencil_wrap
       
   161 #define GL_INCR_WRAP_OES                                        0x8507
       
   162 #define GL_DECR_WRAP_OES                                        0x8508
       
   163 #endif
       
   164 
       
   165 /* GL_OES_texture_cube_map */
       
   166 #ifndef GL_OES_texture_cube_map
       
   167 #define GL_NORMAL_MAP_OES                                       0x8511
       
   168 #define GL_REFLECTION_MAP_OES                                   0x8512
       
   169 #define GL_TEXTURE_CUBE_MAP_OES                                 0x8513
       
   170 #define GL_TEXTURE_BINDING_CUBE_MAP_OES                         0x8514
       
   171 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES                      0x8515
       
   172 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES                      0x8516
       
   173 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES                      0x8517
       
   174 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES                      0x8518
       
   175 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES                      0x8519
       
   176 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES                      0x851A
       
   177 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES                        0x851C
       
   178 #define GL_TEXTURE_GEN_MODE_OES                                 0x2500
       
   179 #define GL_TEXTURE_GEN_STR_OES                                  0x8D60
       
   180 #endif
       
   181 
       
   182 /* GL_OES_texture_mirrored_repeat */
       
   183 #ifndef GL_OES_texture_mirrored_repeat
       
   184 #define GL_MIRRORED_REPEAT_OES                                  0x8370
       
   185 #endif
       
   186 
       
   187 /* GL_OES_EGL_image */
       
   188 #ifndef GL_OES_EGL_image
       
   189 typedef void* GLeglImageOES;
       
   190 #endif
       
   191 
       
   192 /* GL_OES_depth24 */
       
   193 #ifndef GL_OES_depth24
       
   194 #define GL_DEPTH_COMPONENT24_OES                                0x81A6
       
   195 #endif
       
   196 
       
   197 /* GL_OES_depth32 */
       
   198 #ifndef GL_OES_depth32
       
   199 #define GL_DEPTH_COMPONENT32_OES                                0x81A7
       
   200 #endif
       
   201 
       
   202 /* GL_OES_mapbuffer */
       
   203 #ifndef GL_OES_mapbuffer
       
   204 #define GL_WRITE_ONLY_OES                                       0x88B9
       
   205 #define GL_BUFFER_ACCESS_OES                                    0x88BB
       
   206 #define GL_BUFFER_MAPPED_OES                                    0x88BC
       
   207 #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
       
   208 #endif
       
   209 
       
   210 /* GL_OES_rgb8_rgba8 */
       
   211 #ifndef GL_OES_rgb8_rgba8
       
   212 #define GL_RGB8_OES                                             0x8051
       
   213 #define GL_RGBA8_OES                                            0x8058
       
   214 #endif
       
   215 
       
   216 /* GL_OES_stencil1 */
       
   217 #ifndef GL_OES_stencil1
       
   218 #define GL_STENCIL_INDEX1_OES                                   0x8D46
       
   219 #endif
       
   220 
       
   221 /* GL_OES_stencil4 */
       
   222 #ifndef GL_OES_stencil4
       
   223 #define GL_STENCIL_INDEX4_OES                                   0x8D47
       
   224 #endif
       
   225 
       
   226 /* GL_OES_stencil8 */
       
   227 #ifndef GL_OES_stencil8
       
   228 #define GL_STENCIL_INDEX8_OES                                   0x8D48
       
   229 #endif
       
   230 
       
   231 /* GL_AMD_compressed_3DC_texture */
       
   232 #ifndef GL_AMD_compressed_3DC_texture
       
   233 #define GL_3DC_X_AMD                                            0x87F9
       
   234 #define GL_3DC_XY_AMD                                           0x87FA
       
   235 #endif
       
   236 
       
   237 /* GL_AMD_compressed_ATC_texture */
       
   238 #ifndef GL_AMD_compressed_ATC_texture
       
   239 #define GL_ATC_RGB_AMD                                          0x8C92
       
   240 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
       
   241 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
       
   242 #endif
       
   243 
       
   244 /* GL_EXT_texture_filter_anisotropic */
       
   245 #ifndef GL_EXT_texture_filter_anisotropic
       
   246 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
       
   247 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
       
   248 #endif
       
   249 
       
   250 /*------------------------------------------------------------------------*
       
   251  * OES extension functions
       
   252  *------------------------------------------------------------------------*/
       
   253 
       
   254 /* GL_OES_blend_equation_separate */
       
   255 #ifndef GL_OES_blend_equation_separate
       
   256 #define GL_OES_blend_equation_separate 1
       
   257 #ifdef GL_GLEXT_PROTOTYPES
       
   258 GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha);
       
   259 #endif
       
   260 typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha);
       
   261 #endif
       
   262 
       
   263 /* GL_OES_blend_func_separate */
       
   264 #ifndef GL_OES_blend_func_separate
       
   265 #define GL_OES_blend_func_separate 1
       
   266 #ifdef GL_GLEXT_PROTOTYPES
       
   267 GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
       
   268 #endif
       
   269 typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
       
   270 #endif
       
   271 
       
   272 /* GL_OES_blend_subtract */
       
   273 #ifndef GL_OES_blend_subtract
       
   274 #define GL_OES_blend_subtract 1
       
   275 #ifdef GL_GLEXT_PROTOTYPES
       
   276 GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
       
   277 #endif
       
   278 typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
       
   279 #endif
       
   280 
       
   281 /* GL_OES_byte_coordinates */
       
   282 #ifndef GL_OES_byte_coordinates
       
   283 #define GL_OES_byte_coordinates 1
       
   284 #endif
       
   285 
       
   286 /* GL_OES_compressed_ETC1_RGB8_texture */
       
   287 #ifndef GL_OES_compressed_ETC1_RGB8_texture
       
   288 #define GL_OES_compressed_ETC1_RGB8_texture 1
       
   289 #endif
       
   290 
       
   291 /* GL_OES_draw_texture */
       
   292 #ifndef GL_OES_draw_texture
       
   293 #define GL_OES_draw_texture 1
       
   294 #ifdef GL_GLEXT_PROTOTYPES
       
   295 GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
       
   296 GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
       
   297 GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
       
   298 GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
       
   299 GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
       
   300 GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
       
   301 GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) __SOFTFP;
       
   302 GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
       
   303 #endif
       
   304 typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
       
   305 typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height);
       
   306 typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
       
   307 typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
       
   308 typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
       
   309 typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
       
   310 typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) __SOFTFP;
       
   311 typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
       
   312 #endif
       
   313 
       
   314 /* GL_OES_extended_matrix_palette */
       
   315 #ifndef GL_OES_extended_matrix_palette
       
   316 #define GL_OES_extended_matrix_palette 1
       
   317 #endif
       
   318 
       
   319 /* GL_OES_fixed_point */
       
   320 #ifndef GL_OES_fixed_point
       
   321 #define GL_OES_fixed_point 1
       
   322 #ifdef GL_GLEXT_PROTOTYPES
       
   323 GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref);
       
   324 GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
       
   325 GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth);
       
   326 GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
       
   327 GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
       
   328 GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar);
       
   329 GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
       
   330 GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params);
       
   331 GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
       
   332 GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]);
       
   333 GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
       
   334 GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params);
       
   335 GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params);
       
   336 GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params);
       
   337 GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);
       
   338 GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
       
   339 GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params);
       
   340 GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
       
   341 GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);
       
   342 GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
       
   343 GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
       
   344 GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
       
   345 GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params);
       
   346 GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
       
   347 GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
       
   348 GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
       
   349 GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
       
   350 GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
       
   351 GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
       
   352 GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
       
   353 GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
       
   354 GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
       
   355 GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
       
   356 GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
       
   357 GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
       
   358 GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
       
   359 GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);
       
   360 GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);
       
   361 GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
       
   362 #endif
       
   363 typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref);
       
   364 typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
       
   365 typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth);
       
   366 typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);
       
   367 typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
       
   368 typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar);
       
   369 typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
       
   370 typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params);
       
   371 typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
       
   372 typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]);
       
   373 typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);
       
   374 typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params);
       
   375 typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params);
       
   376 typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params);
       
   377 typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
       
   378 typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);
       
   379 typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params);
       
   380 typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);
       
   381 typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);
       
   382 typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
       
   383 typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
       
   384 typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);
       
   385 typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params);
       
   386 typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
       
   387 typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
       
   388 typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
       
   389 typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
       
   390 typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param);
       
   391 typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);
       
   392 typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
       
   393 typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
       
   394 typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
       
   395 typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert);
       
   396 typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
       
   397 typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
       
   398 typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
       
   399 typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
       
   400 typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
       
   401 typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
       
   402 #endif
       
   403 
       
   404 /* GL_OES_framebuffer_object */
       
   405 #ifndef GL_OES_framebuffer_object
       
   406 #define GL_OES_framebuffer_object 1
       
   407 #ifdef GL_GLEXT_PROTOTYPES
       
   408 GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
       
   409 GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer);
       
   410 GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers);
       
   411 GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers);
       
   412 GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
       
   413 GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params);
       
   414 GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
       
   415 GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer);
       
   416 GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers);
       
   417 GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers);
       
   418 GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
       
   419 GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
       
   420 GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
       
   421 GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params);
       
   422 GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
       
   423 #endif
       
   424 typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
       
   425 typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
       
   426 typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
       
   427 typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
       
   428 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
       
   429 typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
       
   430 typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
       
   431 typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
       
   432 typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
       
   433 typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
       
   434 typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
       
   435 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
       
   436 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
       
   437 typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
       
   438 typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
       
   439 #endif
       
   440 
       
   441 /* GL_OES_matrix_get */
       
   442 #ifndef GL_OES_matrix_get
       
   443 #define GL_OES_matrix_get 1
       
   444 #endif
       
   445 
       
   446 /* GL_OES_matrix_palette */
       
   447 #ifndef GL_OES_matrix_palette
       
   448 #define GL_OES_matrix_palette 1
       
   449 #ifdef GL_GLEXT_PROTOTYPES
       
   450 GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
       
   451 GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
       
   452 GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
       
   453 GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
       
   454 #endif
       
   455 typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex);
       
   456 typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
       
   457 typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
       
   458 typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
       
   459 #endif
       
   460 
       
   461 /* GL_OES_query_matrix */
       
   462 #ifndef GL_OES_query_matrix
       
   463 #define GL_OES_query_matrix 1
       
   464 #ifdef GL_GLEXT_PROTOTYPES
       
   465 GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]);
       
   466 #endif
       
   467 typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]);
       
   468 #endif
       
   469 
       
   470 /* GL_OES_single_precision */
       
   471 #ifndef GL_OES_single_precision
       
   472 #define GL_OES_single_precision 1
       
   473 #ifdef GL_GLEXT_PROTOTYPES
       
   474 GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar) __SOFTFP;
       
   475 GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) __SOFTFP;
       
   476 GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) __SOFTFP;
       
   477 GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
       
   478 GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]);
       
   479 GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth) __SOFTFP;
       
   480 #endif
       
   481 typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar) __SOFTFP;
       
   482 typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) __SOFTFP;
       
   483 typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) __SOFTFP;
       
   484 typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);
       
   485 typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]);
       
   486 typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth) __SOFTFP;
       
   487 #endif
       
   488 
       
   489 /* GL_OES_stencil_wrap */
       
   490 #ifndef GL_OES_stencil_wrap
       
   491 #define GL_OES_stencil_wrap 1
       
   492 #endif
       
   493 
       
   494 /* GL_OES_texture_cube_map */
       
   495 #ifndef GL_OES_texture_cube_map
       
   496 #define GL_OES_texture_cube_map 1
       
   497 #ifdef GL_GLEXT_PROTOTYPES
       
   498 GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param) __SOFTFP;
       
   499 GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params);
       
   500 GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
       
   501 GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params);
       
   502 GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);
       
   503 GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);
       
   504 GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params);
       
   505 GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params);
       
   506 GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);
       
   507 #endif
       
   508 typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param) __SOFTFP;
       
   509 typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
       
   510 typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
       
   511 typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
       
   512 typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
       
   513 typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
       
   514 typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
       
   515 typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
       
   516 typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
       
   517 #endif
       
   518 
       
   519 /* GL_OES_texture_env_crossbar */
       
   520 #ifndef GL_OES_texture_env_crossbar
       
   521 #define GL_OES_texture_env_crossbar 1
       
   522 #endif
       
   523 
       
   524 /* GL_OES_texture_mirrored_repeat */
       
   525 #ifndef GL_OES_texture_mirrored_repeat
       
   526 #define GL_OES_texture_mirrored_repeat 1
       
   527 #endif
       
   528 
       
   529 /* GL_OES_EGL_image */
       
   530 #ifndef GL_OES_EGL_image
       
   531 #define GL_OES_EGL_image 1
       
   532 #ifdef GL_GLEXT_PROTOTYPES
       
   533 GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
       
   534 GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
       
   535 #endif
       
   536 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
       
   537 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
       
   538 #endif
       
   539 
       
   540 /* GL_OES_depth24 */
       
   541 #ifndef GL_OES_depth24
       
   542 #define GL_OES_depth24 1
       
   543 #endif
       
   544 
       
   545 /* GL_OES_depth32 */
       
   546 #ifndef GL_OES_depth32
       
   547 #define GL_OES_depth32 1
       
   548 #endif
       
   549 
       
   550 /* GL_OES_element_index_uint */
       
   551 #ifndef GL_OES_element_index_uint
       
   552 #define GL_OES_element_index_uint 1
       
   553 #endif
       
   554 
       
   555 /* GL_OES_fbo_render_mipmap */
       
   556 #ifndef GL_OES_fbo_render_mipmap
       
   557 #define GL_OES_fbo_render_mipmap 1
       
   558 #endif
       
   559 
       
   560 /* GL_OES_mapbuffer */
       
   561 #ifndef GL_OES_mapbuffer
       
   562 #define GL_OES_mapbuffer 1
       
   563 #ifdef GL_GLEXT_PROTOTYPES
       
   564 GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
       
   565 GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
       
   566 GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params);
       
   567 #endif
       
   568 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
       
   569 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
       
   570 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params);
       
   571 #endif
       
   572 
       
   573 /* GL_OES_rgb8_rgba8 */
       
   574 #ifndef GL_OES_rgb8_rgba8
       
   575 #define GL_OES_rgb8_rgba8 1
       
   576 #endif
       
   577 
       
   578 /* GL_OES_stencil1 */
       
   579 #ifndef GL_OES_stencil1
       
   580 #define GL_OES_stencil1 1
       
   581 #endif
       
   582 
       
   583 /* GL_OES_stencil4 */
       
   584 #ifndef GL_OES_stencil4
       
   585 #define GL_OES_stencil4 1
       
   586 #endif
       
   587 
       
   588 /* GL_OES_stencil8 */
       
   589 #ifndef GL_OES_stencil8
       
   590 #define GL_OES_stencil8 1
       
   591 #endif
       
   592 
       
   593 /* GL_AMD_compressed_3DC_texture */
       
   594 #ifndef GL_AMD_compressed_3DC_texture
       
   595 #define GL_AMD_compressed_3DC_texture 1
       
   596 #endif
       
   597 
       
   598 /* GL_AMD_compressed_ATC_texture */
       
   599 #ifndef GL_AMD_compressed_ATC_texture
       
   600 #define GL_AMD_compressed_ATC_texture 1
       
   601 #endif
       
   602 
       
   603 /* GL_EXT_texture_filter_anisotropic */
       
   604 #ifndef GL_EXT_texture_filter_anisotropic
       
   605 #define GL_EXT_texture_filter_anisotropic 1
       
   606 #endif
       
   607 
       
   608 #ifdef __cplusplus
       
   609 }
       
   610 #endif
       
   611 
       
   612 #endif /* __glext_h_ */
       
   613