Home | History | Annotate | Download | only in GLES2
      1 #ifndef __gl2ext_h_
      2 #define __gl2ext_h_
      3 
      4 /* $Revision: 8271 $ on $Date:: 2009-05-21 09:33:40 -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_texture3D */
    104 #ifndef GL_OES_texture3D
    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_half_float */
    114 #ifndef GL_OES_texture_half_float
    115 #define GL_HALF_FLOAT_OES                                       0x8D61
    116 #endif
    117 
    118 /* GL_OES_vertex_half_float */
    119 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
    120 
    121 /* GL_OES_vertex_type_10_10_10_2 */
    122 #ifndef GL_OES_vertex_type_10_10_10_2
    123 #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
    124 #define GL_INT_10_10_10_2_OES                                   0x8DF7
    125 #endif
    126 
    127 /*------------------------------------------------------------------------*
    128  * AMD extension tokens
    129  *------------------------------------------------------------------------*/
    130 
    131 /* GL_AMD_compressed_3DC_texture */
    132 #ifndef GL_AMD_compressed_3DC_texture
    133 #define GL_3DC_X_AMD                                            0x87F9
    134 #define GL_3DC_XY_AMD                                           0x87FA
    135 #endif
    136 
    137 /* GL_AMD_compressed_ATC_texture */
    138 #ifndef GL_AMD_compressed_ATC_texture
    139 #define GL_ATC_RGB_AMD                                          0x8C92
    140 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
    141 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
    142 #endif
    143 
    144 /* GL_AMD_program_binary_Z400 */
    145 #ifndef GL_AMD_program_binary_Z400
    146 #define GL_Z400_BINARY_AMD                                      0x8740
    147 #endif
    148 
    149 /* GL_AMD_performance_monitor */
    150 #ifndef GL_AMD_performance_monitor
    151 #define GL_COUNTER_TYPE_AMD                                     0x8BC0
    152 #define GL_COUNTER_RANGE_AMD                                    0x8BC1
    153 #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
    154 #define GL_PERCENTAGE_AMD                                       0x8BC3
    155 #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
    156 #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
    157 #define GL_PERFMON_RESULT_AMD                                   0x8BC6
    158 #endif
    159 
    160 /*------------------------------------------------------------------------*
    161  * EXT extension tokens
    162  *------------------------------------------------------------------------*/
    163 
    164 /* GL_EXT_texture_filter_anisotropic */
    165 #ifndef GL_EXT_texture_filter_anisotropic
    166 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
    167 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
    168 #endif
    169 
    170 /* GL_EXT_texture_type_2_10_10_10_REV */
    171 #ifndef GL_EXT_texture_type_2_10_10_10_REV
    172 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
    173 #endif
    174 
    175 /* GL_EXT_texture_format_BGRA8888 */
    176 #ifndef GL_EXT_texture_format_BGRA8888
    177 #define GL_BGRA                                                 0x80E1
    178 #endif
    179 
    180 /*------------------------------------------------------------------------*
    181  * IMG extension tokens
    182  *------------------------------------------------------------------------*/
    183 
    184 /* GL_IMG_read_format */
    185 #ifndef GL_IMG_read_format
    186 #define GL_BGRA                                                 0x80E1
    187 #define GL_UNSIGNED_SHORT_4_4_4_4_REV                           0x8365
    188 #define GL_UNSIGNED_SHORT_1_5_5_5_REV                           0x8366
    189 #endif
    190 
    191 /* GL_IMG_texture_compression_pvrtc */
    192 #ifndef GL_IMG_texture_compression_pvrtc
    193 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
    194 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
    195 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
    196 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
    197 #endif
    198 
    199 /*------------------------------------------------------------------------*
    200  * NV extension tokens
    201  *------------------------------------------------------------------------*/
    202 
    203 /* GL_NV_fence */
    204 #ifndef GL_NV_fence
    205 #define GL_ALL_COMPLETED_NV                                     0x84F2
    206 #define GL_FENCE_STATUS_NV                                      0x84F3
    207 #define GL_FENCE_CONDITION_NV                                   0x84F4
    208 #endif
    209 
    210 /*------------------------------------------------------------------------*
    211  * QCOM extension tokens
    212  *------------------------------------------------------------------------*/
    213 
    214 /* GL_QCOM_driver_control */
    215 /* No new tokens introduced by this extension. */
    216 
    217 /* GL_QCOM_perfmon_global_mode */
    218 #ifndef GL_QCOM_perfmon_global_mode
    219 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
    220 #endif
    221 
    222 /*------------------------------------------------------------------------*
    223  * End of extension tokens, start of corresponding extension functions
    224  *------------------------------------------------------------------------*/
    225 
    226 /*------------------------------------------------------------------------*
    227  * OES extension functions
    228  *------------------------------------------------------------------------*/
    229 
    230 /* GL_OES_compressed_ETC1_RGB8_texture */
    231 #ifndef GL_OES_compressed_ETC1_RGB8_texture
    232 #define GL_OES_compressed_ETC1_RGB8_texture 1
    233 #endif
    234 
    235 /* GL_OES_compressed_paletted_texture */
    236 #ifndef GL_OES_compressed_paletted_texture
    237 #define GL_OES_compressed_paletted_texture 1
    238 #endif
    239 
    240 /* GL_OES_EGL_image */
    241 #ifndef GL_OES_EGL_image
    242 #define GL_OES_EGL_image 1
    243 #ifdef GL_GLEXT_PROTOTYPES
    244 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
    245 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
    246 #endif
    247 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
    248 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
    249 #endif
    250 
    251 /* GL_OES_depth24 */
    252 #ifndef GL_OES_depth24
    253 #define GL_OES_depth24 1
    254 #endif
    255 
    256 /* GL_OES_depth32 */
    257 #ifndef GL_OES_depth32
    258 #define GL_OES_depth32 1
    259 #endif
    260 
    261 /* GL_OES_depth_texture */
    262 #ifndef GL_OES_depth_texture
    263 #define GL_OES_depth_texture 1
    264 #endif
    265 
    266 /* GL_OES_element_index_uint */
    267 #ifndef GL_OES_element_index_uint
    268 #define GL_OES_element_index_uint 1
    269 #endif
    270 
    271 /* GL_OES_fbo_render_mipmap */
    272 #ifndef GL_OES_fbo_render_mipmap
    273 #define GL_OES_fbo_render_mipmap 1
    274 #endif
    275 
    276 /* GL_OES_fragment_precision_high */
    277 #ifndef GL_OES_fragment_precision_high
    278 #define GL_OES_fragment_precision_high 1
    279 #endif
    280 
    281 /* GL_OES_get_program_binary */
    282 #ifndef GL_OES_get_program_binary
    283 #define GL_OES_get_program_binary 1
    284 #ifdef GL_GLEXT_PROTOTYPES
    285 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
    286 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
    287 #endif
    288 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
    289 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
    290 #endif
    291 
    292 /* GL_OES_mapbuffer */
    293 #ifndef GL_OES_mapbuffer
    294 #define GL_OES_mapbuffer 1
    295 #ifdef GL_GLEXT_PROTOTYPES
    296 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
    297 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
    298 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params);
    299 #endif
    300 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
    301 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
    302 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params);
    303 #endif
    304 
    305 /* GL_OES_packed_depth_stencil */
    306 #ifndef GL_OES_packed_depth_stencil
    307 #define GL_OES_packed_depth_stencil 1
    308 #endif
    309 
    310 /* GL_OES_rgb8_rgba8 */
    311 #ifndef GL_OES_rgb8_rgba8
    312 #define GL_OES_rgb8_rgba8 1
    313 #endif
    314 
    315 /* GL_OES_standard_derivatives */
    316 #ifndef GL_OES_standard_derivatives
    317 #define GL_OES_standard_derivatives 1
    318 #endif
    319 
    320 /* GL_OES_stencil1 */
    321 #ifndef GL_OES_stencil1
    322 #define GL_OES_stencil1 1
    323 #endif
    324 
    325 /* GL_OES_stencil4 */
    326 #ifndef GL_OES_stencil4
    327 #define GL_OES_stencil4 1
    328 #endif
    329 
    330 /* GL_OES_texture_3D */
    331 #ifndef GL_OES_texture_3D
    332 #define GL_OES_texture_3D 1
    333 #ifdef GL_GLEXT_PROTOTYPES
    334 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);
    335 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);
    336 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    337 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);
    338 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);
    339 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
    340 #endif
    341 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);
    342 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);
    343 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    344 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
    345 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);
    346 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
    347 #endif
    348 
    349 /* GL_OES_texture_float_linear */
    350 #ifndef GL_OES_texture_float_linear
    351 #define GL_OES_texture_float_linear 1
    352 #endif
    353 
    354 /* GL_OES_texture_half_float_linear */
    355 #ifndef GL_OES_texture_half_float_linear
    356 #define GL_OES_texture_half_float_linear 1
    357 #endif
    358 
    359 /* GL_OES_texture_float */
    360 #ifndef GL_OES_texture_float
    361 #define GL_OES_texture_float 1
    362 #endif
    363 
    364 /* GL_OES_texture_half_float */
    365 #ifndef GL_OES_texture_half_float
    366 #define GL_OES_texture_half_float 1
    367 #endif
    368 
    369 /* GL_OES_texture_npot */
    370 #ifndef GL_OES_texture_npot
    371 #define GL_OES_texture_npot 1
    372 #endif
    373 
    374 /* GL_OES_vertex_half_float */
    375 #ifndef GL_OES_vertex_half_float
    376 #define GL_OES_vertex_half_float 1
    377 #endif
    378 
    379 /* GL_OES_vertex_type_10_10_10_2 */
    380 #ifndef GL_OES_vertex_type_10_10_10_2
    381 #define GL_OES_vertex_type_10_10_10_2 1
    382 #endif
    383 
    384 /*------------------------------------------------------------------------*
    385  * AMD extension functions
    386  *------------------------------------------------------------------------*/
    387 
    388 /* GL_AMD_compressed_3DC_texture */
    389 #ifndef GL_AMD_compressed_3DC_texture
    390 #define GL_AMD_compressed_3DC_texture 1
    391 #endif
    392 
    393 /* GL_AMD_compressed_ATC_texture */
    394 #ifndef GL_AMD_compressed_ATC_texture
    395 #define GL_AMD_compressed_ATC_texture 1
    396 #endif
    397 
    398 /* GL_AMD_program_binary_Z400 */
    399 #ifndef GL_AMD_program_binary_Z400
    400 #define GL_AMD_program_binary_Z400 1
    401 #endif
    402 
    403 /* AMD_performance_monitor */
    404 #ifndef GL_AMD_performance_monitor
    405 #define GL_AMD_performance_monitor 1
    406 #ifdef GL_GLEXT_PROTOTYPES
    407 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
    408 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
    409 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString);
    410 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString);
    411 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);
    412 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
    413 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
    414 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
    415 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
    416 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
    417 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
    418 #endif
    419 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
    420 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
    421 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString);
    422 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString);
    423 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
    424 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
    425 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
    426 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
    427 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
    428 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
    429 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
    430 #endif
    431 
    432 /*------------------------------------------------------------------------*
    433  * EXT extension functions
    434  *------------------------------------------------------------------------*/
    435 
    436 /* GL_EXT_texture_filter_anisotropic */
    437 #ifndef GL_EXT_texture_filter_anisotropic
    438 #define GL_EXT_texture_filter_anisotropic 1
    439 #endif
    440 
    441 /* GL_EXT_texture_type_2_10_10_10_REV */
    442 #ifndef GL_EXT_texture_type_2_10_10_10_REV
    443 #define GL_EXT_texture_type_2_10_10_10_REV 1
    444 #endif
    445 
    446 /* GL_EXT_texture_format_BGRA8888 */
    447 #ifndef GL_EXT_texture_format_BGRA8888
    448 #define GL_EXT_texture_format_BGRA8888 1
    449 #endif
    450 
    451 /*------------------------------------------------------------------------*
    452  * IMG extension functions
    453  *------------------------------------------------------------------------*/
    454 
    455 /* GL_IMG_read_format */
    456 #ifndef GL_IMG_read_format
    457 #define GL_IMG_read_format 1
    458 #endif
    459 
    460 /* GL_IMG_texture_compression_pvrtc */
    461 #ifndef GL_IMG_texture_compression_pvrtc
    462 #define GL_IMG_texture_compression_pvrtc 1
    463 #endif
    464 
    465 /*------------------------------------------------------------------------*
    466  * NV extension functions
    467  *------------------------------------------------------------------------*/
    468 
    469 /* GL_NV_fence */
    470 #ifndef GL_NV_fence
    471 #define GL_NV_fence 1
    472 #ifdef GL_GLEXT_PROTOTYPES
    473 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
    474 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
    475 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
    476 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
    477 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
    478 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
    479 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
    480 #endif
    481 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
    482 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
    483 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
    484 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
    485 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
    486 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
    487 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
    488 #endif
    489 
    490 /*------------------------------------------------------------------------*
    491  * QCOM extension functions
    492  *------------------------------------------------------------------------*/
    493 
    494 /* GL_QCOM_driver_control */
    495 #ifndef GL_QCOM_driver_control
    496 #define GL_QCOM_driver_control 1
    497 #ifdef GL_GLEXT_PROTOTYPES
    498 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
    499 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString);
    500 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
    501 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
    502 #endif
    503 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
    504 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString);
    505 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
    506 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
    507 #endif
    508 
    509 /* GL_QCOM_perfmon_global_mode */
    510 #ifndef GL_QCOM_perfmon_global_mode
    511 #define GL_QCOM_perfmon_global_mode 1
    512 #endif
    513 
    514 #ifdef __cplusplus
    515 }
    516 #endif
    517 
    518 #endif /* __gl2ext_h_ */
    519