hostsupport/inc/GLES2/gl2ext.h
branchbug235_bringup_0
changeset 53 c2ef9095503a
parent 24 a3f46bb01be2
equal deleted inserted replaced
52:39e5f73667ba 53:c2ef9095503a
       
     1 #ifndef __gl2ext_h_
       
     2 #define __gl2ext_h_
       
     3 
       
     4 /* $Revision: 9499 $ on $Date:: 2009-10-30 13:10:08 -0700 #$ */
       
     5 
       
     6 #ifdef __cplusplus
       
     7 extern "C" {
       
     8 #endif
       
     9 
       
    10 /*
       
    11  * This document is licensed under the SGI Free Software B License Version
       
    12  * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
       
    13  */
       
    14 
       
    15 #ifndef GL_APIENTRYP
       
    16 #   define GL_APIENTRYP GL_APIENTRY*
       
    17 #endif
       
    18 
       
    19 /*------------------------------------------------------------------------*
       
    20  * OES extension tokens
       
    21  *------------------------------------------------------------------------*/
       
    22 
       
    23 /* GL_OES_compressed_ETC1_RGB8_texture */
       
    24 #ifndef GL_OES_compressed_ETC1_RGB8_texture
       
    25 #define GL_ETC1_RGB8_OES                                        0x8D64
       
    26 #endif
       
    27 
       
    28 /* GL_OES_compressed_paletted_texture */
       
    29 #ifndef GL_OES_compressed_paletted_texture
       
    30 #define GL_PALETTE4_RGB8_OES                                    0x8B90
       
    31 #define GL_PALETTE4_RGBA8_OES                                   0x8B91
       
    32 #define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
       
    33 #define GL_PALETTE4_RGBA4_OES                                   0x8B93
       
    34 #define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
       
    35 #define GL_PALETTE8_RGB8_OES                                    0x8B95
       
    36 #define GL_PALETTE8_RGBA8_OES                                   0x8B96
       
    37 #define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
       
    38 #define GL_PALETTE8_RGBA4_OES                                   0x8B98
       
    39 #define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
       
    40 #endif
       
    41 
       
    42 /* GL_OES_depth24 */
       
    43 #ifndef GL_OES_depth24
       
    44 #define GL_DEPTH_COMPONENT24_OES                                0x81A6
       
    45 #endif
       
    46 
       
    47 /* GL_OES_depth32 */
       
    48 #ifndef GL_OES_depth32
       
    49 #define GL_DEPTH_COMPONENT32_OES                                0x81A7
       
    50 #endif
       
    51 
       
    52 /* GL_OES_depth_texture */
       
    53 /* No new tokens introduced by this extension. */
       
    54 
       
    55 /* GL_OES_EGL_image */
       
    56 #ifndef GL_OES_EGL_image
       
    57 typedef void* GLeglImageOES;
       
    58 #endif
       
    59 
       
    60 /* GL_OES_get_program_binary */
       
    61 #ifndef GL_OES_get_program_binary
       
    62 #define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
       
    63 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
       
    64 #define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
       
    65 #endif
       
    66 
       
    67 /* GL_OES_mapbuffer */
       
    68 #ifndef GL_OES_mapbuffer
       
    69 #define GL_WRITE_ONLY_OES                                       0x88B9
       
    70 #define GL_BUFFER_ACCESS_OES                                    0x88BB
       
    71 #define GL_BUFFER_MAPPED_OES                                    0x88BC
       
    72 #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
       
    73 #endif
       
    74 
       
    75 /* GL_OES_packed_depth_stencil */
       
    76 #ifndef GL_OES_packed_depth_stencil
       
    77 #define GL_DEPTH_STENCIL_OES                                    0x84F9
       
    78 #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
       
    79 #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
       
    80 #endif
       
    81 
       
    82 /* GL_OES_rgb8_rgba8 */
       
    83 #ifndef GL_OES_rgb8_rgba8
       
    84 #define GL_RGB8_OES                                             0x8051
       
    85 #define GL_RGBA8_OES                                            0x8058
       
    86 #endif
       
    87 
       
    88 /* GL_OES_standard_derivatives */
       
    89 #ifndef GL_OES_standard_derivatives
       
    90 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
       
    91 #endif
       
    92 
       
    93 /* GL_OES_stencil1 */
       
    94 #ifndef GL_OES_stencil1
       
    95 #define GL_STENCIL_INDEX1_OES                                   0x8D46
       
    96 #endif
       
    97 
       
    98 /* GL_OES_stencil4 */
       
    99 #ifndef GL_OES_stencil4
       
   100 #define GL_STENCIL_INDEX4_OES                                   0x8D47
       
   101 #endif
       
   102 
       
   103 /* GL_OES_texture_3D */
       
   104 #ifndef GL_OES_texture_3D
       
   105 #define GL_TEXTURE_WRAP_R_OES                                   0x8072
       
   106 #define GL_TEXTURE_3D_OES                                       0x806F
       
   107 #define GL_TEXTURE_BINDING_3D_OES                               0x806A
       
   108 #define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
       
   109 #define GL_SAMPLER_3D_OES                                       0x8B5F
       
   110 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
       
   111 #endif
       
   112 
       
   113 /* GL_OES_texture_float */
       
   114 /* No new tokens introduced by this extension. */
       
   115 
       
   116 /* GL_OES_texture_float_linear */
       
   117 /* No new tokens introduced by this extension. */
       
   118 
       
   119 /* GL_OES_texture_half_float */
       
   120 #ifndef GL_OES_texture_half_float
       
   121 #define GL_HALF_FLOAT_OES                                       0x8D61
       
   122 #endif
       
   123 
       
   124 /* GL_OES_texture_half_float_linear */
       
   125 /* No new tokens introduced by this extension. */
       
   126 
       
   127 /* GL_OES_texture_npot */
       
   128 /* No new tokens introduced by this extension. */
       
   129 
       
   130 /* GL_OES_vertex_half_float */
       
   131 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
       
   132 
       
   133 /* GL_OES_vertex_type_10_10_10_2 */
       
   134 #ifndef GL_OES_vertex_type_10_10_10_2
       
   135 #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
       
   136 #define GL_INT_10_10_10_2_OES                                   0x8DF7
       
   137 #endif
       
   138 
       
   139 /*------------------------------------------------------------------------*
       
   140  * AMD extension tokens
       
   141  *------------------------------------------------------------------------*/
       
   142 
       
   143 /* GL_AMD_compressed_3DC_texture */
       
   144 #ifndef GL_AMD_compressed_3DC_texture
       
   145 #define GL_3DC_X_AMD                                            0x87F9
       
   146 #define GL_3DC_XY_AMD                                           0x87FA
       
   147 #endif
       
   148 
       
   149 /* GL_AMD_compressed_ATC_texture */
       
   150 #ifndef GL_AMD_compressed_ATC_texture
       
   151 #define GL_ATC_RGB_AMD                                          0x8C92
       
   152 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
       
   153 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
       
   154 #endif
       
   155 
       
   156 /* GL_AMD_performance_monitor */
       
   157 #ifndef GL_AMD_performance_monitor
       
   158 #define GL_COUNTER_TYPE_AMD                                     0x8BC0
       
   159 #define GL_COUNTER_RANGE_AMD                                    0x8BC1
       
   160 #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
       
   161 #define GL_PERCENTAGE_AMD                                       0x8BC3
       
   162 #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
       
   163 #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
       
   164 #define GL_PERFMON_RESULT_AMD                                   0x8BC6
       
   165 #endif
       
   166 
       
   167 /* GL_AMD_program_binary_Z400 */
       
   168 #ifndef GL_AMD_program_binary_Z400
       
   169 #define GL_Z400_BINARY_AMD                                      0x8740
       
   170 #endif
       
   171 
       
   172 /*------------------------------------------------------------------------*
       
   173  * EXT extension tokens
       
   174  *------------------------------------------------------------------------*/
       
   175 
       
   176 /* GL_EXT_blend_minmax */
       
   177 #ifndef GL_EXT_blend_minmax
       
   178 #define GL_MIN_EXT                                              0x8007
       
   179 #define GL_MAX_EXT                                              0x8008
       
   180 #endif
       
   181 
       
   182 /* GL_EXT_discard_framebuffer */
       
   183 #ifndef GL_EXT_discard_framebuffer
       
   184 #define GL_COLOR_EXT                                            0x1800
       
   185 #define GL_DEPTH_EXT                                            0x1801
       
   186 #define GL_STENCIL_EXT                                          0x1802
       
   187 #endif
       
   188 
       
   189 /* GL_EXT_multi_draw_arrays */
       
   190 /* No new tokens introduced by this extension. */
       
   191 
       
   192 /* GL_EXT_read_format_bgra */
       
   193 #ifndef GL_EXT_read_format_bgra
       
   194 #define GL_BGRA_EXT                                             0x80E1
       
   195 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
       
   196 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
       
   197 #endif
       
   198 
       
   199 /* GL_EXT_texture_filter_anisotropic */
       
   200 #ifndef GL_EXT_texture_filter_anisotropic
       
   201 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
       
   202 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
       
   203 #endif
       
   204 
       
   205 /* GL_EXT_texture_format_BGRA8888 */
       
   206 #ifndef GL_EXT_texture_format_BGRA8888
       
   207 #define GL_BGRA_EXT                                             0x80E1
       
   208 #endif
       
   209 
       
   210 /* GL_EXT_texture_type_2_10_10_10_REV */
       
   211 #ifndef GL_EXT_texture_type_2_10_10_10_REV
       
   212 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
       
   213 #endif
       
   214 
       
   215 /*------------------------------------------------------------------------*
       
   216  * IMG extension tokens
       
   217  *------------------------------------------------------------------------*/
       
   218 
       
   219 /* GL_IMG_program_binary */
       
   220 #ifndef GL_IMG_program_binary
       
   221 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
       
   222 #endif
       
   223 
       
   224 /* GL_IMG_read_format */
       
   225 #ifndef GL_IMG_read_format
       
   226 #define GL_BGRA_IMG                                             0x80E1
       
   227 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
       
   228 #endif
       
   229 
       
   230 /* GL_IMG_shader_binary */
       
   231 #ifndef GL_IMG_shader_binary
       
   232 #define GL_SGX_BINARY_IMG                                       0x8C0A
       
   233 #endif
       
   234 
       
   235 /* GL_IMG_texture_compression_pvrtc */
       
   236 #ifndef GL_IMG_texture_compression_pvrtc
       
   237 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
       
   238 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
       
   239 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
       
   240 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
       
   241 #endif
       
   242 
       
   243 /*------------------------------------------------------------------------*
       
   244  * NV extension tokens
       
   245  *------------------------------------------------------------------------*/
       
   246 
       
   247 /* GL_NV_fence */
       
   248 #ifndef GL_NV_fence
       
   249 #define GL_ALL_COMPLETED_NV                                     0x84F2
       
   250 #define GL_FENCE_STATUS_NV                                      0x84F3
       
   251 #define GL_FENCE_CONDITION_NV                                   0x84F4
       
   252 #endif
       
   253 
       
   254 /*------------------------------------------------------------------------*
       
   255  * QCOM extension tokens
       
   256  *------------------------------------------------------------------------*/
       
   257 
       
   258 /* GL_QCOM_driver_control */
       
   259 /* No new tokens introduced by this extension. */
       
   260 
       
   261 /* GL_QCOM_extended_get */
       
   262 #ifndef GL_QCOM_extended_get
       
   263 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
       
   264 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
       
   265 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
       
   266 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
       
   267 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
       
   268 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
       
   269 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
       
   270 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
       
   271 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
       
   272 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
       
   273 #define GL_STATE_RESTORE                                        0x8BDC
       
   274 #endif
       
   275 
       
   276 /* GL_QCOM_extended_get2 */
       
   277 /* No new tokens introduced by this extension. */
       
   278 
       
   279 /* GL_QCOM_perfmon_global_mode */
       
   280 #ifndef GL_QCOM_perfmon_global_mode
       
   281 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
       
   282 #endif
       
   283 
       
   284 /* GL_QCOM_writeonly_rendering */
       
   285 #ifndef GL_QCOM_writeonly_rendering
       
   286 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
       
   287 #endif
       
   288 
       
   289 /*------------------------------------------------------------------------*
       
   290  * End of extension tokens, start of corresponding extension functions
       
   291  *------------------------------------------------------------------------*/
       
   292 
       
   293 /*------------------------------------------------------------------------*
       
   294  * OES extension functions
       
   295  *------------------------------------------------------------------------*/
       
   296 
       
   297 /* GL_OES_compressed_ETC1_RGB8_texture */
       
   298 #ifndef GL_OES_compressed_ETC1_RGB8_texture
       
   299 #define GL_OES_compressed_ETC1_RGB8_texture 1
       
   300 #endif
       
   301 
       
   302 /* GL_OES_compressed_paletted_texture */
       
   303 #ifndef GL_OES_compressed_paletted_texture
       
   304 #define GL_OES_compressed_paletted_texture 1
       
   305 #endif
       
   306 
       
   307 /* GL_OES_depth24 */
       
   308 #ifndef GL_OES_depth24
       
   309 #define GL_OES_depth24 1
       
   310 #endif
       
   311 
       
   312 /* GL_OES_depth32 */
       
   313 #ifndef GL_OES_depth32
       
   314 #define GL_OES_depth32 1
       
   315 #endif
       
   316 
       
   317 /* GL_OES_depth_texture */
       
   318 #ifndef GL_OES_depth_texture
       
   319 #define GL_OES_depth_texture 1
       
   320 #endif
       
   321 
       
   322 /* GL_OES_EGL_image */
       
   323 #ifndef GL_OES_EGL_image
       
   324 #define GL_OES_EGL_image 1
       
   325 #ifdef GL_GLEXT_PROTOTYPES
       
   326 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
       
   327 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
       
   328 #endif
       
   329 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
       
   330 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
       
   331 #endif
       
   332 
       
   333 /* GL_OES_element_index_uint */
       
   334 #ifndef GL_OES_element_index_uint
       
   335 #define GL_OES_element_index_uint 1
       
   336 #endif
       
   337 
       
   338 /* GL_OES_fbo_render_mipmap */
       
   339 #ifndef GL_OES_fbo_render_mipmap
       
   340 #define GL_OES_fbo_render_mipmap 1
       
   341 #endif
       
   342 
       
   343 /* GL_OES_fragment_precision_high */
       
   344 #ifndef GL_OES_fragment_precision_high
       
   345 #define GL_OES_fragment_precision_high 1
       
   346 #endif
       
   347 
       
   348 /* GL_OES_get_program_binary */
       
   349 #ifndef GL_OES_get_program_binary
       
   350 #define GL_OES_get_program_binary 1
       
   351 #ifdef GL_GLEXT_PROTOTYPES
       
   352 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
       
   353 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
       
   354 #endif
       
   355 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
       
   356 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
       
   357 #endif
       
   358 
       
   359 /* GL_OES_mapbuffer */
       
   360 #ifndef GL_OES_mapbuffer
       
   361 #define GL_OES_mapbuffer 1
       
   362 #ifdef GL_GLEXT_PROTOTYPES
       
   363 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
       
   364 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
       
   365 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params);
       
   366 #endif
       
   367 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
       
   368 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
       
   369 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params);
       
   370 #endif
       
   371 
       
   372 /* GL_OES_packed_depth_stencil */
       
   373 #ifndef GL_OES_packed_depth_stencil
       
   374 #define GL_OES_packed_depth_stencil 1
       
   375 #endif
       
   376 
       
   377 /* GL_OES_rgb8_rgba8 */
       
   378 #ifndef GL_OES_rgb8_rgba8
       
   379 #define GL_OES_rgb8_rgba8 1
       
   380 #endif
       
   381 
       
   382 /* GL_OES_standard_derivatives */
       
   383 #ifndef GL_OES_standard_derivatives
       
   384 #define GL_OES_standard_derivatives 1
       
   385 #endif
       
   386 
       
   387 /* GL_OES_stencil1 */
       
   388 #ifndef GL_OES_stencil1
       
   389 #define GL_OES_stencil1 1
       
   390 #endif
       
   391 
       
   392 /* GL_OES_stencil4 */
       
   393 #ifndef GL_OES_stencil4
       
   394 #define GL_OES_stencil4 1
       
   395 #endif
       
   396 
       
   397 /* GL_OES_texture_3D */
       
   398 #ifndef GL_OES_texture_3D
       
   399 #define GL_OES_texture_3D 1
       
   400 #ifdef GL_GLEXT_PROTOTYPES
       
   401 GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
       
   402 GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
       
   403 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
       
   404 GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
       
   405 GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
       
   406 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
       
   407 #endif
       
   408 typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
       
   409 typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
       
   410 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
       
   411 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
       
   412 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
       
   413 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
       
   414 #endif
       
   415 
       
   416 /* GL_OES_texture_float */
       
   417 #ifndef GL_OES_texture_float
       
   418 #define GL_OES_texture_float 1
       
   419 #endif
       
   420 
       
   421 /* GL_OES_texture_float_linear */
       
   422 #ifndef GL_OES_texture_float_linear
       
   423 #define GL_OES_texture_float_linear 1
       
   424 #endif
       
   425 
       
   426 /* GL_OES_texture_half_float */
       
   427 #ifndef GL_OES_texture_half_float
       
   428 #define GL_OES_texture_half_float 1
       
   429 #endif
       
   430 
       
   431 /* GL_OES_texture_half_float_linear */
       
   432 #ifndef GL_OES_texture_half_float_linear
       
   433 #define GL_OES_texture_half_float_linear 1
       
   434 #endif
       
   435 
       
   436 /* GL_OES_texture_npot */
       
   437 #ifndef GL_OES_texture_npot
       
   438 #define GL_OES_texture_npot 1
       
   439 #endif
       
   440 
       
   441 /* GL_OES_vertex_half_float */
       
   442 #ifndef GL_OES_vertex_half_float
       
   443 #define GL_OES_vertex_half_float 1
       
   444 #endif
       
   445 
       
   446 /* GL_OES_vertex_type_10_10_10_2 */
       
   447 #ifndef GL_OES_vertex_type_10_10_10_2
       
   448 #define GL_OES_vertex_type_10_10_10_2 1
       
   449 #endif
       
   450 
       
   451 /*------------------------------------------------------------------------*
       
   452  * AMD extension functions
       
   453  *------------------------------------------------------------------------*/
       
   454 
       
   455 /* GL_AMD_compressed_3DC_texture */
       
   456 #ifndef GL_AMD_compressed_3DC_texture
       
   457 #define GL_AMD_compressed_3DC_texture 1
       
   458 #endif
       
   459 
       
   460 /* GL_AMD_compressed_ATC_texture */
       
   461 #ifndef GL_AMD_compressed_ATC_texture
       
   462 #define GL_AMD_compressed_ATC_texture 1
       
   463 #endif
       
   464 
       
   465 /* AMD_performance_monitor */
       
   466 #ifndef GL_AMD_performance_monitor
       
   467 #define GL_AMD_performance_monitor 1
       
   468 #ifdef GL_GLEXT_PROTOTYPES
       
   469 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
       
   470 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
       
   471 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString);
       
   472 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString);
       
   473 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);
       
   474 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
       
   475 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
       
   476 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
       
   477 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
       
   478 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
       
   479 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
       
   480 #endif
       
   481 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
       
   482 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
       
   483 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString);
       
   484 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString);
       
   485 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
       
   486 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
       
   487 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
       
   488 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
       
   489 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
       
   490 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
       
   491 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
       
   492 #endif
       
   493 
       
   494 /* GL_AMD_program_binary_Z400 */
       
   495 #ifndef GL_AMD_program_binary_Z400
       
   496 #define GL_AMD_program_binary_Z400 1
       
   497 #endif
       
   498 
       
   499 /*------------------------------------------------------------------------*
       
   500  * EXT extension functions
       
   501  *------------------------------------------------------------------------*/
       
   502 
       
   503 /* GL_EXT_blend_minmax */
       
   504 #ifndef GL_EXT_blend_minmax
       
   505 #define GL_EXT_blend_minmax 1
       
   506 #endif
       
   507 
       
   508 /* GL_EXT_discard_framebuffer */
       
   509 #ifndef GL_EXT_discard_framebuffer
       
   510 #define GL_EXT_discard_framebuffer 1
       
   511 #ifdef GL_GLEXT_PROTOTYPES
       
   512 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
       
   513 #endif
       
   514 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
       
   515 #endif
       
   516 
       
   517 #ifndef GL_EXT_multi_draw_arrays
       
   518 #define GL_EXT_multi_draw_arrays 1
       
   519 #ifdef GL_GLEXT_PROTOTYPES
       
   520 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
       
   521 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
       
   522 #endif /* GL_GLEXT_PROTOTYPES */
       
   523 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
       
   524 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
       
   525 #endif
       
   526 
       
   527 /* GL_EXT_read_format_bgra */
       
   528 #ifndef GL_EXT_read_format_bgra
       
   529 #define GL_EXT_read_format_bgra 1
       
   530 #endif
       
   531 
       
   532 /* GL_EXT_texture_filter_anisotropic */
       
   533 #ifndef GL_EXT_texture_filter_anisotropic
       
   534 #define GL_EXT_texture_filter_anisotropic 1
       
   535 #endif
       
   536 
       
   537 /* GL_EXT_texture_format_BGRA8888 */
       
   538 #ifndef GL_EXT_texture_format_BGRA8888
       
   539 #define GL_EXT_texture_format_BGRA8888 1
       
   540 #endif
       
   541 
       
   542 /* GL_EXT_texture_type_2_10_10_10_REV */
       
   543 #ifndef GL_EXT_texture_type_2_10_10_10_REV
       
   544 #define GL_EXT_texture_type_2_10_10_10_REV 1
       
   545 #endif
       
   546 
       
   547 /*------------------------------------------------------------------------*
       
   548  * IMG extension functions
       
   549  *------------------------------------------------------------------------*/
       
   550 
       
   551 /* GL_IMG_program_binary */
       
   552 #ifndef GL_IMG_program_binary
       
   553 #define GL_IMG_program_binary 1
       
   554 #endif
       
   555 
       
   556 /* GL_IMG_read_format */
       
   557 #ifndef GL_IMG_read_format
       
   558 #define GL_IMG_read_format 1
       
   559 #endif
       
   560 
       
   561 /* GL_IMG_shader_binary */
       
   562 #ifndef GL_IMG_shader_binary
       
   563 #define GL_IMG_shader_binary 1
       
   564 #endif
       
   565 
       
   566 /* GL_IMG_texture_compression_pvrtc */
       
   567 #ifndef GL_IMG_texture_compression_pvrtc
       
   568 #define GL_IMG_texture_compression_pvrtc 1
       
   569 #endif
       
   570 
       
   571 /*------------------------------------------------------------------------*
       
   572  * NV extension functions
       
   573  *------------------------------------------------------------------------*/
       
   574 
       
   575 /* GL_NV_fence */
       
   576 #ifndef GL_NV_fence
       
   577 #define GL_NV_fence 1
       
   578 #ifdef GL_GLEXT_PROTOTYPES
       
   579 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
       
   580 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
       
   581 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
       
   582 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
       
   583 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
       
   584 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
       
   585 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
       
   586 #endif
       
   587 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
       
   588 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
       
   589 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
       
   590 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
       
   591 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
       
   592 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
       
   593 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
       
   594 #endif
       
   595 
       
   596 /*------------------------------------------------------------------------*
       
   597  * QCOM extension functions
       
   598  *------------------------------------------------------------------------*/
       
   599 
       
   600 /* GL_QCOM_driver_control */
       
   601 #ifndef GL_QCOM_driver_control
       
   602 #define GL_QCOM_driver_control 1
       
   603 #ifdef GL_GLEXT_PROTOTYPES
       
   604 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
       
   605 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString);
       
   606 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
       
   607 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
       
   608 #endif
       
   609 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
       
   610 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString);
       
   611 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
       
   612 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
       
   613 #endif
       
   614 
       
   615 /* GL_QCOM_extended_get */
       
   616 #ifndef GL_QCOM_extended_get
       
   617 #define GL_QCOM_extended_get 1
       
   618 #ifdef GL_GLEXT_PROTOTYPES
       
   619 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
       
   620 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
       
   621 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
       
   622 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
       
   623 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
       
   624 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
       
   625 GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
       
   626 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params);
       
   627 #endif
       
   628 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
       
   629 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
       
   630 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
       
   631 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
       
   632 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
       
   633 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
       
   634 typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
       
   635 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params);
       
   636 #endif
       
   637 
       
   638 /* GL_QCOM_extended_get2 */
       
   639 #ifndef GL_QCOM_extended_get2
       
   640 #define GL_QCOM_extended_get2 1
       
   641 #ifdef GL_GLEXT_PROTOTYPES
       
   642 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
       
   643 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
       
   644 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
       
   645 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, char *source, GLint *length);
       
   646 #endif
       
   647 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
       
   648 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
       
   649 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
       
   650 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, char *source, GLint *length);
       
   651 #endif
       
   652 
       
   653 /* GL_QCOM_perfmon_global_mode */
       
   654 #ifndef GL_QCOM_perfmon_global_mode
       
   655 #define GL_QCOM_perfmon_global_mode 1
       
   656 #endif
       
   657 
       
   658 /* GL_QCOM_writeonly_rendering */
       
   659 #ifndef GL_QCOM_writeonly_rendering
       
   660 #define GL_QCOM_writeonly_rendering 1
       
   661 #endif
       
   662 
       
   663 #ifdef __cplusplus
       
   664 }
       
   665 #endif
       
   666 
       
   667 #endif /* __gl2ext_h_ */