Home | History | Annotate | Download | only in GLES2
      1 #ifndef __gl2ext_h_
      2 #define __gl2ext_h_
      3 
      4 /* $Revision: 13239 $ on $Date:: 2010-12-17 15:13:56 -0800 #$ */
      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_EGL_image_external */
     61 #ifndef GL_OES_EGL_image_external
     62 /* GLeglImageOES defined in GL_OES_EGL_image already. */
     63 #define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
     64 #define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
     65 #define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
     66 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
     67 #endif
     68 
     69 /* GL_OES_element_index_uint */
     70 #ifndef GL_OES_element_index_uint
     71 #define GL_UNSIGNED_INT                                         0x1405
     72 #endif
     73 
     74 /* GL_OES_get_program_binary */
     75 #ifndef GL_OES_get_program_binary
     76 #define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
     77 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
     78 #define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
     79 #endif
     80 
     81 /* GL_OES_mapbuffer */
     82 #ifndef GL_OES_mapbuffer
     83 #define GL_WRITE_ONLY_OES                                       0x88B9
     84 #define GL_BUFFER_ACCESS_OES                                    0x88BB
     85 #define GL_BUFFER_MAPPED_OES                                    0x88BC
     86 #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
     87 #endif
     88 
     89 /* GL_OES_packed_depth_stencil */
     90 #ifndef GL_OES_packed_depth_stencil
     91 #define GL_DEPTH_STENCIL_OES                                    0x84F9
     92 #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
     93 #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
     94 #endif
     95 
     96 /* GL_OES_rgb8_rgba8 */
     97 #ifndef GL_OES_rgb8_rgba8
     98 #define GL_RGB8_OES                                             0x8051
     99 #define GL_RGBA8_OES                                            0x8058
    100 #endif
    101 
    102 /* GL_OES_standard_derivatives */
    103 #ifndef GL_OES_standard_derivatives
    104 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
    105 #endif
    106 
    107 /* GL_OES_stencil1 */
    108 #ifndef GL_OES_stencil1
    109 #define GL_STENCIL_INDEX1_OES                                   0x8D46
    110 #endif
    111 
    112 /* GL_OES_stencil4 */
    113 #ifndef GL_OES_stencil4
    114 #define GL_STENCIL_INDEX4_OES                                   0x8D47
    115 #endif
    116 
    117 /* GL_OES_texture_3D */
    118 #ifndef GL_OES_texture_3D
    119 #define GL_TEXTURE_WRAP_R_OES                                   0x8072
    120 #define GL_TEXTURE_3D_OES                                       0x806F
    121 #define GL_TEXTURE_BINDING_3D_OES                               0x806A
    122 #define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
    123 #define GL_SAMPLER_3D_OES                                       0x8B5F
    124 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
    125 #endif
    126 
    127 /* GL_OES_texture_float */
    128 /* No new tokens introduced by this extension. */
    129 
    130 /* GL_OES_texture_float_linear */
    131 /* No new tokens introduced by this extension. */
    132 
    133 /* GL_OES_texture_half_float */
    134 #ifndef GL_OES_texture_half_float
    135 #define GL_HALF_FLOAT_OES                                       0x8D61
    136 #endif
    137 
    138 /* GL_OES_texture_half_float_linear */
    139 /* No new tokens introduced by this extension. */
    140 
    141 /* GL_OES_texture_npot */
    142 /* No new tokens introduced by this extension. */
    143 
    144 /* GL_OES_vertex_array_object */
    145 #ifndef GL_OES_vertex_array_object
    146 #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
    147 #endif
    148 
    149 /* GL_OES_vertex_half_float */
    150 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
    151 
    152 /* GL_OES_vertex_type_10_10_10_2 */
    153 #ifndef GL_OES_vertex_type_10_10_10_2
    154 #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
    155 #define GL_INT_10_10_10_2_OES                                   0x8DF7
    156 #endif
    157 
    158 /*------------------------------------------------------------------------*
    159  * AMD extension tokens
    160  *------------------------------------------------------------------------*/
    161 
    162 /* GL_AMD_compressed_3DC_texture */
    163 #ifndef GL_AMD_compressed_3DC_texture
    164 #define GL_3DC_X_AMD                                            0x87F9
    165 #define GL_3DC_XY_AMD                                           0x87FA
    166 #endif
    167 
    168 /* GL_AMD_compressed_ATC_texture */
    169 #ifndef GL_AMD_compressed_ATC_texture
    170 #define GL_ATC_RGB_AMD                                          0x8C92
    171 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
    172 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
    173 #endif
    174 
    175 /* GL_AMD_performance_monitor */
    176 #ifndef GL_AMD_performance_monitor
    177 #define GL_COUNTER_TYPE_AMD                                     0x8BC0
    178 #define GL_COUNTER_RANGE_AMD                                    0x8BC1
    179 #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
    180 #define GL_PERCENTAGE_AMD                                       0x8BC3
    181 #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
    182 #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
    183 #define GL_PERFMON_RESULT_AMD                                   0x8BC6
    184 #endif
    185 
    186 /* GL_AMD_program_binary_Z400 */
    187 #ifndef GL_AMD_program_binary_Z400
    188 #define GL_Z400_BINARY_AMD                                      0x8740
    189 #endif
    190 
    191 /*------------------------------------------------------------------------*
    192  * ANGLE extension tokens
    193  *------------------------------------------------------------------------*/
    194 
    195 /* GL_ANGLE_framebuffer_blit */
    196 #ifndef GL_ANGLE_framebuffer_blit
    197 #define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
    198 #define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
    199 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
    200 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
    201 #endif
    202 
    203 /* GL_ANGLE_framebuffer_multisample */
    204 #ifndef GL_ANGLE_framebuffer_multisample
    205 #define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
    206 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
    207 #define GL_MAX_SAMPLES_ANGLE                                    0x8D57
    208 #endif
    209 
    210 /*------------------------------------------------------------------------*
    211  * APPLE extension tokens
    212  *------------------------------------------------------------------------*/
    213 
    214 /* GL_APPLE_rgb_422 */
    215 #ifndef GL_APPLE_rgb_422
    216 #define GL_RGB_422_APPLE                                        0x8A1F
    217 #define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
    218 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
    219 #endif
    220 
    221 /* GL_APPLE_framebuffer_multisample */
    222 #ifndef GL_APPLE_framebuffer_multisample
    223 #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
    224 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
    225 #define GL_MAX_SAMPLES_APPLE                                    0x8D57
    226 #define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
    227 #define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
    228 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
    229 #define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
    230 #endif
    231 
    232 /* GL_APPLE_texture_format_BGRA8888 */
    233 #ifndef GL_APPLE_texture_format_BGRA8888
    234 #define GL_BGRA_EXT                                             0x80E1
    235 #endif
    236 
    237 /* GL_APPLE_texture_max_level */
    238 #ifndef GL_APPLE_texture_max_level
    239 #define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
    240 #endif
    241 
    242 /*------------------------------------------------------------------------*
    243  * ARM extension tokens
    244  *------------------------------------------------------------------------*/
    245 
    246 /* GL_ARM_mali_shader_binary */
    247 #ifndef GL_ARM_mali_shader_binary
    248 #define GL_MALI_SHADER_BINARY_ARM                               0x8F60
    249 #endif
    250 
    251 /* GL_ARM_rgba8 */
    252 /* No new tokens introduced by this extension. */
    253 
    254 /*------------------------------------------------------------------------*
    255  * EXT extension tokens
    256  *------------------------------------------------------------------------*/
    257 
    258 /* GL_EXT_blend_minmax */
    259 #ifndef GL_EXT_blend_minmax
    260 #define GL_MIN_EXT                                              0x8007
    261 #define GL_MAX_EXT                                              0x8008
    262 #endif
    263 
    264 /* GL_EXT_discard_framebuffer */
    265 #ifndef GL_EXT_discard_framebuffer
    266 #define GL_COLOR_EXT                                            0x1800
    267 #define GL_DEPTH_EXT                                            0x1801
    268 #define GL_STENCIL_EXT                                          0x1802
    269 #endif
    270 
    271 /* GL_EXT_multi_draw_arrays */
    272 /* No new tokens introduced by this extension. */
    273 
    274 /* GL_EXT_read_format_bgra */
    275 #ifndef GL_EXT_read_format_bgra
    276 #define GL_BGRA_EXT                                             0x80E1
    277 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
    278 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
    279 #endif
    280 
    281 /* GL_EXT_texture_filter_anisotropic */
    282 #ifndef GL_EXT_texture_filter_anisotropic
    283 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
    284 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
    285 #endif
    286 
    287 /* GL_EXT_texture_format_BGRA8888 */
    288 #ifndef GL_EXT_texture_format_BGRA8888
    289 #define GL_BGRA_EXT                                             0x80E1
    290 #endif
    291 
    292 /* GL_EXT_texture_type_2_10_10_10_REV */
    293 #ifndef GL_EXT_texture_type_2_10_10_10_REV
    294 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
    295 #endif
    296 
    297 /* GL_EXT_texture_compression_dxt1 */
    298 #ifndef GL_EXT_texture_compression_dxt1
    299 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
    300 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
    301 #endif
    302 
    303 /* GL_EXT_shader_texture_lod */
    304 /* No new tokens introduced by this extension. */
    305 
    306 /*------------------------------------------------------------------------*
    307  * IMG extension tokens
    308  *------------------------------------------------------------------------*/
    309 
    310 /* GL_IMG_program_binary */
    311 #ifndef GL_IMG_program_binary
    312 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
    313 #endif
    314 
    315 /* GL_IMG_read_format */
    316 #ifndef GL_IMG_read_format
    317 #define GL_BGRA_IMG                                             0x80E1
    318 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
    319 #endif
    320 
    321 /* GL_IMG_shader_binary */
    322 #ifndef GL_IMG_shader_binary
    323 #define GL_SGX_BINARY_IMG                                       0x8C0A
    324 #endif
    325 
    326 /* GL_IMG_texture_compression_pvrtc */
    327 #ifndef GL_IMG_texture_compression_pvrtc
    328 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
    329 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
    330 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
    331 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
    332 #endif
    333 
    334 /* GL_IMG_multisampled_render_to_texture */
    335 #ifndef GL_IMG_multisampled_render_to_texture
    336 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
    337 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
    338 #define GL_MAX_SAMPLES_IMG                                      0x9135
    339 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
    340 #endif
    341 
    342 /*------------------------------------------------------------------------*
    343  * NV extension tokens
    344  *------------------------------------------------------------------------*/
    345 
    346 /* GL_NV_fence */
    347 #ifndef GL_NV_fence
    348 #define GL_ALL_COMPLETED_NV                                     0x84F2
    349 #define GL_FENCE_STATUS_NV                                      0x84F3
    350 #define GL_FENCE_CONDITION_NV                                   0x84F4
    351 #endif
    352 
    353 /* GL_NV_coverage_sample */
    354 #ifndef GL_NV_coverage_sample
    355 #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
    356 #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
    357 #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
    358 #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
    359 #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
    360 #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
    361 #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
    362 #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
    363 #define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
    364 #endif
    365 
    366 /* GL_NV_depth_nonlinear */
    367 #ifndef GL_NV_depth_nonlinear
    368 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
    369 #endif
    370 
    371 /*------------------------------------------------------------------------*
    372  * QCOM extension tokens
    373  *------------------------------------------------------------------------*/
    374 
    375 /* GL_QCOM_driver_control */
    376 /* No new tokens introduced by this extension. */
    377 
    378 /* GL_QCOM_extended_get */
    379 #ifndef GL_QCOM_extended_get
    380 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
    381 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
    382 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
    383 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
    384 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
    385 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
    386 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
    387 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
    388 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
    389 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
    390 #define GL_STATE_RESTORE                                        0x8BDC
    391 #endif
    392 
    393 /* GL_QCOM_extended_get2 */
    394 /* No new tokens introduced by this extension. */
    395 
    396 /* GL_QCOM_perfmon_global_mode */
    397 #ifndef GL_QCOM_perfmon_global_mode
    398 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
    399 #endif
    400 
    401 /* GL_QCOM_writeonly_rendering */
    402 #ifndef GL_QCOM_writeonly_rendering
    403 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
    404 #endif
    405 
    406 /* GL_QCOM_tiled_rendering */
    407 #ifndef GL_QCOM_tiled_rendering
    408 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
    409 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
    410 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
    411 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
    412 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
    413 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
    414 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
    415 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
    416 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
    417 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
    418 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
    419 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
    420 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
    421 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
    422 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
    423 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
    424 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
    425 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
    426 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
    427 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
    428 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
    429 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
    430 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
    431 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
    432 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
    433 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
    434 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
    435 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
    436 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
    437 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
    438 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
    439 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
    440 #endif
    441 
    442 /*------------------------------------------------------------------------*
    443  * VIV extension tokens
    444  *------------------------------------------------------------------------*/
    445 
    446 /* GL_VIV_shader_binary */
    447 #ifndef GL_VIV_shader_binary
    448 #define GL_SHADER_BINARY_VIV                                    0x8FC4
    449 #endif
    450 
    451 /*------------------------------------------------------------------------*
    452  * End of extension tokens, start of corresponding extension functions
    453  *------------------------------------------------------------------------*/
    454 
    455 /*------------------------------------------------------------------------*
    456  * OES extension functions
    457  *------------------------------------------------------------------------*/
    458 
    459 /* GL_OES_compressed_ETC1_RGB8_texture */
    460 #ifndef GL_OES_compressed_ETC1_RGB8_texture
    461 #define GL_OES_compressed_ETC1_RGB8_texture 1
    462 #endif
    463 
    464 /* GL_OES_compressed_paletted_texture */
    465 #ifndef GL_OES_compressed_paletted_texture
    466 #define GL_OES_compressed_paletted_texture 1
    467 #endif
    468 
    469 /* GL_OES_depth24 */
    470 #ifndef GL_OES_depth24
    471 #define GL_OES_depth24 1
    472 #endif
    473 
    474 /* GL_OES_depth32 */
    475 #ifndef GL_OES_depth32
    476 #define GL_OES_depth32 1
    477 #endif
    478 
    479 /* GL_OES_depth_texture */
    480 #ifndef GL_OES_depth_texture
    481 #define GL_OES_depth_texture 1
    482 #endif
    483 
    484 /* GL_OES_EGL_image */
    485 #ifndef GL_OES_EGL_image
    486 #define GL_OES_EGL_image 1
    487 #ifdef GL_GLEXT_PROTOTYPES
    488 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
    489 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
    490 #endif
    491 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
    492 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
    493 #endif
    494 
    495 /* GL_OES_EGL_image_external */
    496 #ifndef GL_OES_EGL_image_external
    497 #define GL_OES_EGL_image_external 1
    498 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
    499 #endif
    500 
    501 /* GL_OES_element_index_uint */
    502 #ifndef GL_OES_element_index_uint
    503 #define GL_OES_element_index_uint 1
    504 #endif
    505 
    506 /* GL_OES_fbo_render_mipmap */
    507 #ifndef GL_OES_fbo_render_mipmap
    508 #define GL_OES_fbo_render_mipmap 1
    509 #endif
    510 
    511 /* GL_OES_fragment_precision_high */
    512 #ifndef GL_OES_fragment_precision_high
    513 #define GL_OES_fragment_precision_high 1
    514 #endif
    515 
    516 /* GL_OES_get_program_binary */
    517 #ifndef GL_OES_get_program_binary
    518 #define GL_OES_get_program_binary 1
    519 #ifdef GL_GLEXT_PROTOTYPES
    520 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
    521 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
    522 #endif
    523 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
    524 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
    525 #endif
    526 
    527 /* GL_OES_mapbuffer */
    528 #ifndef GL_OES_mapbuffer
    529 #define GL_OES_mapbuffer 1
    530 #ifdef GL_GLEXT_PROTOTYPES
    531 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
    532 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
    533 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
    534 #endif
    535 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
    536 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
    537 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
    538 #endif
    539 
    540 /* GL_OES_packed_depth_stencil */
    541 #ifndef GL_OES_packed_depth_stencil
    542 #define GL_OES_packed_depth_stencil 1
    543 #endif
    544 
    545 /* GL_OES_rgb8_rgba8 */
    546 #ifndef GL_OES_rgb8_rgba8
    547 #define GL_OES_rgb8_rgba8 1
    548 #endif
    549 
    550 /* GL_OES_standard_derivatives */
    551 #ifndef GL_OES_standard_derivatives
    552 #define GL_OES_standard_derivatives 1
    553 #endif
    554 
    555 /* GL_OES_stencil1 */
    556 #ifndef GL_OES_stencil1
    557 #define GL_OES_stencil1 1
    558 #endif
    559 
    560 /* GL_OES_stencil4 */
    561 #ifndef GL_OES_stencil4
    562 #define GL_OES_stencil4 1
    563 #endif
    564 
    565 /* GL_OES_texture_3D */
    566 #ifndef GL_OES_texture_3D
    567 #define GL_OES_texture_3D 1
    568 #ifdef GL_GLEXT_PROTOTYPES
    569 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 GLvoid* pixels);
    570 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 GLvoid* pixels);
    571 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    572 GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
    573 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 GLvoid* data);
    574 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
    575 #endif
    576 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);
    577 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 GLvoid* pixels);
    578 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    579 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
    580 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 GLvoid* data);
    581 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
    582 #endif
    583 
    584 /* GL_OES_texture_float */
    585 #ifndef GL_OES_texture_float
    586 #define GL_OES_texture_float 1
    587 #endif
    588 
    589 /* GL_OES_texture_float_linear */
    590 #ifndef GL_OES_texture_float_linear
    591 #define GL_OES_texture_float_linear 1
    592 #endif
    593 
    594 /* GL_OES_texture_half_float */
    595 #ifndef GL_OES_texture_half_float
    596 #define GL_OES_texture_half_float 1
    597 #endif
    598 
    599 /* GL_OES_texture_half_float_linear */
    600 #ifndef GL_OES_texture_half_float_linear
    601 #define GL_OES_texture_half_float_linear 1
    602 #endif
    603 
    604 /* GL_OES_texture_npot */
    605 #ifndef GL_OES_texture_npot
    606 #define GL_OES_texture_npot 1
    607 #endif
    608 
    609 /* GL_OES_vertex_array_object */
    610 #ifndef GL_OES_vertex_array_object
    611 #define GL_OES_vertex_array_object 1
    612 #ifdef GL_GLEXT_PROTOTYPES
    613 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
    614 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
    615 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
    616 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
    617 #endif
    618 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
    619 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
    620 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
    621 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
    622 #endif
    623 
    624 /* GL_OES_vertex_half_float */
    625 #ifndef GL_OES_vertex_half_float
    626 #define GL_OES_vertex_half_float 1
    627 #endif
    628 
    629 /* GL_OES_vertex_type_10_10_10_2 */
    630 #ifndef GL_OES_vertex_type_10_10_10_2
    631 #define GL_OES_vertex_type_10_10_10_2 1
    632 #endif
    633 
    634 /*------------------------------------------------------------------------*
    635  * AMD extension functions
    636  *------------------------------------------------------------------------*/
    637 
    638 /* GL_AMD_compressed_3DC_texture */
    639 #ifndef GL_AMD_compressed_3DC_texture
    640 #define GL_AMD_compressed_3DC_texture 1
    641 #endif
    642 
    643 /* GL_AMD_compressed_ATC_texture */
    644 #ifndef GL_AMD_compressed_ATC_texture
    645 #define GL_AMD_compressed_ATC_texture 1
    646 #endif
    647 
    648 /* AMD_performance_monitor */
    649 #ifndef GL_AMD_performance_monitor
    650 #define GL_AMD_performance_monitor 1
    651 #ifdef GL_GLEXT_PROTOTYPES
    652 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
    653 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
    654 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
    655 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
    656 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
    657 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
    658 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
    659 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
    660 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
    661 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
    662 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
    663 #endif
    664 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
    665 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
    666 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
    667 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
    668 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
    669 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
    670 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
    671 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
    672 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
    673 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
    674 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
    675 #endif
    676 
    677 /* GL_AMD_program_binary_Z400 */
    678 #ifndef GL_AMD_program_binary_Z400
    679 #define GL_AMD_program_binary_Z400 1
    680 #endif
    681 
    682 /*------------------------------------------------------------------------*
    683  * ANGLE extension functions
    684  *------------------------------------------------------------------------*/
    685 
    686 /* GL_ANGLE_framebuffer_blit */
    687 #ifndef GL_ANGLE_framebuffer_blit
    688 #define GL_ANGLE_framebuffer_blit 1
    689 #ifdef GL_GLEXT_PROTOTYPES
    690 GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
    691 #endif
    692 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
    693 #endif
    694 
    695 /* GL_ANGLE_framebuffer_multisample */
    696 #ifndef GL_ANGLE_framebuffer_multisample
    697 #define GL_ANGLE_framebuffer_multisample 1
    698 #ifdef GL_GLEXT_PROTOTYPES
    699 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    700 #endif
    701 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    702 #endif
    703 
    704 /*------------------------------------------------------------------------*
    705  * APPLE extension functions
    706  *------------------------------------------------------------------------*/
    707 
    708 /* GL_APPLE_rgb_422 */
    709 #ifndef GL_APPLE_rgb_422
    710 #define GL_APPLE_rgb_422 1
    711 #endif
    712 
    713 /* GL_APPLE_framebuffer_multisample */
    714 #ifndef GL_APPLE_framebuffer_multisample
    715 #define GL_APPLE_framebuffer_multisample 1
    716 #ifdef GL_GLEXT_PROTOTYPES
    717 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
    718 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
    719 #endif /* GL_GLEXT_PROTOTYPES */
    720 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    721 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
    722 #endif
    723 
    724 /* GL_APPLE_texture_format_BGRA8888 */
    725 #ifndef GL_APPLE_texture_format_BGRA8888
    726 #define GL_APPLE_texture_format_BGRA8888 1
    727 #endif
    728 
    729 /* GL_APPLE_texture_max_level */
    730 #ifndef GL_APPLE_texture_max_level
    731 #define GL_APPLE_texture_max_level 1
    732 #endif
    733 
    734 /*------------------------------------------------------------------------*
    735  * ARM extension functions
    736  *------------------------------------------------------------------------*/
    737 
    738 /* GL_ARM_mali_shader_binary */
    739 #ifndef GL_ARM_mali_shader_binary
    740 #define GL_ARM_mali_shader_binary 1
    741 #endif
    742 
    743 /* GL_ARM_rgba8 */
    744 #ifndef GL_ARM_rgba8
    745 #define GL_ARM_rgba8 1
    746 #endif
    747 
    748 /*------------------------------------------------------------------------*
    749  * EXT extension functions
    750  *------------------------------------------------------------------------*/
    751 
    752 /* GL_EXT_blend_minmax */
    753 #ifndef GL_EXT_blend_minmax
    754 #define GL_EXT_blend_minmax 1
    755 #endif
    756 
    757 /* GL_EXT_discard_framebuffer */
    758 #ifndef GL_EXT_discard_framebuffer
    759 #define GL_EXT_discard_framebuffer 1
    760 #ifdef GL_GLEXT_PROTOTYPES
    761 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
    762 #endif
    763 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
    764 #endif
    765 
    766 #ifndef GL_EXT_multi_draw_arrays
    767 #define GL_EXT_multi_draw_arrays 1
    768 #ifdef GL_GLEXT_PROTOTYPES
    769 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
    770 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
    771 #endif /* GL_GLEXT_PROTOTYPES */
    772 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
    773 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
    774 #endif
    775 
    776 /* GL_EXT_read_format_bgra */
    777 #ifndef GL_EXT_read_format_bgra
    778 #define GL_EXT_read_format_bgra 1
    779 #endif
    780 
    781 /* GL_EXT_texture_filter_anisotropic */
    782 #ifndef GL_EXT_texture_filter_anisotropic
    783 #define GL_EXT_texture_filter_anisotropic 1
    784 #endif
    785 
    786 /* GL_EXT_texture_format_BGRA8888 */
    787 #ifndef GL_EXT_texture_format_BGRA8888
    788 #define GL_EXT_texture_format_BGRA8888 1
    789 #endif
    790 
    791 /* GL_EXT_texture_type_2_10_10_10_REV */
    792 #ifndef GL_EXT_texture_type_2_10_10_10_REV
    793 #define GL_EXT_texture_type_2_10_10_10_REV 1
    794 #endif
    795 
    796 /* GL_EXT_texture_compression_dxt1 */
    797 #ifndef GL_EXT_texture_compression_dxt1
    798 #define GL_EXT_texture_compression_dxt1 1
    799 #endif
    800 
    801 /* GL_EXT_shader_texture_lod */
    802 #ifndef GL_EXT_shader_texture_lod
    803 #define GL_EXT_shader_texture_lod 1
    804 #endif
    805 
    806 /*------------------------------------------------------------------------*
    807  * IMG extension functions
    808  *------------------------------------------------------------------------*/
    809 
    810 /* GL_IMG_program_binary */
    811 #ifndef GL_IMG_program_binary
    812 #define GL_IMG_program_binary 1
    813 #endif
    814 
    815 /* GL_IMG_read_format */
    816 #ifndef GL_IMG_read_format
    817 #define GL_IMG_read_format 1
    818 #endif
    819 
    820 /* GL_IMG_shader_binary */
    821 #ifndef GL_IMG_shader_binary
    822 #define GL_IMG_shader_binary 1
    823 #endif
    824 
    825 /* GL_IMG_texture_compression_pvrtc */
    826 #ifndef GL_IMG_texture_compression_pvrtc
    827 #define GL_IMG_texture_compression_pvrtc 1
    828 #endif
    829 
    830 /* GL_IMG_multisampled_render_to_texture */
    831 #ifndef GL_IMG_multisampled_render_to_texture
    832 #define GL_IMG_multisampled_render_to_texture 1
    833 #ifdef GL_GLEXT_PROTOTYPES
    834 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
    835 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
    836 #endif
    837 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    838 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
    839 #endif
    840 
    841 /*------------------------------------------------------------------------*
    842  * NV extension functions
    843  *------------------------------------------------------------------------*/
    844 
    845 /* GL_NV_fence */
    846 #ifndef GL_NV_fence
    847 #define GL_NV_fence 1
    848 #ifdef GL_GLEXT_PROTOTYPES
    849 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
    850 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
    851 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
    852 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
    853 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
    854 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
    855 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
    856 #endif
    857 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
    858 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
    859 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
    860 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
    861 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
    862 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
    863 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
    864 #endif
    865 
    866 /* GL_NV_coverage_sample */
    867 #ifndef GL_NV_coverage_sample
    868 #define GL_NV_coverage_sample 1
    869 #ifdef GL_GLEXT_PROTOTYPES
    870 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
    871 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
    872 #endif
    873 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
    874 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
    875 #endif
    876 
    877 /* GL_NV_depth_nonlinear */
    878 #ifndef GL_NV_depth_nonlinear
    879 #define GL_NV_depth_nonlinear 1
    880 #endif
    881 
    882 /*------------------------------------------------------------------------*
    883  * QCOM extension functions
    884  *------------------------------------------------------------------------*/
    885 
    886 /* GL_QCOM_driver_control */
    887 #ifndef GL_QCOM_driver_control
    888 #define GL_QCOM_driver_control 1
    889 #ifdef GL_GLEXT_PROTOTYPES
    890 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
    891 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
    892 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
    893 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
    894 #endif
    895 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
    896 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
    897 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
    898 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
    899 #endif
    900 
    901 /* GL_QCOM_extended_get */
    902 #ifndef GL_QCOM_extended_get
    903 #define GL_QCOM_extended_get 1
    904 #ifdef GL_GLEXT_PROTOTYPES
    905 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
    906 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
    907 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
    908 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
    909 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
    910 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
    911 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, GLvoid *texels);
    912 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
    913 #endif
    914 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
    915 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
    916 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
    917 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
    918 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
    919 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
    920 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, GLvoid *texels);
    921 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
    922 #endif
    923 
    924 /* GL_QCOM_extended_get2 */
    925 #ifndef GL_QCOM_extended_get2
    926 #define GL_QCOM_extended_get2 1
    927 #ifdef GL_GLEXT_PROTOTYPES
    928 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
    929 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
    930 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
    931 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
    932 #endif
    933 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
    934 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
    935 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
    936 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
    937 #endif
    938 
    939 /* GL_QCOM_perfmon_global_mode */
    940 #ifndef GL_QCOM_perfmon_global_mode
    941 #define GL_QCOM_perfmon_global_mode 1
    942 #endif
    943 
    944 /* GL_QCOM_writeonly_rendering */
    945 #ifndef GL_QCOM_writeonly_rendering
    946 #define GL_QCOM_writeonly_rendering 1
    947 #endif
    948 
    949 /* GL_QCOM_tiled_rendering */
    950 #ifndef GL_QCOM_tiled_rendering
    951 #define GL_QCOM_tiled_rendering 1
    952 #ifdef GL_GLEXT_PROTOTYPES
    953 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
    954 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
    955 #endif
    956 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
    957 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
    958 #endif
    959 
    960 /*------------------------------------------------------------------------*
    961  * VIV extension tokens
    962  *------------------------------------------------------------------------*/
    963 
    964 /* GL_VIV_shader_binary */
    965 #ifndef GL_VIV_shader_binary
    966 #define GL_VIV_shader_binary 1
    967 #endif
    968 
    969 #ifdef __cplusplus
    970 }
    971 #endif
    972 
    973 #endif /* __gl2ext_h_ */
    974