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