Home | History | Annotate | Download | only in GLES2
      1 #ifndef __gl2ext_h_
      2 #define __gl2ext_h_
      3 
      4 /* $Revision: 16619 $ on $Date:: 2012-01-18 10:00:14 -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_color_buffer_half_float */
    265 #ifndef GL_EXT_color_buffer_half_float
    266 #define GL_RGBA16F_EXT                                          0x881A
    267 #define GL_RGB16F_EXT                                           0x881B
    268 #define GL_RG16F_EXT                                            0x822F
    269 #define GL_R16F_EXT                                             0x822D
    270 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
    271 #define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
    272 #endif
    273 
    274 /* GL_EXT_debug_label */
    275 #ifndef GL_EXT_debug_label
    276 #define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
    277 #define GL_PROGRAM_OBJECT_EXT                                   0x8B40
    278 #define GL_SHADER_OBJECT_EXT                                    0x8B48
    279 #define GL_BUFFER_OBJECT_EXT                                    0x9151
    280 #define GL_QUERY_OBJECT_EXT                                     0x9153
    281 #define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
    282 #endif
    283 
    284 /* GL_EXT_debug_marker */
    285 /* No new tokens introduced by this extension. */
    286 
    287 /* GL_EXT_discard_framebuffer */
    288 #ifndef GL_EXT_discard_framebuffer
    289 #define GL_COLOR_EXT                                            0x1800
    290 #define GL_DEPTH_EXT                                            0x1801
    291 #define GL_STENCIL_EXT                                          0x1802
    292 #endif
    293 
    294 /* GL_EXT_multisampled_render_to_texture */
    295 #ifndef GL_EXT_multisampled_render_to_texture
    296 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
    297 #define GL_RENDERBUFFER_SAMPLES_EXT                             0x9133
    298 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x9134
    299 #define GL_MAX_SAMPLES_EXT                                      0x9135
    300 #endif
    301 
    302 /* GL_EXT_multi_draw_arrays */
    303 /* No new tokens introduced by this extension. */
    304 
    305 /* GL_EXT_occlusion_query_boolean */
    306 #ifndef GL_EXT_occlusion_query_boolean
    307 #define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
    308 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
    309 #define GL_CURRENT_QUERY_EXT                                    0x8865
    310 #define GL_QUERY_RESULT_EXT                                     0x8866
    311 #define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
    312 #endif
    313 
    314 /* GL_EXT_read_format_bgra */
    315 #ifndef GL_EXT_read_format_bgra
    316 #define GL_BGRA_EXT                                             0x80E1
    317 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
    318 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
    319 #endif
    320 
    321 /* GL_EXT_robustness */
    322 #ifndef GL_EXT_robustness
    323 /* reuse GL_NO_ERROR */
    324 #define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
    325 #define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
    326 #define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
    327 #define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
    328 #define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
    329 #define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
    330 #define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
    331 #endif
    332 
    333 /* GL_EXT_separate_shader_objects */
    334 #ifndef GL_EXT_separate_shader_objects
    335 #define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
    336 #define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
    337 #define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
    338 #define GL_PROGRAM_SEPARABLE_EXT                                0x8258
    339 #define GL_ACTIVE_PROGRAM_EXT                                   0x8259
    340 #define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
    341 #endif
    342 
    343 /* GL_EXT_shader_texture_lod */
    344 /* No new tokens introduced by this extension. */
    345 
    346 /* GL_EXT_shadow_samplers */
    347 #ifndef GL_EXT_shadow_samplers
    348 #define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
    349 #define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
    350 #define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
    351 #define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
    352 #endif
    353 
    354 /* GL_EXT_sRGB */
    355 #ifndef GL_EXT_sRGB
    356 #define GL_SRGB_EXT                                             0x8C40
    357 #define GL_SRGB_ALPHA_EXT                                       0x8C42
    358 #define GL_SRGB8_ALPHA8_EXT                                     0x8C43
    359 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
    360 #endif
    361 
    362 /* GL_EXT_texture_compression_dxt1 */
    363 #ifndef GL_EXT_texture_compression_dxt1
    364 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
    365 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
    366 #endif
    367 
    368 /* GL_EXT_texture_filter_anisotropic */
    369 #ifndef GL_EXT_texture_filter_anisotropic
    370 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
    371 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
    372 #endif
    373 
    374 /* GL_EXT_texture_format_BGRA8888 */
    375 #ifndef GL_EXT_texture_format_BGRA8888
    376 #define GL_BGRA_EXT                                             0x80E1
    377 #endif
    378 
    379 /* GL_EXT_texture_rg */
    380 #ifndef GL_EXT_texture_rg
    381 #define GL_RED_EXT                                              0x1903
    382 #define GL_RG_EXT                                               0x8227
    383 #define GL_R8_EXT                                               0x8229
    384 #define GL_RG8_EXT                                              0x822B
    385 #endif
    386 
    387 /* GL_EXT_texture_storage */
    388 #ifndef GL_EXT_texture_storage
    389 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
    390 #define GL_ALPHA8_EXT                                           0x803C
    391 #define GL_LUMINANCE8_EXT                                       0x8040
    392 #define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
    393 #define GL_RGBA32F_EXT                                          0x8814
    394 #define GL_RGB32F_EXT                                           0x8815
    395 #define GL_ALPHA32F_EXT                                         0x8816
    396 #define GL_LUMINANCE32F_EXT                                     0x8818
    397 #define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
    398 /* reuse GL_RGBA16F_EXT */
    399 #define GL_RGB16F_EXT                                           0x881B
    400 #define GL_ALPHA16F_EXT                                         0x881C
    401 #define GL_LUMINANCE16F_EXT                                     0x881E
    402 #define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
    403 #define GL_RGB10_A2_EXT                                         0x8059
    404 #define GL_RGB10_EXT                                            0x8052
    405 #define GL_BGRA8_EXT                                            0x93A1
    406 #endif
    407 
    408 /* GL_EXT_texture_type_2_10_10_10_REV */
    409 #ifndef GL_EXT_texture_type_2_10_10_10_REV
    410 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
    411 #endif
    412 
    413 /* GL_EXT_unpack_subimage */
    414 #ifndef GL_EXT_unpack_subimage
    415 #define GL_UNPACK_ROW_LENGTH                                    0x0CF2
    416 #define GL_UNPACK_SKIP_ROWS                                     0x0CF3
    417 #define GL_UNPACK_SKIP_PIXELS                                   0x0CF4
    418 #endif
    419 
    420 /*------------------------------------------------------------------------*
    421  * DMP extension tokens
    422  *------------------------------------------------------------------------*/
    423 
    424 /* GL_DMP_shader_binary */
    425 #ifndef GL_DMP_shader_binary
    426 #define GL_SHADER_BINARY_DMP                                    0x9250
    427 #endif
    428 
    429 /*------------------------------------------------------------------------*
    430  * IMG extension tokens
    431  *------------------------------------------------------------------------*/
    432 
    433 /* GL_IMG_program_binary */
    434 #ifndef GL_IMG_program_binary
    435 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
    436 #endif
    437 
    438 /* GL_IMG_read_format */
    439 #ifndef GL_IMG_read_format
    440 #define GL_BGRA_IMG                                             0x80E1
    441 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
    442 #endif
    443 
    444 /* GL_IMG_shader_binary */
    445 #ifndef GL_IMG_shader_binary
    446 #define GL_SGX_BINARY_IMG                                       0x8C0A
    447 #endif
    448 
    449 /* GL_IMG_texture_compression_pvrtc */
    450 #ifndef GL_IMG_texture_compression_pvrtc
    451 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
    452 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
    453 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
    454 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
    455 #endif
    456 
    457 /* GL_IMG_multisampled_render_to_texture */
    458 #ifndef GL_IMG_multisampled_render_to_texture
    459 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
    460 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
    461 #define GL_MAX_SAMPLES_IMG                                      0x9135
    462 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
    463 #endif
    464 
    465 /*------------------------------------------------------------------------*
    466  * NV extension tokens
    467  *------------------------------------------------------------------------*/
    468 
    469 /* GL_NV_coverage_sample */
    470 #ifndef GL_NV_coverage_sample
    471 #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
    472 #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
    473 #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
    474 #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
    475 #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
    476 #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
    477 #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
    478 #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
    479 #define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
    480 #endif
    481 
    482 /* GL_NV_depth_nonlinear */
    483 #ifndef GL_NV_depth_nonlinear
    484 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
    485 #endif
    486 
    487 /* GL_NV_draw_buffers */
    488 #ifndef GL_NV_draw_buffers
    489 #define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
    490 #define GL_DRAW_BUFFER0_NV                                      0x8825
    491 #define GL_DRAW_BUFFER1_NV                                      0x8826
    492 #define GL_DRAW_BUFFER2_NV                                      0x8827
    493 #define GL_DRAW_BUFFER3_NV                                      0x8828
    494 #define GL_DRAW_BUFFER4_NV                                      0x8829
    495 #define GL_DRAW_BUFFER5_NV                                      0x882A
    496 #define GL_DRAW_BUFFER6_NV                                      0x882B
    497 #define GL_DRAW_BUFFER7_NV                                      0x882C
    498 #define GL_DRAW_BUFFER8_NV                                      0x882D
    499 #define GL_DRAW_BUFFER9_NV                                      0x882E
    500 #define GL_DRAW_BUFFER10_NV                                     0x882F
    501 #define GL_DRAW_BUFFER11_NV                                     0x8830
    502 #define GL_DRAW_BUFFER12_NV                                     0x8831
    503 #define GL_DRAW_BUFFER13_NV                                     0x8832
    504 #define GL_DRAW_BUFFER14_NV                                     0x8833
    505 #define GL_DRAW_BUFFER15_NV                                     0x8834
    506 #define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
    507 #define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
    508 #define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
    509 #define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
    510 #define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
    511 #define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
    512 #define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
    513 #define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
    514 #define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
    515 #define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
    516 #define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
    517 #define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
    518 #define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
    519 #define GL_COLOR_ATTACHMENT13_NV                                0x8CED
    520 #define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
    521 #define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
    522 #endif
    523 
    524 /* GL_NV_fbo_color_attachments */
    525 #ifndef GL_NV_fbo_color_attachments
    526 #define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
    527 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
    528 #endif
    529 
    530 /* GL_NV_fence */
    531 #ifndef GL_NV_fence
    532 #define GL_ALL_COMPLETED_NV                                     0x84F2
    533 #define GL_FENCE_STATUS_NV                                      0x84F3
    534 #define GL_FENCE_CONDITION_NV                                   0x84F4
    535 #endif
    536 
    537 /* GL_NV_read_buffer */
    538 #ifndef GL_NV_read_buffer
    539 #define GL_READ_BUFFER_NV                                       0x0C02
    540 #endif
    541 
    542 /* GL_NV_read_buffer_front */
    543 /* No new tokens introduced by this extension. */
    544 
    545 /* GL_NV_read_depth */
    546 /* No new tokens introduced by this extension. */
    547 
    548 /* GL_NV_read_depth_stencil */
    549 /* No new tokens introduced by this extension. */
    550 
    551 /* GL_NV_read_stencil */
    552 /* No new tokens introduced by this extension. */
    553 
    554 /* GL_NV_texture_compression_s3tc_update */
    555 /* No new tokens introduced by this extension. */
    556 
    557 /* GL_NV_texture_npot_2D_mipmap */
    558 /* No new tokens introduced by this extension. */
    559 
    560 /*------------------------------------------------------------------------*
    561  * QCOM extension tokens
    562  *------------------------------------------------------------------------*/
    563 
    564 /* GL_QCOM_alpha_test */
    565 #ifndef GL_QCOM_alpha_test
    566 #define GL_ALPHA_TEST_QCOM                                      0x0BC0
    567 #define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
    568 #define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
    569 #endif
    570 
    571 /* GL_QCOM_driver_control */
    572 /* No new tokens introduced by this extension. */
    573 
    574 /* GL_QCOM_extended_get */
    575 #ifndef GL_QCOM_extended_get
    576 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
    577 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
    578 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
    579 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
    580 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
    581 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
    582 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
    583 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
    584 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
    585 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
    586 #define GL_STATE_RESTORE                                        0x8BDC
    587 #endif
    588 
    589 /* GL_QCOM_extended_get2 */
    590 /* No new tokens introduced by this extension. */
    591 
    592 /* GL_QCOM_perfmon_global_mode */
    593 #ifndef GL_QCOM_perfmon_global_mode
    594 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
    595 #endif
    596 
    597 /* GL_QCOM_writeonly_rendering */
    598 #ifndef GL_QCOM_writeonly_rendering
    599 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
    600 #endif
    601 
    602 /* GL_QCOM_tiled_rendering */
    603 #ifndef GL_QCOM_tiled_rendering
    604 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
    605 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
    606 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
    607 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
    608 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
    609 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
    610 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
    611 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
    612 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
    613 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
    614 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
    615 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
    616 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
    617 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
    618 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
    619 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
    620 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
    621 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
    622 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
    623 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
    624 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
    625 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
    626 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
    627 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
    628 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
    629 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
    630 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
    631 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
    632 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
    633 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
    634 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
    635 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
    636 #endif
    637 
    638 /*------------------------------------------------------------------------*
    639  * VIV extension tokens
    640  *------------------------------------------------------------------------*/
    641 
    642 /* GL_VIV_shader_binary */
    643 #ifndef GL_VIV_shader_binary
    644 #define GL_SHADER_BINARY_VIV                                    0x8FC4
    645 #endif
    646 
    647 /*------------------------------------------------------------------------*
    648  * End of extension tokens, start of corresponding extension functions
    649  *------------------------------------------------------------------------*/
    650 
    651 /*------------------------------------------------------------------------*
    652  * OES extension functions
    653  *------------------------------------------------------------------------*/
    654 
    655 /* GL_OES_compressed_ETC1_RGB8_texture */
    656 #ifndef GL_OES_compressed_ETC1_RGB8_texture
    657 #define GL_OES_compressed_ETC1_RGB8_texture 1
    658 #endif
    659 
    660 /* GL_OES_compressed_paletted_texture */
    661 #ifndef GL_OES_compressed_paletted_texture
    662 #define GL_OES_compressed_paletted_texture 1
    663 #endif
    664 
    665 /* GL_OES_depth24 */
    666 #ifndef GL_OES_depth24
    667 #define GL_OES_depth24 1
    668 #endif
    669 
    670 /* GL_OES_depth32 */
    671 #ifndef GL_OES_depth32
    672 #define GL_OES_depth32 1
    673 #endif
    674 
    675 /* GL_OES_depth_texture */
    676 #ifndef GL_OES_depth_texture
    677 #define GL_OES_depth_texture 1
    678 #endif
    679 
    680 /* GL_OES_EGL_image */
    681 #ifndef GL_OES_EGL_image
    682 #define GL_OES_EGL_image 1
    683 #ifdef GL_GLEXT_PROTOTYPES
    684 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
    685 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
    686 #endif
    687 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
    688 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
    689 #endif
    690 
    691 /* GL_OES_EGL_image_external */
    692 #ifndef GL_OES_EGL_image_external
    693 #define GL_OES_EGL_image_external 1
    694 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
    695 #endif
    696 
    697 /* GL_OES_element_index_uint */
    698 #ifndef GL_OES_element_index_uint
    699 #define GL_OES_element_index_uint 1
    700 #endif
    701 
    702 /* GL_OES_fbo_render_mipmap */
    703 #ifndef GL_OES_fbo_render_mipmap
    704 #define GL_OES_fbo_render_mipmap 1
    705 #endif
    706 
    707 /* GL_OES_fragment_precision_high */
    708 #ifndef GL_OES_fragment_precision_high
    709 #define GL_OES_fragment_precision_high 1
    710 #endif
    711 
    712 /* GL_OES_get_program_binary */
    713 #ifndef GL_OES_get_program_binary
    714 #define GL_OES_get_program_binary 1
    715 #ifdef GL_GLEXT_PROTOTYPES
    716 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
    717 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
    718 #endif
    719 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
    720 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
    721 #endif
    722 
    723 /* GL_OES_mapbuffer */
    724 #ifndef GL_OES_mapbuffer
    725 #define GL_OES_mapbuffer 1
    726 #ifdef GL_GLEXT_PROTOTYPES
    727 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
    728 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
    729 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
    730 #endif
    731 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
    732 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
    733 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
    734 #endif
    735 
    736 /* GL_OES_packed_depth_stencil */
    737 #ifndef GL_OES_packed_depth_stencil
    738 #define GL_OES_packed_depth_stencil 1
    739 #endif
    740 
    741 /* GL_OES_rgb8_rgba8 */
    742 #ifndef GL_OES_rgb8_rgba8
    743 #define GL_OES_rgb8_rgba8 1
    744 #endif
    745 
    746 /* GL_OES_standard_derivatives */
    747 #ifndef GL_OES_standard_derivatives
    748 #define GL_OES_standard_derivatives 1
    749 #endif
    750 
    751 /* GL_OES_stencil1 */
    752 #ifndef GL_OES_stencil1
    753 #define GL_OES_stencil1 1
    754 #endif
    755 
    756 /* GL_OES_stencil4 */
    757 #ifndef GL_OES_stencil4
    758 #define GL_OES_stencil4 1
    759 #endif
    760 
    761 /* GL_OES_texture_3D */
    762 #ifndef GL_OES_texture_3D
    763 #define GL_OES_texture_3D 1
    764 #ifdef GL_GLEXT_PROTOTYPES
    765 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);
    766 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);
    767 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    768 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);
    769 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);
    770 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
    771 #endif
    772 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);
    773 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);
    774 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    775 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
    776 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);
    777 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
    778 #endif
    779 
    780 /* GL_OES_texture_float */
    781 #ifndef GL_OES_texture_float
    782 #define GL_OES_texture_float 1
    783 #endif
    784 
    785 /* GL_OES_texture_float_linear */
    786 #ifndef GL_OES_texture_float_linear
    787 #define GL_OES_texture_float_linear 1
    788 #endif
    789 
    790 /* GL_OES_texture_half_float */
    791 #ifndef GL_OES_texture_half_float
    792 #define GL_OES_texture_half_float 1
    793 #endif
    794 
    795 /* GL_OES_texture_half_float_linear */
    796 #ifndef GL_OES_texture_half_float_linear
    797 #define GL_OES_texture_half_float_linear 1
    798 #endif
    799 
    800 /* GL_OES_texture_npot */
    801 #ifndef GL_OES_texture_npot
    802 #define GL_OES_texture_npot 1
    803 #endif
    804 
    805 /* GL_OES_vertex_array_object */
    806 #ifndef GL_OES_vertex_array_object
    807 #define GL_OES_vertex_array_object 1
    808 #ifdef GL_GLEXT_PROTOTYPES
    809 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
    810 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
    811 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
    812 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
    813 #endif
    814 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
    815 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
    816 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
    817 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
    818 #endif
    819 
    820 /* GL_OES_vertex_half_float */
    821 #ifndef GL_OES_vertex_half_float
    822 #define GL_OES_vertex_half_float 1
    823 #endif
    824 
    825 /* GL_OES_vertex_type_10_10_10_2 */
    826 #ifndef GL_OES_vertex_type_10_10_10_2
    827 #define GL_OES_vertex_type_10_10_10_2 1
    828 #endif
    829 
    830 /*------------------------------------------------------------------------*
    831  * AMD extension functions
    832  *------------------------------------------------------------------------*/
    833 
    834 /* GL_AMD_compressed_3DC_texture */
    835 #ifndef GL_AMD_compressed_3DC_texture
    836 #define GL_AMD_compressed_3DC_texture 1
    837 #endif
    838 
    839 /* GL_AMD_compressed_ATC_texture */
    840 #ifndef GL_AMD_compressed_ATC_texture
    841 #define GL_AMD_compressed_ATC_texture 1
    842 #endif
    843 
    844 /* AMD_performance_monitor */
    845 #ifndef GL_AMD_performance_monitor
    846 #define GL_AMD_performance_monitor 1
    847 #ifdef GL_GLEXT_PROTOTYPES
    848 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
    849 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
    850 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
    851 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
    852 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
    853 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
    854 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
    855 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
    856 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
    857 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
    858 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
    859 #endif
    860 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
    861 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
    862 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
    863 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
    864 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
    865 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
    866 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
    867 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
    868 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
    869 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
    870 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
    871 #endif
    872 
    873 /* GL_AMD_program_binary_Z400 */
    874 #ifndef GL_AMD_program_binary_Z400
    875 #define GL_AMD_program_binary_Z400 1
    876 #endif
    877 
    878 /*------------------------------------------------------------------------*
    879  * ANGLE extension functions
    880  *------------------------------------------------------------------------*/
    881 
    882 /* GL_ANGLE_framebuffer_blit */
    883 #ifndef GL_ANGLE_framebuffer_blit
    884 #define GL_ANGLE_framebuffer_blit 1
    885 #ifdef GL_GLEXT_PROTOTYPES
    886 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);
    887 #endif
    888 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);
    889 #endif
    890 
    891 /* GL_ANGLE_framebuffer_multisample */
    892 #ifndef GL_ANGLE_framebuffer_multisample
    893 #define GL_ANGLE_framebuffer_multisample 1
    894 #ifdef GL_GLEXT_PROTOTYPES
    895 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    896 #endif
    897 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    898 #endif
    899 
    900 /*------------------------------------------------------------------------*
    901  * APPLE extension functions
    902  *------------------------------------------------------------------------*/
    903 
    904 /* GL_APPLE_rgb_422 */
    905 #ifndef GL_APPLE_rgb_422
    906 #define GL_APPLE_rgb_422 1
    907 #endif
    908 
    909 /* GL_APPLE_framebuffer_multisample */
    910 #ifndef GL_APPLE_framebuffer_multisample
    911 #define GL_APPLE_framebuffer_multisample 1
    912 #ifdef GL_GLEXT_PROTOTYPES
    913 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    914 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
    915 #endif /* GL_GLEXT_PROTOTYPES */
    916 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    917 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
    918 #endif
    919 
    920 /* GL_APPLE_texture_format_BGRA8888 */
    921 #ifndef GL_APPLE_texture_format_BGRA8888
    922 #define GL_APPLE_texture_format_BGRA8888 1
    923 #endif
    924 
    925 /* GL_APPLE_texture_max_level */
    926 #ifndef GL_APPLE_texture_max_level
    927 #define GL_APPLE_texture_max_level 1
    928 #endif
    929 
    930 /*------------------------------------------------------------------------*
    931  * ARM extension functions
    932  *------------------------------------------------------------------------*/
    933 
    934 /* GL_ARM_mali_shader_binary */
    935 #ifndef GL_ARM_mali_shader_binary
    936 #define GL_ARM_mali_shader_binary 1
    937 #endif
    938 
    939 /* GL_ARM_rgba8 */
    940 #ifndef GL_ARM_rgba8
    941 #define GL_ARM_rgba8 1
    942 #endif
    943 
    944 /*------------------------------------------------------------------------*
    945  * EXT extension functions
    946  *------------------------------------------------------------------------*/
    947 
    948 /* GL_EXT_blend_minmax */
    949 #ifndef GL_EXT_blend_minmax
    950 #define GL_EXT_blend_minmax 1
    951 #endif
    952 
    953 /* GL_EXT_color_buffer_half_float */
    954 #ifndef GL_EXT_color_buffer_half_float
    955 #define GL_EXT_color_buffer_half_float 1
    956 #endif
    957 
    958 /* GL_EXT_debug_label */
    959 #ifndef GL_EXT_debug_label
    960 #define GL_EXT_debug_label 1
    961 #ifdef GL_GLEXT_PROTOTYPES
    962 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
    963 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
    964 #endif
    965 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
    966 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
    967 #endif
    968 
    969 /* GL_EXT_debug_marker */
    970 #ifndef GL_EXT_debug_marker
    971 #define GL_EXT_debug_marker 1
    972 #ifdef GL_GLEXT_PROTOTYPES
    973 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
    974 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
    975 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
    976 #endif
    977 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
    978 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
    979 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
    980 #endif
    981 
    982 /* GL_EXT_discard_framebuffer */
    983 #ifndef GL_EXT_discard_framebuffer
    984 #define GL_EXT_discard_framebuffer 1
    985 #ifdef GL_GLEXT_PROTOTYPES
    986 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
    987 #endif
    988 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
    989 #endif
    990 
    991 /* GL_EXT_multisampled_render_to_texture */
    992 #ifndef GL_EXT_multisampled_render_to_texture
    993 #define GL_EXT_multisampled_render_to_texture 1
    994 #ifdef GL_GLEXT_PROTOTYPES
    995 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    996 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
    997 #endif
    998 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    999 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1000 #endif
   1001 
   1002 #ifndef GL_EXT_multi_draw_arrays
   1003 #define GL_EXT_multi_draw_arrays 1
   1004 #ifdef GL_GLEXT_PROTOTYPES
   1005 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
   1006 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
   1007 #endif /* GL_GLEXT_PROTOTYPES */
   1008 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
   1009 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
   1010 #endif
   1011 
   1012 /* GL_EXT_occlusion_query_boolean */
   1013 #ifndef GL_EXT_occlusion_query_boolean
   1014 #define GL_EXT_occlusion_query_boolean 1
   1015 #ifdef GL_GLEXT_PROTOTYPES
   1016 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
   1017 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
   1018 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
   1019 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
   1020 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
   1021 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
   1022 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
   1023 #endif
   1024 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
   1025 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
   1026 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
   1027 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
   1028 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
   1029 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
   1030 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
   1031 #endif
   1032 
   1033 /* GL_EXT_read_format_bgra */
   1034 #ifndef GL_EXT_read_format_bgra
   1035 #define GL_EXT_read_format_bgra 1
   1036 #endif
   1037 
   1038 /* GL_EXT_robustness */
   1039 #ifndef GL_EXT_robustness
   1040 #define GL_EXT_robustness 1
   1041 #ifdef GL_GLEXT_PROTOTYPES
   1042 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
   1043 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
   1044 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
   1045 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
   1046 #endif
   1047 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
   1048 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
   1049 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
   1050 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
   1051 #endif
   1052 
   1053 /* GL_EXT_separate_shader_objects */
   1054 #ifndef GL_EXT_separate_shader_objects
   1055 #define GL_EXT_separate_shader_objects 1
   1056 #ifdef GL_GLEXT_PROTOTYPES
   1057 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
   1058 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
   1059 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
   1060 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
   1061 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
   1062 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
   1063 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
   1064 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
   1065 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
   1066 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
   1067 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
   1068 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
   1069 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
   1070 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
   1071 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
   1072 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
   1073 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1074 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1075 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1076 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1077 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1078 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1079 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1080 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1081 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1082 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1083 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1084 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1085 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
   1086 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
   1087 #endif
   1088 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
   1089 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
   1090 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
   1091 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1092 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
   1093 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
   1094 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1095 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
   1096 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
   1097 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
   1098 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
   1099 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
   1100 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
   1101 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
   1102 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
   1103 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
   1104 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1105 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1106 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1107 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1108 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1109 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1110 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1111 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1112 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1113 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1114 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1115 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1116 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1117 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
   1118 #endif
   1119 
   1120 /* GL_EXT_shader_texture_lod */
   1121 #ifndef GL_EXT_shader_texture_lod
   1122 #define GL_EXT_shader_texture_lod 1
   1123 #endif
   1124 
   1125 /* GL_EXT_shadow_samplers */
   1126 #ifndef GL_EXT_shadow_samplers
   1127 #define GL_EXT_shadow_samplers 1
   1128 #endif
   1129 
   1130 /* GL_EXT_sRGB */
   1131 #ifndef GL_EXT_sRGB
   1132 #define GL_EXT_sRGB 1
   1133 #endif
   1134 
   1135 /* GL_EXT_texture_compression_dxt1 */
   1136 #ifndef GL_EXT_texture_compression_dxt1
   1137 #define GL_EXT_texture_compression_dxt1 1
   1138 #endif
   1139 
   1140 /* GL_EXT_texture_filter_anisotropic */
   1141 #ifndef GL_EXT_texture_filter_anisotropic
   1142 #define GL_EXT_texture_filter_anisotropic 1
   1143 #endif
   1144 
   1145 /* GL_EXT_texture_format_BGRA8888 */
   1146 #ifndef GL_EXT_texture_format_BGRA8888
   1147 #define GL_EXT_texture_format_BGRA8888 1
   1148 #endif
   1149 
   1150 /* GL_EXT_texture_rg */
   1151 #ifndef GL_EXT_texture_rg
   1152 #define GL_EXT_texture_rg 1
   1153 #endif
   1154 
   1155 /* GL_EXT_texture_storage */
   1156 #ifndef GL_EXT_texture_storage
   1157 #define GL_EXT_texture_storage 1
   1158 #ifdef GL_GLEXT_PROTOTYPES
   1159 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1160 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1161 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1162 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1163 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1164 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1165 #endif
   1166 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1167 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1168 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1169 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1170 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1171 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1172 #endif
   1173 
   1174 /* GL_EXT_texture_type_2_10_10_10_REV */
   1175 #ifndef GL_EXT_texture_type_2_10_10_10_REV
   1176 #define GL_EXT_texture_type_2_10_10_10_REV 1
   1177 #endif
   1178 
   1179 /* GL_EXT_unpack_subimage */
   1180 #ifndef GL_EXT_unpack_subimage
   1181 #define GL_EXT_unpack_subimage 1
   1182 #endif
   1183 
   1184 /*------------------------------------------------------------------------*
   1185  * DMP extension functions
   1186  *------------------------------------------------------------------------*/
   1187 
   1188 /* GL_DMP_shader_binary */
   1189 #ifndef GL_DMP_shader_binary
   1190 #define GL_DMP_shader_binary 1
   1191 #endif
   1192 
   1193 /*------------------------------------------------------------------------*
   1194  * IMG extension functions
   1195  *------------------------------------------------------------------------*/
   1196 
   1197 /* GL_IMG_program_binary */
   1198 #ifndef GL_IMG_program_binary
   1199 #define GL_IMG_program_binary 1
   1200 #endif
   1201 
   1202 /* GL_IMG_read_format */
   1203 #ifndef GL_IMG_read_format
   1204 #define GL_IMG_read_format 1
   1205 #endif
   1206 
   1207 /* GL_IMG_shader_binary */
   1208 #ifndef GL_IMG_shader_binary
   1209 #define GL_IMG_shader_binary 1
   1210 #endif
   1211 
   1212 /* GL_IMG_texture_compression_pvrtc */
   1213 #ifndef GL_IMG_texture_compression_pvrtc
   1214 #define GL_IMG_texture_compression_pvrtc 1
   1215 #endif
   1216 
   1217 /* GL_IMG_multisampled_render_to_texture */
   1218 #ifndef GL_IMG_multisampled_render_to_texture
   1219 #define GL_IMG_multisampled_render_to_texture 1
   1220 #ifdef GL_GLEXT_PROTOTYPES
   1221 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1222 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1223 #endif
   1224 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1225 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1226 #endif
   1227 
   1228 /*------------------------------------------------------------------------*
   1229  * NV extension functions
   1230  *------------------------------------------------------------------------*/
   1231 
   1232 /* GL_NV_coverage_sample */
   1233 #ifndef GL_NV_coverage_sample
   1234 #define GL_NV_coverage_sample 1
   1235 #ifdef GL_GLEXT_PROTOTYPES
   1236 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
   1237 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
   1238 #endif
   1239 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
   1240 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
   1241 #endif
   1242 
   1243 /* GL_NV_depth_nonlinear */
   1244 #ifndef GL_NV_depth_nonlinear
   1245 #define GL_NV_depth_nonlinear 1
   1246 #endif
   1247 
   1248 /* GL_NV_draw_buffers */
   1249 #ifndef GL_NV_draw_buffers
   1250 #define GL_NV_draw_buffers 1
   1251 #ifdef GL_GLEXT_PROTOTYPES
   1252 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
   1253 #endif
   1254 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
   1255 #endif
   1256 
   1257 /* GL_NV_fbo_color_attachments */
   1258 #ifndef GL_NV_fbo_color_attachments
   1259 #define GL_NV_fbo_color_attachments 1
   1260 #endif
   1261 
   1262 /* GL_NV_fence */
   1263 #ifndef GL_NV_fence
   1264 #define GL_NV_fence 1
   1265 #ifdef GL_GLEXT_PROTOTYPES
   1266 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
   1267 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
   1268 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
   1269 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
   1270 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
   1271 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
   1272 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
   1273 #endif
   1274 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
   1275 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
   1276 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
   1277 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
   1278 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
   1279 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
   1280 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
   1281 #endif
   1282 
   1283 /* GL_NV_read_buffer */
   1284 #ifndef GL_NV_read_buffer
   1285 #define GL_NV_read_buffer 1
   1286 #ifdef GL_GLEXT_PROTOTYPES
   1287 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
   1288 #endif
   1289 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
   1290 #endif
   1291 
   1292 /* GL_NV_read_buffer_front */
   1293 #ifndef GL_NV_read_buffer_front
   1294 #define GL_NV_read_buffer_front 1
   1295 #endif
   1296 
   1297 /* GL_NV_read_depth */
   1298 #ifndef GL_NV_read_depth
   1299 #define GL_NV_read_depth 1
   1300 #endif
   1301 
   1302 /* GL_NV_read_depth_stencil */
   1303 #ifndef GL_NV_read_depth_stencil
   1304 #define GL_NV_read_depth_stencil 1
   1305 #endif
   1306 
   1307 /* GL_NV_read_stencil */
   1308 #ifndef GL_NV_read_stencil
   1309 #define GL_NV_read_stencil 1
   1310 #endif
   1311 
   1312 /* GL_NV_texture_compression_s3tc_update */
   1313 #ifndef GL_NV_texture_compression_s3tc_update
   1314 #define GL_NV_texture_compression_s3tc_update 1
   1315 #endif
   1316 
   1317 /* GL_NV_texture_npot_2D_mipmap */
   1318 #ifndef GL_NV_texture_npot_2D_mipmap
   1319 #define GL_NV_texture_npot_2D_mipmap 1
   1320 #endif
   1321 
   1322 /*------------------------------------------------------------------------*
   1323  * QCOM extension functions
   1324  *------------------------------------------------------------------------*/
   1325 
   1326 /* GL_QCOM_alpha_test */
   1327 #ifndef GL_QCOM_alpha_test
   1328 #define GL_QCOM_alpha_test 1
   1329 #ifdef GL_GLEXT_PROTOTYPES
   1330 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
   1331 #endif
   1332 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
   1333 #endif
   1334 
   1335 /* GL_QCOM_driver_control */
   1336 #ifndef GL_QCOM_driver_control
   1337 #define GL_QCOM_driver_control 1
   1338 #ifdef GL_GLEXT_PROTOTYPES
   1339 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
   1340 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
   1341 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
   1342 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
   1343 #endif
   1344 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
   1345 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
   1346 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
   1347 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
   1348 #endif
   1349 
   1350 /* GL_QCOM_extended_get */
   1351 #ifndef GL_QCOM_extended_get
   1352 #define GL_QCOM_extended_get 1
   1353 #ifdef GL_GLEXT_PROTOTYPES
   1354 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
   1355 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
   1356 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
   1357 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
   1358 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
   1359 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
   1360 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);
   1361 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
   1362 #endif
   1363 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
   1364 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
   1365 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
   1366 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
   1367 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
   1368 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
   1369 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);
   1370 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
   1371 #endif
   1372 
   1373 /* GL_QCOM_extended_get2 */
   1374 #ifndef GL_QCOM_extended_get2
   1375 #define GL_QCOM_extended_get2 1
   1376 #ifdef GL_GLEXT_PROTOTYPES
   1377 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
   1378 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
   1379 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
   1380 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
   1381 #endif
   1382 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
   1383 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
   1384 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
   1385 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
   1386 #endif
   1387 
   1388 /* GL_QCOM_perfmon_global_mode */
   1389 #ifndef GL_QCOM_perfmon_global_mode
   1390 #define GL_QCOM_perfmon_global_mode 1
   1391 #endif
   1392 
   1393 /* GL_QCOM_writeonly_rendering */
   1394 #ifndef GL_QCOM_writeonly_rendering
   1395 #define GL_QCOM_writeonly_rendering 1
   1396 #endif
   1397 
   1398 /* GL_QCOM_tiled_rendering */
   1399 #ifndef GL_QCOM_tiled_rendering
   1400 #define GL_QCOM_tiled_rendering 1
   1401 #ifdef GL_GLEXT_PROTOTYPES
   1402 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
   1403 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
   1404 #endif
   1405 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
   1406 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
   1407 #endif
   1408 
   1409 /*------------------------------------------------------------------------*
   1410  * VIV extension tokens
   1411  *------------------------------------------------------------------------*/
   1412 
   1413 /* GL_VIV_shader_binary */
   1414 #ifndef GL_VIV_shader_binary
   1415 #define GL_VIV_shader_binary 1
   1416 #endif
   1417 
   1418 #ifdef __cplusplus
   1419 }
   1420 #endif
   1421 
   1422 #endif /* __gl2ext_h_ */
   1423