cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

SDL_opengles2_gl2ext.h (98695B)


      1#ifndef __gl2ext_h_
      2#define __gl2ext_h_
      3
      4/* $Revision: 22801 $ on $Date:: 2013-08-21 03:20:48 -0700 #$ */
      5
      6#ifdef __cplusplus
      7extern "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/* New types shared by several extensions */
     20
     21#ifndef __gl3_h_
     22/* These are defined with respect to <inttypes.h> in the
     23 * Apple extension spec, but they are also used by non-APPLE
     24 * extensions, and in the Khronos header we use the Khronos
     25 * portable types in khrplatform.h, which must be defined.
     26 */
     27typedef khronos_int64_t GLint64;
     28typedef khronos_uint64_t GLuint64;
     29typedef struct __GLsync *GLsync;
     30#endif
     31
     32
     33/*------------------------------------------------------------------------*
     34 * OES extension tokens
     35 *------------------------------------------------------------------------*/
     36
     37/* GL_OES_compressed_ETC1_RGB8_texture */
     38#ifndef GL_OES_compressed_ETC1_RGB8_texture
     39#define GL_ETC1_RGB8_OES                                        0x8D64
     40#endif
     41
     42/* GL_OES_compressed_paletted_texture */
     43#ifndef GL_OES_compressed_paletted_texture
     44#define GL_PALETTE4_RGB8_OES                                    0x8B90
     45#define GL_PALETTE4_RGBA8_OES                                   0x8B91
     46#define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
     47#define GL_PALETTE4_RGBA4_OES                                   0x8B93
     48#define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
     49#define GL_PALETTE8_RGB8_OES                                    0x8B95
     50#define GL_PALETTE8_RGBA8_OES                                   0x8B96
     51#define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
     52#define GL_PALETTE8_RGBA4_OES                                   0x8B98
     53#define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
     54#endif
     55
     56/* GL_OES_depth24 */
     57#ifndef GL_OES_depth24
     58#define GL_DEPTH_COMPONENT24_OES                                0x81A6
     59#endif
     60
     61/* GL_OES_depth32 */
     62#ifndef GL_OES_depth32
     63#define GL_DEPTH_COMPONENT32_OES                                0x81A7
     64#endif
     65
     66/* GL_OES_depth_texture */
     67/* No new tokens introduced by this extension. */
     68
     69/* GL_OES_EGL_image */
     70#ifndef GL_OES_EGL_image
     71typedef void* GLeglImageOES;
     72#endif
     73
     74/* GL_OES_EGL_image_external */
     75#ifndef GL_OES_EGL_image_external
     76/* GLeglImageOES defined in GL_OES_EGL_image already. */
     77#define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
     78#define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
     79#define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
     80#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
     81#endif
     82
     83/* GL_OES_element_index_uint */
     84#ifndef GL_OES_element_index_uint
     85#define GL_UNSIGNED_INT                                         0x1405
     86#endif
     87
     88/* GL_OES_get_program_binary */
     89#ifndef GL_OES_get_program_binary
     90#define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
     91#define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
     92#define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
     93#endif
     94
     95/* GL_OES_mapbuffer */
     96#ifndef GL_OES_mapbuffer
     97#define GL_WRITE_ONLY_OES                                       0x88B9
     98#define GL_BUFFER_ACCESS_OES                                    0x88BB
     99#define GL_BUFFER_MAPPED_OES                                    0x88BC
    100#define GL_BUFFER_MAP_POINTER_OES                               0x88BD
    101#endif
    102
    103/* GL_OES_packed_depth_stencil */
    104#ifndef GL_OES_packed_depth_stencil
    105#define GL_DEPTH_STENCIL_OES                                    0x84F9
    106#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
    107#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
    108#endif
    109
    110/* GL_OES_required_internalformat */
    111#ifndef GL_OES_required_internalformat
    112#define GL_ALPHA8_OES                                           0x803C
    113#define GL_DEPTH_COMPONENT16_OES                                0x81A5
    114/* reuse GL_DEPTH_COMPONENT24_OES */
    115/* reuse GL_DEPTH24_STENCIL8_OES */
    116/* reuse GL_DEPTH_COMPONENT32_OES */
    117#define GL_LUMINANCE4_ALPHA4_OES                                0x8043
    118#define GL_LUMINANCE8_ALPHA8_OES                                0x8045
    119#define GL_LUMINANCE8_OES                                       0x8040
    120#define GL_RGBA4_OES                                            0x8056
    121#define GL_RGB5_A1_OES                                          0x8057
    122#define GL_RGB565_OES                                           0x8D62
    123/* reuse GL_RGB8_OES */
    124/* reuse GL_RGBA8_OES */
    125/* reuse GL_RGB10_EXT */
    126/* reuse GL_RGB10_A2_EXT */
    127#endif
    128
    129/* GL_OES_rgb8_rgba8 */
    130#ifndef GL_OES_rgb8_rgba8
    131#define GL_RGB8_OES                                             0x8051
    132#define GL_RGBA8_OES                                            0x8058
    133#endif
    134
    135/* GL_OES_standard_derivatives */
    136#ifndef GL_OES_standard_derivatives
    137#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
    138#endif
    139
    140/* GL_OES_stencil1 */
    141#ifndef GL_OES_stencil1
    142#define GL_STENCIL_INDEX1_OES                                   0x8D46
    143#endif
    144
    145/* GL_OES_stencil4 */
    146#ifndef GL_OES_stencil4
    147#define GL_STENCIL_INDEX4_OES                                   0x8D47
    148#endif
    149
    150#ifndef GL_OES_surfaceless_context
    151#define GL_FRAMEBUFFER_UNDEFINED_OES                            0x8219
    152#endif
    153
    154/* GL_OES_texture_3D */
    155#ifndef GL_OES_texture_3D
    156#define GL_TEXTURE_WRAP_R_OES                                   0x8072
    157#define GL_TEXTURE_3D_OES                                       0x806F
    158#define GL_TEXTURE_BINDING_3D_OES                               0x806A
    159#define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
    160#define GL_SAMPLER_3D_OES                                       0x8B5F
    161#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
    162#endif
    163
    164/* GL_OES_texture_float */
    165/* No new tokens introduced by this extension. */
    166
    167/* GL_OES_texture_float_linear */
    168/* No new tokens introduced by this extension. */
    169
    170/* GL_OES_texture_half_float */
    171#ifndef GL_OES_texture_half_float
    172#define GL_HALF_FLOAT_OES                                       0x8D61
    173#endif
    174
    175/* GL_OES_texture_half_float_linear */
    176/* No new tokens introduced by this extension. */
    177
    178/* GL_OES_texture_npot */
    179/* No new tokens introduced by this extension. */
    180
    181/* GL_OES_vertex_array_object */
    182#ifndef GL_OES_vertex_array_object
    183#define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
    184#endif
    185
    186/* GL_OES_vertex_half_float */
    187/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
    188
    189/* GL_OES_vertex_type_10_10_10_2 */
    190#ifndef GL_OES_vertex_type_10_10_10_2
    191#define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
    192#define GL_INT_10_10_10_2_OES                                   0x8DF7
    193#endif
    194
    195/*------------------------------------------------------------------------*
    196 * KHR extension tokens
    197 *------------------------------------------------------------------------*/
    198
    199#ifndef GL_KHR_debug
    200typedef void (GL_APIENTRYP GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
    201#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR                         0x8242
    202#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR                 0x8243
    203#define GL_DEBUG_CALLBACK_FUNCTION_KHR                          0x8244
    204#define GL_DEBUG_CALLBACK_USER_PARAM_KHR                        0x8245
    205#define GL_DEBUG_SOURCE_API_KHR                                 0x8246
    206#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR                       0x8247
    207#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR                     0x8248
    208#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR                         0x8249
    209#define GL_DEBUG_SOURCE_APPLICATION_KHR                         0x824A
    210#define GL_DEBUG_SOURCE_OTHER_KHR                               0x824B
    211#define GL_DEBUG_TYPE_ERROR_KHR                                 0x824C
    212#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR                   0x824D
    213#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR                    0x824E
    214#define GL_DEBUG_TYPE_PORTABILITY_KHR                           0x824F
    215#define GL_DEBUG_TYPE_PERFORMANCE_KHR                           0x8250
    216#define GL_DEBUG_TYPE_OTHER_KHR                                 0x8251
    217#define GL_DEBUG_TYPE_MARKER_KHR                                0x8268
    218#define GL_DEBUG_TYPE_PUSH_GROUP_KHR                            0x8269
    219#define GL_DEBUG_TYPE_POP_GROUP_KHR                             0x826A
    220#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR                      0x826B
    221#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR                      0x826C
    222#define GL_DEBUG_GROUP_STACK_DEPTH_KHR                          0x826D
    223#define GL_BUFFER_KHR                                           0x82E0
    224#define GL_SHADER_KHR                                           0x82E1
    225#define GL_PROGRAM_KHR                                          0x82E2
    226#define GL_QUERY_KHR                                            0x82E3
    227/* PROGRAM_PIPELINE only in GL */
    228#define GL_SAMPLER_KHR                                          0x82E6
    229/* DISPLAY_LIST only in GL */
    230#define GL_MAX_LABEL_LENGTH_KHR                                 0x82E8
    231#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR                         0x9143
    232#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR                        0x9144
    233#define GL_DEBUG_LOGGED_MESSAGES_KHR                            0x9145
    234#define GL_DEBUG_SEVERITY_HIGH_KHR                              0x9146
    235#define GL_DEBUG_SEVERITY_MEDIUM_KHR                            0x9147
    236#define GL_DEBUG_SEVERITY_LOW_KHR                               0x9148
    237#define GL_DEBUG_OUTPUT_KHR                                     0x92E0
    238#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR                           0x00000002
    239#define GL_STACK_OVERFLOW_KHR                                   0x0503
    240#define GL_STACK_UNDERFLOW_KHR                                  0x0504
    241#endif
    242
    243#ifndef GL_KHR_texture_compression_astc_ldr
    244#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                         0x93B0
    245#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                         0x93B1
    246#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                         0x93B2
    247#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                         0x93B3
    248#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                         0x93B4
    249#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                         0x93B5
    250#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                         0x93B6
    251#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                         0x93B7
    252#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                        0x93B8
    253#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                        0x93B9
    254#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                        0x93BA
    255#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                       0x93BB
    256#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                       0x93BC
    257#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                       0x93BD
    258#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                 0x93D0
    259#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                 0x93D1
    260#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                 0x93D2
    261#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                 0x93D3
    262#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                 0x93D4
    263#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                 0x93D5
    264#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                 0x93D6
    265#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                 0x93D7
    266#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                0x93D8
    267#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                0x93D9
    268#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                0x93DA
    269#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR               0x93DB
    270#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR               0x93DC
    271#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR               0x93DD
    272#endif
    273
    274/*------------------------------------------------------------------------*
    275 * AMD extension tokens
    276 *------------------------------------------------------------------------*/
    277
    278/* GL_AMD_compressed_3DC_texture */
    279#ifndef GL_AMD_compressed_3DC_texture
    280#define GL_3DC_X_AMD                                            0x87F9
    281#define GL_3DC_XY_AMD                                           0x87FA
    282#endif
    283
    284/* GL_AMD_compressed_ATC_texture */
    285#ifndef GL_AMD_compressed_ATC_texture
    286#define GL_ATC_RGB_AMD                                          0x8C92
    287#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
    288#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
    289#endif
    290
    291/* GL_AMD_performance_monitor */
    292#ifndef GL_AMD_performance_monitor
    293#define GL_COUNTER_TYPE_AMD                                     0x8BC0
    294#define GL_COUNTER_RANGE_AMD                                    0x8BC1
    295#define GL_UNSIGNED_INT64_AMD                                   0x8BC2
    296#define GL_PERCENTAGE_AMD                                       0x8BC3
    297#define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
    298#define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
    299#define GL_PERFMON_RESULT_AMD                                   0x8BC6
    300#endif
    301
    302/* GL_AMD_program_binary_Z400 */
    303#ifndef GL_AMD_program_binary_Z400
    304#define GL_Z400_BINARY_AMD                                      0x8740
    305#endif
    306
    307/*------------------------------------------------------------------------*
    308 * ANGLE extension tokens
    309 *------------------------------------------------------------------------*/
    310
    311/* GL_ANGLE_depth_texture */
    312#ifndef GL_ANGLE_depth_texture
    313#define GL_DEPTH_COMPONENT                                      0x1902
    314#define GL_DEPTH_STENCIL_OES                                    0x84F9
    315#define GL_UNSIGNED_SHORT                                       0x1403
    316#define GL_UNSIGNED_INT                                         0x1405
    317#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
    318#define GL_DEPTH_COMPONENT16                                    0x81A5
    319#define GL_DEPTH_COMPONENT32_OES                                0x81A7
    320#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
    321#endif
    322
    323/* GL_ANGLE_framebuffer_blit */
    324#ifndef GL_ANGLE_framebuffer_blit
    325#define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
    326#define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
    327#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
    328#define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
    329#endif
    330
    331/* GL_ANGLE_framebuffer_multisample */
    332#ifndef GL_ANGLE_framebuffer_multisample
    333#define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
    334#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
    335#define GL_MAX_SAMPLES_ANGLE                                    0x8D57
    336#endif
    337
    338/* GL_ANGLE_instanced_arrays */
    339#ifndef GL_ANGLE_instanced_arrays
    340#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
    341#endif
    342
    343/* GL_ANGLE_pack_reverse_row_order */
    344#ifndef GL_ANGLE_pack_reverse_row_order
    345#define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
    346#endif
    347
    348/* GL_ANGLE_program_binary */
    349#ifndef GL_ANGLE_program_binary
    350#define GL_PROGRAM_BINARY_ANGLE                                 0x93A6
    351#endif
    352
    353/* GL_ANGLE_texture_compression_dxt3 */
    354#ifndef GL_ANGLE_texture_compression_dxt3
    355#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
    356#endif
    357
    358/* GL_ANGLE_texture_compression_dxt5 */
    359#ifndef GL_ANGLE_texture_compression_dxt5
    360#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
    361#endif
    362
    363/* GL_ANGLE_texture_usage */
    364#ifndef GL_ANGLE_texture_usage
    365#define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
    366#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
    367#endif
    368
    369/* GL_ANGLE_translated_shader_source */
    370#ifndef GL_ANGLE_translated_shader_source
    371#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
    372#endif
    373
    374/*------------------------------------------------------------------------*
    375 * APPLE extension tokens
    376 *------------------------------------------------------------------------*/
    377
    378/* GL_APPLE_copy_texture_levels */
    379/* No new tokens introduced by this extension. */
    380
    381/* GL_APPLE_framebuffer_multisample */
    382#ifndef GL_APPLE_framebuffer_multisample
    383#define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
    384#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
    385#define GL_MAX_SAMPLES_APPLE                                    0x8D57
    386#define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
    387#define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
    388#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
    389#define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
    390#endif
    391
    392/* GL_APPLE_rgb_422 */
    393#ifndef GL_APPLE_rgb_422
    394#define GL_RGB_422_APPLE                                        0x8A1F
    395#define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
    396#define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
    397#endif
    398
    399/* GL_APPLE_sync */
    400#ifndef GL_APPLE_sync
    401
    402#define GL_SYNC_OBJECT_APPLE                                    0x8A53
    403#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
    404#define GL_OBJECT_TYPE_APPLE                                    0x9112
    405#define GL_SYNC_CONDITION_APPLE                                 0x9113
    406#define GL_SYNC_STATUS_APPLE                                    0x9114
    407#define GL_SYNC_FLAGS_APPLE                                     0x9115
    408#define GL_SYNC_FENCE_APPLE                                     0x9116
    409#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
    410#define GL_UNSIGNALED_APPLE                                     0x9118
    411#define GL_SIGNALED_APPLE                                       0x9119
    412#define GL_ALREADY_SIGNALED_APPLE                               0x911A
    413#define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
    414#define GL_CONDITION_SATISFIED_APPLE                            0x911C
    415#define GL_WAIT_FAILED_APPLE                                    0x911D
    416#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
    417#define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
    418#endif
    419
    420/* GL_APPLE_texture_format_BGRA8888 */
    421#ifndef GL_APPLE_texture_format_BGRA8888
    422#define GL_BGRA_EXT                                             0x80E1
    423#endif
    424
    425/* GL_APPLE_texture_max_level */
    426#ifndef GL_APPLE_texture_max_level
    427#define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
    428#endif
    429
    430/*------------------------------------------------------------------------*
    431 * ARM extension tokens
    432 *------------------------------------------------------------------------*/
    433
    434/* GL_ARM_mali_program_binary */
    435#ifndef GL_ARM_mali_program_binary
    436#define GL_MALI_PROGRAM_BINARY_ARM                              0x8F61
    437#endif
    438
    439/* GL_ARM_mali_shader_binary */
    440#ifndef GL_ARM_mali_shader_binary
    441#define GL_MALI_SHADER_BINARY_ARM                               0x8F60
    442#endif
    443
    444/* GL_ARM_rgba8 */
    445/* No new tokens introduced by this extension. */
    446
    447/*------------------------------------------------------------------------*
    448 * EXT extension tokens
    449 *------------------------------------------------------------------------*/
    450
    451/* GL_EXT_blend_minmax */
    452#ifndef GL_EXT_blend_minmax
    453#define GL_MIN_EXT                                              0x8007
    454#define GL_MAX_EXT                                              0x8008
    455#endif
    456
    457/* GL_EXT_color_buffer_half_float */
    458#ifndef GL_EXT_color_buffer_half_float
    459#define GL_RGBA16F_EXT                                          0x881A
    460#define GL_RGB16F_EXT                                           0x881B
    461#define GL_RG16F_EXT                                            0x822F
    462#define GL_R16F_EXT                                             0x822D
    463#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
    464#define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
    465#endif
    466
    467/* GL_EXT_debug_label */
    468#ifndef GL_EXT_debug_label
    469#define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
    470#define GL_PROGRAM_OBJECT_EXT                                   0x8B40
    471#define GL_SHADER_OBJECT_EXT                                    0x8B48
    472#define GL_BUFFER_OBJECT_EXT                                    0x9151
    473#define GL_QUERY_OBJECT_EXT                                     0x9153
    474#define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
    475#endif
    476
    477/* GL_EXT_debug_marker */
    478/* No new tokens introduced by this extension. */
    479
    480/* GL_EXT_discard_framebuffer */
    481#ifndef GL_EXT_discard_framebuffer
    482#define GL_COLOR_EXT                                            0x1800
    483#define GL_DEPTH_EXT                                            0x1801
    484#define GL_STENCIL_EXT                                          0x1802
    485#endif
    486
    487#ifndef GL_EXT_disjoint_timer_query
    488#define GL_QUERY_COUNTER_BITS_EXT                               0x8864
    489#define GL_CURRENT_QUERY_EXT                                    0x8865
    490#define GL_QUERY_RESULT_EXT                                     0x8866
    491#define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
    492#define GL_TIME_ELAPSED_EXT                                     0x88BF
    493#define GL_TIMESTAMP_EXT                                        0x8E28
    494#define GL_GPU_DISJOINT_EXT                                     0x8FBB
    495#endif
    496
    497#ifndef GL_EXT_draw_buffers
    498#define GL_EXT_draw_buffers 1
    499#define GL_MAX_COLOR_ATTACHMENTS_EXT                            0x8CDF
    500#define GL_MAX_DRAW_BUFFERS_EXT                                 0x8824
    501#define GL_DRAW_BUFFER0_EXT                                     0x8825
    502#define GL_DRAW_BUFFER1_EXT                                     0x8826
    503#define GL_DRAW_BUFFER2_EXT                                     0x8827
    504#define GL_DRAW_BUFFER3_EXT                                     0x8828
    505#define GL_DRAW_BUFFER4_EXT                                     0x8829
    506#define GL_DRAW_BUFFER5_EXT                                     0x882A
    507#define GL_DRAW_BUFFER6_EXT                                     0x882B
    508#define GL_DRAW_BUFFER7_EXT                                     0x882C
    509#define GL_DRAW_BUFFER8_EXT                                     0x882D
    510#define GL_DRAW_BUFFER9_EXT                                     0x882E
    511#define GL_DRAW_BUFFER10_EXT                                    0x882F
    512#define GL_DRAW_BUFFER11_EXT                                    0x8830
    513#define GL_DRAW_BUFFER12_EXT                                    0x8831
    514#define GL_DRAW_BUFFER13_EXT                                    0x8832
    515#define GL_DRAW_BUFFER14_EXT                                    0x8833
    516#define GL_DRAW_BUFFER15_EXT                                    0x8834
    517#define GL_COLOR_ATTACHMENT0_EXT                                0x8CE0
    518#define GL_COLOR_ATTACHMENT1_EXT                                0x8CE1
    519#define GL_COLOR_ATTACHMENT2_EXT                                0x8CE2
    520#define GL_COLOR_ATTACHMENT3_EXT                                0x8CE3
    521#define GL_COLOR_ATTACHMENT4_EXT                                0x8CE4
    522#define GL_COLOR_ATTACHMENT5_EXT                                0x8CE5
    523#define GL_COLOR_ATTACHMENT6_EXT                                0x8CE6
    524#define GL_COLOR_ATTACHMENT7_EXT                                0x8CE7
    525#define GL_COLOR_ATTACHMENT8_EXT                                0x8CE8
    526#define GL_COLOR_ATTACHMENT9_EXT                                0x8CE9
    527#define GL_COLOR_ATTACHMENT10_EXT                               0x8CEA
    528#define GL_COLOR_ATTACHMENT11_EXT                               0x8CEB
    529#define GL_COLOR_ATTACHMENT12_EXT                               0x8CEC
    530#define GL_COLOR_ATTACHMENT13_EXT                               0x8CED
    531#define GL_COLOR_ATTACHMENT14_EXT                               0x8CEE
    532#define GL_COLOR_ATTACHMENT15_EXT                               0x8CEF
    533#endif
    534
    535/* GL_EXT_map_buffer_range */
    536#ifndef GL_EXT_map_buffer_range
    537#define GL_MAP_READ_BIT_EXT                                     0x0001
    538#define GL_MAP_WRITE_BIT_EXT                                    0x0002
    539#define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
    540#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
    541#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
    542#define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
    543#endif
    544
    545/* GL_EXT_multisampled_render_to_texture */
    546#ifndef GL_EXT_multisampled_render_to_texture
    547#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
    548/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
    549#define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
    550#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
    551#define GL_MAX_SAMPLES_EXT                                      0x8D57
    552#endif
    553
    554/* GL_EXT_multiview_draw_buffers */
    555#ifndef GL_EXT_multiview_draw_buffers
    556#define GL_COLOR_ATTACHMENT_EXT                                 0x90F0
    557#define GL_MULTIVIEW_EXT                                        0x90F1
    558#define GL_DRAW_BUFFER_EXT                                      0x0C01
    559#define GL_READ_BUFFER_EXT                                      0x0C02
    560#define GL_MAX_MULTIVIEW_BUFFERS_EXT                            0x90F2
    561#endif
    562
    563/* GL_EXT_multi_draw_arrays */
    564/* No new tokens introduced by this extension. */
    565
    566/* GL_EXT_occlusion_query_boolean */
    567#ifndef GL_EXT_occlusion_query_boolean
    568#define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
    569#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
    570#define GL_CURRENT_QUERY_EXT                                    0x8865
    571#define GL_QUERY_RESULT_EXT                                     0x8866
    572#define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
    573#endif
    574
    575/* GL_EXT_read_format_bgra */
    576#ifndef GL_EXT_read_format_bgra
    577#define GL_BGRA_EXT                                             0x80E1
    578#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
    579#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
    580#endif
    581
    582/* GL_EXT_robustness */
    583#ifndef GL_EXT_robustness
    584/* reuse GL_NO_ERROR */
    585#define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
    586#define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
    587#define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
    588#define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
    589#define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
    590#define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
    591#define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
    592#endif
    593
    594/* GL_EXT_separate_shader_objects */
    595#ifndef GL_EXT_separate_shader_objects
    596#define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
    597#define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
    598#define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
    599#define GL_PROGRAM_SEPARABLE_EXT                                0x8258
    600#define GL_ACTIVE_PROGRAM_EXT                                   0x8259
    601#define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
    602#endif
    603
    604/* GL_EXT_shader_framebuffer_fetch */
    605#ifndef GL_EXT_shader_framebuffer_fetch
    606#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                 0x8A52
    607#endif
    608
    609/* GL_EXT_shader_texture_lod */
    610/* No new tokens introduced by this extension. */
    611
    612/* GL_EXT_shadow_samplers */
    613#ifndef GL_EXT_shadow_samplers
    614#define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
    615#define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
    616#define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
    617#define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
    618#endif
    619
    620/* GL_EXT_sRGB */
    621#ifndef GL_EXT_sRGB
    622#define GL_SRGB_EXT                                             0x8C40
    623#define GL_SRGB_ALPHA_EXT                                       0x8C42
    624#define GL_SRGB8_ALPHA8_EXT                                     0x8C43
    625#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
    626#endif
    627
    628/* GL_EXT_sRGB_write_control */
    629#ifndef GL_EXT_sRGB_write_control
    630#define GL_EXT_sRGB_write_control 1
    631#define GL_FRAMEBUFFER_SRGB_EXT                                 0x8DB9
    632#endif
    633
    634/* GL_EXT_texture_compression_dxt1 */
    635#ifndef GL_EXT_texture_compression_dxt1
    636#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
    637#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
    638#endif
    639
    640/* GL_EXT_texture_filter_anisotropic */
    641#ifndef GL_EXT_texture_filter_anisotropic
    642#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
    643#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
    644#endif
    645
    646/* GL_EXT_texture_format_BGRA8888 */
    647#ifndef GL_EXT_texture_format_BGRA8888
    648#define GL_BGRA_EXT                                             0x80E1
    649#endif
    650
    651/* GL_EXT_texture_rg */
    652#ifndef GL_EXT_texture_rg
    653#define GL_RED_EXT                                              0x1903
    654#define GL_RG_EXT                                               0x8227
    655#define GL_R8_EXT                                               0x8229
    656#define GL_RG8_EXT                                              0x822B
    657#endif
    658
    659/* GL_EXT_texture_sRGB_decode */
    660#ifndef GL_EXT_texture_sRGB_decode
    661#define GL_EXT_texture_sRGB_decode 1
    662#define GL_TEXTURE_SRGB_DECODE_EXT                              0x8A48
    663#define GL_DECODE_EXT                                           0x8A49
    664#define GL_SKIP_DECODE_EXT                                      0x8A4A
    665#endif
    666
    667/* GL_EXT_texture_storage */
    668#ifndef GL_EXT_texture_storage
    669#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
    670#define GL_ALPHA8_EXT                                           0x803C
    671#define GL_LUMINANCE8_EXT                                       0x8040
    672#define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
    673#define GL_RGBA32F_EXT                                          0x8814
    674#define GL_RGB32F_EXT                                           0x8815
    675#define GL_ALPHA32F_EXT                                         0x8816
    676#define GL_LUMINANCE32F_EXT                                     0x8818
    677#define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
    678/* reuse GL_RGBA16F_EXT */
    679/* reuse GL_RGB16F_EXT */
    680#define GL_ALPHA16F_EXT                                         0x881C
    681#define GL_LUMINANCE16F_EXT                                     0x881E
    682#define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
    683#define GL_RGB10_A2_EXT                                         0x8059
    684#define GL_RGB10_EXT                                            0x8052
    685#define GL_BGRA8_EXT                                            0x93A1
    686#define GL_R8_EXT                                               0x8229
    687#define GL_RG8_EXT                                              0x822B
    688#define GL_R32F_EXT                                             0x822E
    689#define GL_RG32F_EXT                                            0x8230
    690#define GL_R16F_EXT                                             0x822D
    691#define GL_RG16F_EXT                                            0x822F
    692#endif
    693
    694/* GL_EXT_texture_type_2_10_10_10_REV */
    695#ifndef GL_EXT_texture_type_2_10_10_10_REV
    696#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
    697#endif
    698
    699/* GL_EXT_unpack_subimage */
    700#ifndef GL_EXT_unpack_subimage
    701#define GL_UNPACK_ROW_LENGTH_EXT                                0x0CF2
    702#define GL_UNPACK_SKIP_ROWS_EXT                                 0x0CF3
    703#define GL_UNPACK_SKIP_PIXELS_EXT                               0x0CF4
    704#endif
    705
    706/*------------------------------------------------------------------------*
    707 * DMP extension tokens
    708 *------------------------------------------------------------------------*/
    709
    710/* GL_DMP_shader_binary */
    711#ifndef GL_DMP_shader_binary
    712#define GL_SHADER_BINARY_DMP                                    0x9250
    713#endif
    714
    715/*------------------------------------------------------------------------*
    716 * FJ extension tokens
    717 *------------------------------------------------------------------------*/
    718
    719/* GL_FJ_shader_binary_GCCSO */
    720#ifndef GL_FJ_shader_binary_GCCSO
    721#define GL_GCCSO_SHADER_BINARY_FJ                               0x9260
    722#endif
    723
    724/*------------------------------------------------------------------------*
    725 * IMG extension tokens
    726 *------------------------------------------------------------------------*/
    727
    728/* GL_IMG_program_binary */
    729#ifndef GL_IMG_program_binary
    730#define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
    731#endif
    732
    733/* GL_IMG_read_format */
    734#ifndef GL_IMG_read_format
    735#define GL_BGRA_IMG                                             0x80E1
    736#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
    737#endif
    738
    739/* GL_IMG_shader_binary */
    740#ifndef GL_IMG_shader_binary
    741#define GL_SGX_BINARY_IMG                                       0x8C0A
    742#endif
    743
    744/* GL_IMG_texture_compression_pvrtc */
    745#ifndef GL_IMG_texture_compression_pvrtc
    746#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
    747#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
    748#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
    749#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
    750#endif
    751
    752/* GL_IMG_texture_compression_pvrtc2 */
    753#ifndef GL_IMG_texture_compression_pvrtc2
    754#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG                     0x9137
    755#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG                     0x9138
    756#endif
    757
    758/* GL_IMG_multisampled_render_to_texture */
    759#ifndef GL_IMG_multisampled_render_to_texture
    760#define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
    761#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
    762#define GL_MAX_SAMPLES_IMG                                      0x9135
    763#define GL_TEXTURE_SAMPLES_IMG                                  0x9136
    764#endif
    765
    766/*------------------------------------------------------------------------*
    767 * NV extension tokens
    768 *------------------------------------------------------------------------*/
    769
    770/* GL_NV_coverage_sample */
    771#ifndef GL_NV_coverage_sample
    772#define GL_COVERAGE_COMPONENT_NV                                0x8ED0
    773#define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
    774#define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
    775#define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
    776#define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
    777#define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
    778#define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
    779#define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
    780#define GL_COVERAGE_BUFFER_BIT_NV                               0x00008000
    781#endif
    782
    783/* GL_NV_depth_nonlinear */
    784#ifndef GL_NV_depth_nonlinear
    785#define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
    786#endif
    787
    788/* GL_NV_draw_buffers */
    789#ifndef GL_NV_draw_buffers
    790#define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
    791#define GL_DRAW_BUFFER0_NV                                      0x8825
    792#define GL_DRAW_BUFFER1_NV                                      0x8826
    793#define GL_DRAW_BUFFER2_NV                                      0x8827
    794#define GL_DRAW_BUFFER3_NV                                      0x8828
    795#define GL_DRAW_BUFFER4_NV                                      0x8829
    796#define GL_DRAW_BUFFER5_NV                                      0x882A
    797#define GL_DRAW_BUFFER6_NV                                      0x882B
    798#define GL_DRAW_BUFFER7_NV                                      0x882C
    799#define GL_DRAW_BUFFER8_NV                                      0x882D
    800#define GL_DRAW_BUFFER9_NV                                      0x882E
    801#define GL_DRAW_BUFFER10_NV                                     0x882F
    802#define GL_DRAW_BUFFER11_NV                                     0x8830
    803#define GL_DRAW_BUFFER12_NV                                     0x8831
    804#define GL_DRAW_BUFFER13_NV                                     0x8832
    805#define GL_DRAW_BUFFER14_NV                                     0x8833
    806#define GL_DRAW_BUFFER15_NV                                     0x8834
    807#define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
    808#define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
    809#define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
    810#define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
    811#define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
    812#define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
    813#define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
    814#define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
    815#define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
    816#define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
    817#define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
    818#define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
    819#define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
    820#define GL_COLOR_ATTACHMENT13_NV                                0x8CED
    821#define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
    822#define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
    823#endif
    824
    825/* GL_NV_draw_instanced */
    826/* No new tokens introduced by this extension. */
    827
    828/* GL_NV_fbo_color_attachments */
    829#ifndef GL_NV_fbo_color_attachments
    830#define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
    831/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
    832#endif
    833
    834/* GL_NV_fence */
    835#ifndef GL_NV_fence
    836#define GL_ALL_COMPLETED_NV                                     0x84F2
    837#define GL_FENCE_STATUS_NV                                      0x84F3
    838#define GL_FENCE_CONDITION_NV                                   0x84F4
    839#endif
    840
    841/* GL_NV_framebuffer_blit */
    842#ifndef GL_NV_framebuffer_blit
    843#define GL_READ_FRAMEBUFFER_NV                                  0x8CA8
    844#define GL_DRAW_FRAMEBUFFER_NV                                  0x8CA9
    845#define GL_DRAW_FRAMEBUFFER_BINDING_NV                          0x8CA6
    846#define GL_READ_FRAMEBUFFER_BINDING_NV                          0x8CAA
    847#endif
    848
    849/* GL_NV_framebuffer_multisample */
    850#ifndef GL_NV_framebuffer_multisample
    851#define GL_RENDERBUFFER_SAMPLES_NV                              0x8CAB
    852#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV                0x8D56
    853#define GL_MAX_SAMPLES_NV                                       0x8D57
    854#endif
    855
    856/* GL_NV_generate_mipmap_sRGB */
    857/* No new tokens introduced by this extension. */
    858
    859/* GL_NV_instanced_arrays */
    860#ifndef GL_NV_instanced_arrays
    861#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV                       0x88FE
    862#endif
    863
    864/* GL_NV_read_buffer */
    865#ifndef GL_NV_read_buffer
    866#define GL_READ_BUFFER_NV                                       0x0C02
    867#endif
    868
    869/* GL_NV_read_buffer_front */
    870/* No new tokens introduced by this extension. */
    871
    872/* GL_NV_read_depth */
    873/* No new tokens introduced by this extension. */
    874
    875/* GL_NV_read_depth_stencil */
    876/* No new tokens introduced by this extension. */
    877
    878/* GL_NV_read_stencil */
    879/* No new tokens introduced by this extension. */
    880
    881/* GL_NV_shadow_samplers_array */
    882#ifndef GL_NV_shadow_samplers_array
    883#define GL_SAMPLER_2D_ARRAY_SHADOW_NV                           0x8DC4
    884#endif
    885
    886/* GL_NV_shadow_samplers_cube */
    887#ifndef GL_NV_shadow_samplers_cube
    888#define GL_SAMPLER_CUBE_SHADOW_NV                               0x8DC5
    889#endif
    890
    891/* GL_NV_sRGB_formats */
    892#ifndef GL_NV_sRGB_formats
    893#define GL_SLUMINANCE_NV                                        0x8C46
    894#define GL_SLUMINANCE_ALPHA_NV                                  0x8C44
    895#define GL_SRGB8_NV                                             0x8C41
    896#define GL_SLUMINANCE8_NV                                       0x8C47
    897#define GL_SLUMINANCE8_ALPHA8_NV                                0x8C45
    898#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV                         0x8C4C
    899#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV                   0x8C4D
    900#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV                   0x8C4E
    901#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV                   0x8C4F
    902#define GL_ETC1_SRGB8_NV                                        0x88EE
    903#endif
    904
    905/* GL_NV_texture_border_clamp */
    906#ifndef GL_NV_texture_border_clamp
    907#define GL_TEXTURE_BORDER_COLOR_NV                              0x1004
    908#define GL_CLAMP_TO_BORDER_NV                                   0x812D
    909#endif
    910
    911/* GL_NV_texture_compression_s3tc_update */
    912/* No new tokens introduced by this extension. */
    913
    914/* GL_NV_texture_npot_2D_mipmap */
    915/* No new tokens introduced by this extension. */
    916
    917/*------------------------------------------------------------------------*
    918 * QCOM extension tokens
    919 *------------------------------------------------------------------------*/
    920
    921/* GL_QCOM_alpha_test */
    922#ifndef GL_QCOM_alpha_test
    923#define GL_ALPHA_TEST_QCOM                                      0x0BC0
    924#define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
    925#define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
    926#endif
    927
    928/* GL_QCOM_binning_control */
    929#ifndef GL_QCOM_binning_control
    930#define GL_BINNING_CONTROL_HINT_QCOM                            0x8FB0
    931#define GL_CPU_OPTIMIZED_QCOM                                   0x8FB1
    932#define GL_GPU_OPTIMIZED_QCOM                                   0x8FB2
    933#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                    0x8FB3
    934#endif
    935
    936/* GL_QCOM_driver_control */
    937/* No new tokens introduced by this extension. */
    938
    939/* GL_QCOM_extended_get */
    940#ifndef GL_QCOM_extended_get
    941#define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
    942#define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
    943#define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
    944#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
    945#define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
    946#define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
    947#define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
    948#define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
    949#define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
    950#define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
    951#define GL_STATE_RESTORE                                        0x8BDC
    952#endif
    953
    954/* GL_QCOM_extended_get2 */
    955/* No new tokens introduced by this extension. */
    956
    957/* GL_QCOM_perfmon_global_mode */
    958#ifndef GL_QCOM_perfmon_global_mode
    959#define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
    960#endif
    961
    962/* GL_QCOM_writeonly_rendering */
    963#ifndef GL_QCOM_writeonly_rendering
    964#define GL_WRITEONLY_RENDERING_QCOM                             0x8823
    965#endif
    966
    967/* GL_QCOM_tiled_rendering */
    968#ifndef GL_QCOM_tiled_rendering
    969#define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
    970#define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
    971#define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
    972#define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
    973#define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
    974#define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
    975#define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
    976#define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
    977#define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
    978#define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
    979#define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
    980#define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
    981#define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
    982#define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
    983#define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
    984#define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
    985#define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
    986#define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
    987#define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
    988#define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
    989#define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
    990#define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
    991#define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
    992#define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
    993#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
    994#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
    995#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
    996#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
    997#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
    998#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
    999#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
   1000#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
   1001#endif
   1002
   1003/*------------------------------------------------------------------------*
   1004 * VIV extension tokens
   1005 *------------------------------------------------------------------------*/
   1006
   1007/* GL_VIV_shader_binary */
   1008#ifndef GL_VIV_shader_binary
   1009#define GL_SHADER_BINARY_VIV                                    0x8FC4
   1010#endif
   1011
   1012/*------------------------------------------------------------------------*
   1013 * End of extension tokens, start of corresponding extension functions
   1014 *------------------------------------------------------------------------*/
   1015
   1016/*------------------------------------------------------------------------*
   1017 * OES extension functions
   1018 *------------------------------------------------------------------------*/
   1019
   1020/* GL_OES_compressed_ETC1_RGB8_texture */
   1021#ifndef GL_OES_compressed_ETC1_RGB8_texture
   1022#define GL_OES_compressed_ETC1_RGB8_texture 1
   1023#endif
   1024
   1025/* GL_OES_compressed_paletted_texture */
   1026#ifndef GL_OES_compressed_paletted_texture
   1027#define GL_OES_compressed_paletted_texture 1
   1028#endif
   1029
   1030/* GL_OES_depth24 */
   1031#ifndef GL_OES_depth24
   1032#define GL_OES_depth24 1
   1033#endif
   1034
   1035/* GL_OES_depth32 */
   1036#ifndef GL_OES_depth32
   1037#define GL_OES_depth32 1
   1038#endif
   1039
   1040/* GL_OES_depth_texture */
   1041#ifndef GL_OES_depth_texture
   1042#define GL_OES_depth_texture 1
   1043#endif
   1044
   1045/* GL_OES_EGL_image */
   1046#ifndef GL_OES_EGL_image
   1047#define GL_OES_EGL_image 1
   1048#ifdef GL_GLEXT_PROTOTYPES
   1049GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
   1050GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
   1051#endif
   1052typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
   1053typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
   1054#endif
   1055
   1056/* GL_OES_EGL_image_external */
   1057#ifndef GL_OES_EGL_image_external
   1058#define GL_OES_EGL_image_external 1
   1059/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
   1060#endif
   1061
   1062/* GL_OES_element_index_uint */
   1063#ifndef GL_OES_element_index_uint
   1064#define GL_OES_element_index_uint 1
   1065#endif
   1066
   1067/* GL_OES_fbo_render_mipmap */
   1068#ifndef GL_OES_fbo_render_mipmap
   1069#define GL_OES_fbo_render_mipmap 1
   1070#endif
   1071
   1072/* GL_OES_fragment_precision_high */
   1073#ifndef GL_OES_fragment_precision_high
   1074#define GL_OES_fragment_precision_high 1
   1075#endif
   1076
   1077/* GL_OES_get_program_binary */
   1078#ifndef GL_OES_get_program_binary
   1079#define GL_OES_get_program_binary 1
   1080#ifdef GL_GLEXT_PROTOTYPES
   1081GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
   1082GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
   1083#endif
   1084typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
   1085typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
   1086#endif
   1087
   1088/* GL_OES_mapbuffer */
   1089#ifndef GL_OES_mapbuffer
   1090#define GL_OES_mapbuffer 1
   1091#ifdef GL_GLEXT_PROTOTYPES
   1092GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
   1093GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
   1094GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid **params);
   1095#endif
   1096typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
   1097typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
   1098typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid **params);
   1099#endif
   1100
   1101/* GL_OES_packed_depth_stencil */
   1102#ifndef GL_OES_packed_depth_stencil
   1103#define GL_OES_packed_depth_stencil 1
   1104#endif
   1105
   1106/* GL_OES_required_internalformat */
   1107#ifndef GL_OES_required_internalformat
   1108#define GL_OES_required_internalformat 1
   1109#endif
   1110
   1111/* GL_OES_rgb8_rgba8 */
   1112#ifndef GL_OES_rgb8_rgba8
   1113#define GL_OES_rgb8_rgba8 1
   1114#endif
   1115
   1116/* GL_OES_standard_derivatives */
   1117#ifndef GL_OES_standard_derivatives
   1118#define GL_OES_standard_derivatives 1
   1119#endif
   1120
   1121/* GL_OES_stencil1 */
   1122#ifndef GL_OES_stencil1
   1123#define GL_OES_stencil1 1
   1124#endif
   1125
   1126/* GL_OES_stencil4 */
   1127#ifndef GL_OES_stencil4
   1128#define GL_OES_stencil4 1
   1129#endif
   1130
   1131#ifndef GL_OES_surfaceless_context
   1132#define GL_OES_surfaceless_context 1
   1133#endif
   1134
   1135/* GL_OES_texture_3D */
   1136#ifndef GL_OES_texture_3D
   1137#define GL_OES_texture_3D 1
   1138#ifdef GL_GLEXT_PROTOTYPES
   1139GL_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);
   1140GL_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);
   1141GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1142GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
   1143GL_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);
   1144GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
   1145#endif
   1146typedef 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);
   1147typedef 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);
   1148typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1149typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
   1150typedef 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);
   1151typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
   1152#endif
   1153
   1154/* GL_OES_texture_float */
   1155#ifndef GL_OES_texture_float
   1156#define GL_OES_texture_float 1
   1157#endif
   1158
   1159/* GL_OES_texture_float_linear */
   1160#ifndef GL_OES_texture_float_linear
   1161#define GL_OES_texture_float_linear 1
   1162#endif
   1163
   1164/* GL_OES_texture_half_float */
   1165#ifndef GL_OES_texture_half_float
   1166#define GL_OES_texture_half_float 1
   1167#endif
   1168
   1169/* GL_OES_texture_half_float_linear */
   1170#ifndef GL_OES_texture_half_float_linear
   1171#define GL_OES_texture_half_float_linear 1
   1172#endif
   1173
   1174/* GL_OES_texture_npot */
   1175#ifndef GL_OES_texture_npot
   1176#define GL_OES_texture_npot 1
   1177#endif
   1178
   1179/* GL_OES_vertex_array_object */
   1180#ifndef GL_OES_vertex_array_object
   1181#define GL_OES_vertex_array_object 1
   1182#ifdef GL_GLEXT_PROTOTYPES
   1183GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
   1184GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
   1185GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
   1186GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
   1187#endif
   1188typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
   1189typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
   1190typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
   1191typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
   1192#endif
   1193
   1194/* GL_OES_vertex_half_float */
   1195#ifndef GL_OES_vertex_half_float
   1196#define GL_OES_vertex_half_float 1
   1197#endif
   1198
   1199/* GL_OES_vertex_type_10_10_10_2 */
   1200#ifndef GL_OES_vertex_type_10_10_10_2
   1201#define GL_OES_vertex_type_10_10_10_2 1
   1202#endif
   1203
   1204/*------------------------------------------------------------------------*
   1205 * KHR extension functions
   1206 *------------------------------------------------------------------------*/
   1207
   1208#ifndef GL_KHR_debug
   1209#define GL_KHR_debug 1
   1210#ifdef GL_GLEXT_PROTOTYPES
   1211GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1212GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1213GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
   1214GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1215GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1216GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
   1217GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1218GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1219GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
   1220GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1221GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, GLvoid **params);
   1222#endif
   1223typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1224typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1225typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
   1226typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1227typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1228typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
   1229typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1230typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1231typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
   1232typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1233typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, GLvoid **params);
   1234#endif
   1235
   1236#ifndef GL_KHR_texture_compression_astc_ldr
   1237#define GL_KHR_texture_compression_astc_ldr 1
   1238#endif
   1239
   1240
   1241/*------------------------------------------------------------------------*
   1242 * AMD extension functions
   1243 *------------------------------------------------------------------------*/
   1244
   1245/* GL_AMD_compressed_3DC_texture */
   1246#ifndef GL_AMD_compressed_3DC_texture
   1247#define GL_AMD_compressed_3DC_texture 1
   1248#endif
   1249
   1250/* GL_AMD_compressed_ATC_texture */
   1251#ifndef GL_AMD_compressed_ATC_texture
   1252#define GL_AMD_compressed_ATC_texture 1
   1253#endif
   1254
   1255/* AMD_performance_monitor */
   1256#ifndef GL_AMD_performance_monitor
   1257#define GL_AMD_performance_monitor 1
   1258#ifdef GL_GLEXT_PROTOTYPES
   1259GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
   1260GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
   1261GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
   1262GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
   1263GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
   1264GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
   1265GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
   1266GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
   1267GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
   1268GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
   1269GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
   1270#endif
   1271typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
   1272typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
   1273typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
   1274typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
   1275typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
   1276typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
   1277typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
   1278typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
   1279typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
   1280typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
   1281typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
   1282#endif
   1283
   1284/* GL_AMD_program_binary_Z400 */
   1285#ifndef GL_AMD_program_binary_Z400
   1286#define GL_AMD_program_binary_Z400 1
   1287#endif
   1288
   1289/*------------------------------------------------------------------------*
   1290 * ANGLE extension functions
   1291 *------------------------------------------------------------------------*/
   1292
   1293/* GL_ANGLE_depth_texture */
   1294#ifndef GL_ANGLE_depth_texture
   1295#define GL_ANGLE_depth_texture 1
   1296#endif
   1297
   1298/* GL_ANGLE_framebuffer_blit */
   1299#ifndef GL_ANGLE_framebuffer_blit
   1300#define GL_ANGLE_framebuffer_blit 1
   1301#ifdef GL_GLEXT_PROTOTYPES
   1302GL_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);
   1303#endif
   1304typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
   1305#endif
   1306
   1307/* GL_ANGLE_framebuffer_multisample */
   1308#ifndef GL_ANGLE_framebuffer_multisample
   1309#define GL_ANGLE_framebuffer_multisample 1
   1310#ifdef GL_GLEXT_PROTOTYPES
   1311GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1312#endif
   1313typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1314#endif
   1315
   1316#ifndef GL_ANGLE_instanced_arrays
   1317#define GL_ANGLE_instanced_arrays 1
   1318#ifdef GL_GLEXT_PROTOTYPES
   1319GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1320GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
   1321GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
   1322#endif
   1323typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1324typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
   1325typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
   1326#endif
   1327
   1328/* GL_ANGLE_pack_reverse_row_order */
   1329#ifndef GL_ANGLE_pack_reverse_row_order
   1330#define GL_ANGLE_pack_reverse_row_order 1
   1331#endif
   1332
   1333/* GL_ANGLE_program_binary */
   1334#ifndef GL_ANGLE_program_binary
   1335#define GL_ANGLE_program_binary 1
   1336#endif
   1337
   1338/* GL_ANGLE_texture_compression_dxt3 */
   1339#ifndef GL_ANGLE_texture_compression_dxt3
   1340#define GL_ANGLE_texture_compression_dxt3 1
   1341#endif
   1342
   1343/* GL_ANGLE_texture_compression_dxt5 */
   1344#ifndef GL_ANGLE_texture_compression_dxt5
   1345#define GL_ANGLE_texture_compression_dxt5 1
   1346#endif
   1347
   1348/* GL_ANGLE_texture_usage */
   1349#ifndef GL_ANGLE_texture_usage
   1350#define GL_ANGLE_texture_usage 1
   1351#endif
   1352
   1353#ifndef GL_ANGLE_translated_shader_source
   1354#define GL_ANGLE_translated_shader_source 1
   1355#ifdef GL_GLEXT_PROTOTYPES
   1356GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
   1357#endif
   1358typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
   1359#endif
   1360
   1361/*------------------------------------------------------------------------*
   1362 * APPLE extension functions
   1363 *------------------------------------------------------------------------*/
   1364
   1365/* GL_APPLE_copy_texture_levels */
   1366#ifndef GL_APPLE_copy_texture_levels
   1367#define GL_APPLE_copy_texture_levels 1
   1368#ifdef GL_GLEXT_PROTOTYPES
   1369GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
   1370#endif
   1371typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
   1372#endif
   1373
   1374/* GL_APPLE_framebuffer_multisample */
   1375#ifndef GL_APPLE_framebuffer_multisample
   1376#define GL_APPLE_framebuffer_multisample 1
   1377#ifdef GL_GLEXT_PROTOTYPES
   1378GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1379GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
   1380#endif /* GL_GLEXT_PROTOTYPES */
   1381typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1382typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
   1383#endif
   1384
   1385/* GL_APPLE_rgb_422 */
   1386#ifndef GL_APPLE_rgb_422
   1387#define GL_APPLE_rgb_422 1
   1388#endif
   1389
   1390/* GL_APPLE_sync */
   1391#ifndef GL_APPLE_sync
   1392#define GL_APPLE_sync 1
   1393#ifdef GL_GLEXT_PROTOTYPES
   1394GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
   1395GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
   1396GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
   1397GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1398GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1399GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
   1400GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
   1401#endif
   1402typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
   1403typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
   1404typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
   1405typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1406typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1407typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
   1408typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
   1409#endif
   1410
   1411/* GL_APPLE_texture_format_BGRA8888 */
   1412#ifndef GL_APPLE_texture_format_BGRA8888
   1413#define GL_APPLE_texture_format_BGRA8888 1
   1414#endif
   1415
   1416/* GL_APPLE_texture_max_level */
   1417#ifndef GL_APPLE_texture_max_level
   1418#define GL_APPLE_texture_max_level 1
   1419#endif
   1420
   1421/*------------------------------------------------------------------------*
   1422 * ARM extension functions
   1423 *------------------------------------------------------------------------*/
   1424
   1425/* GL_ARM_mali_program_binary */
   1426#ifndef GL_ARM_mali_program_binary
   1427#define GL_ARM_mali_program_binary 1
   1428#endif
   1429
   1430/* GL_ARM_mali_shader_binary */
   1431#ifndef GL_ARM_mali_shader_binary
   1432#define GL_ARM_mali_shader_binary 1
   1433#endif
   1434
   1435/* GL_ARM_rgba8 */
   1436#ifndef GL_ARM_rgba8
   1437#define GL_ARM_rgba8 1
   1438#endif
   1439
   1440/*------------------------------------------------------------------------*
   1441 * EXT extension functions
   1442 *------------------------------------------------------------------------*/
   1443
   1444/* GL_EXT_blend_minmax */
   1445#ifndef GL_EXT_blend_minmax
   1446#define GL_EXT_blend_minmax 1
   1447#endif
   1448
   1449/* GL_EXT_color_buffer_half_float */
   1450#ifndef GL_EXT_color_buffer_half_float
   1451#define GL_EXT_color_buffer_half_float 1
   1452#endif
   1453
   1454/* GL_EXT_debug_label */
   1455#ifndef GL_EXT_debug_label
   1456#define GL_EXT_debug_label 1
   1457#ifdef GL_GLEXT_PROTOTYPES
   1458GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
   1459GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
   1460#endif
   1461typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
   1462typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
   1463#endif
   1464
   1465/* GL_EXT_debug_marker */
   1466#ifndef GL_EXT_debug_marker
   1467#define GL_EXT_debug_marker 1
   1468#ifdef GL_GLEXT_PROTOTYPES
   1469GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
   1470GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
   1471GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
   1472#endif
   1473typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
   1474typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
   1475typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
   1476#endif
   1477
   1478/* GL_EXT_discard_framebuffer */
   1479#ifndef GL_EXT_discard_framebuffer
   1480#define GL_EXT_discard_framebuffer 1
   1481#ifdef GL_GLEXT_PROTOTYPES
   1482GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
   1483#endif
   1484typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
   1485#endif
   1486
   1487#ifndef GL_EXT_disjoint_timer_query
   1488#define GL_EXT_disjoint_timer_query 1
   1489#ifdef GL_GLEXT_PROTOTYPES
   1490GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
   1491GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
   1492GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
   1493GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
   1494GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
   1495GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
   1496GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
   1497GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
   1498GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
   1499GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
   1500GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
   1501#endif
   1502typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
   1503typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
   1504typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
   1505typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
   1506typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
   1507typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
   1508typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
   1509typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
   1510typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
   1511typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
   1512typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
   1513#endif /* GL_EXT_disjoint_timer_query */
   1514
   1515#ifndef GL_EXT_draw_buffers
   1516#define GL_EXT_draw_buffers 1
   1517#ifdef GL_GLEXT_PROTOTYPES
   1518GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
   1519#endif
   1520typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
   1521#endif /* GL_EXT_draw_buffers */
   1522
   1523/* GL_EXT_map_buffer_range */
   1524#ifndef GL_EXT_map_buffer_range
   1525#define GL_EXT_map_buffer_range 1
   1526#ifdef GL_GLEXT_PROTOTYPES
   1527GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
   1528GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
   1529#endif
   1530typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
   1531typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
   1532#endif
   1533
   1534/* GL_EXT_multisampled_render_to_texture */
   1535#ifndef GL_EXT_multisampled_render_to_texture
   1536#define GL_EXT_multisampled_render_to_texture 1
   1537#ifdef GL_GLEXT_PROTOTYPES
   1538GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);             
   1539GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1540#endif
   1541typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1542typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1543#endif
   1544
   1545/* GL_EXT_multiview_draw_buffers */
   1546#ifndef GL_EXT_multiview_draw_buffers
   1547#define GL_EXT_multiview_draw_buffers 1
   1548#ifdef GL_GLEXT_PROTOTYPES
   1549GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
   1550GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
   1551GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
   1552#endif
   1553typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
   1554typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
   1555typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
   1556#endif
   1557
   1558#ifndef GL_EXT_multi_draw_arrays
   1559#define GL_EXT_multi_draw_arrays 1
   1560#ifdef GL_GLEXT_PROTOTYPES
   1561GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
   1562GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
   1563#endif /* GL_GLEXT_PROTOTYPES */
   1564typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
   1565typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
   1566#endif
   1567
   1568/* GL_EXT_occlusion_query_boolean */
   1569#ifndef GL_EXT_occlusion_query_boolean
   1570#define GL_EXT_occlusion_query_boolean 1
   1571/* All entry points also exist in GL_EXT_disjoint_timer_query */
   1572#endif
   1573
   1574/* GL_EXT_read_format_bgra */
   1575#ifndef GL_EXT_read_format_bgra
   1576#define GL_EXT_read_format_bgra 1
   1577#endif
   1578
   1579/* GL_EXT_robustness */
   1580#ifndef GL_EXT_robustness
   1581#define GL_EXT_robustness 1
   1582#ifdef GL_GLEXT_PROTOTYPES
   1583GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
   1584GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
   1585GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
   1586GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
   1587#endif
   1588typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
   1589typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
   1590typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
   1591typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
   1592#endif
   1593
   1594/* GL_EXT_separate_shader_objects */
   1595#ifndef GL_EXT_separate_shader_objects
   1596#define GL_EXT_separate_shader_objects 1
   1597#ifdef GL_GLEXT_PROTOTYPES
   1598GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
   1599GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
   1600GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
   1601GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
   1602GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
   1603GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
   1604GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
   1605GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
   1606GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
   1607GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
   1608GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
   1609GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
   1610GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
   1611GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
   1612GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
   1613GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
   1614GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1615GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1616GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1617GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1618GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1619GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1620GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1621GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1622GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1623GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1624GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1625GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1626GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
   1627GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
   1628#endif
   1629typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
   1630typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
   1631typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
   1632typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1633typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
   1634typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
   1635typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1636typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
   1637typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
   1638typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
   1639typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
   1640typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
   1641typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
   1642typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
   1643typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
   1644typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
   1645typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1646typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1647typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1648typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1649typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1650typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1651typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1652typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1653typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1654typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1655typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1656typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1657typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1658typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
   1659#endif
   1660
   1661/* GL_EXT_shader_framebuffer_fetch */
   1662#ifndef GL_EXT_shader_framebuffer_fetch
   1663#define GL_EXT_shader_framebuffer_fetch 1
   1664#endif
   1665
   1666/* GL_EXT_shader_texture_lod */
   1667#ifndef GL_EXT_shader_texture_lod
   1668#define GL_EXT_shader_texture_lod 1
   1669#endif
   1670
   1671/* GL_EXT_shadow_samplers */
   1672#ifndef GL_EXT_shadow_samplers
   1673#define GL_EXT_shadow_samplers 1
   1674#endif
   1675
   1676/* GL_EXT_sRGB */
   1677#ifndef GL_EXT_sRGB
   1678#define GL_EXT_sRGB 1
   1679#endif
   1680
   1681/* GL_EXT_texture_compression_dxt1 */
   1682#ifndef GL_EXT_texture_compression_dxt1
   1683#define GL_EXT_texture_compression_dxt1 1
   1684#endif
   1685
   1686/* GL_EXT_texture_filter_anisotropic */
   1687#ifndef GL_EXT_texture_filter_anisotropic
   1688#define GL_EXT_texture_filter_anisotropic 1
   1689#endif
   1690
   1691/* GL_EXT_texture_format_BGRA8888 */
   1692#ifndef GL_EXT_texture_format_BGRA8888
   1693#define GL_EXT_texture_format_BGRA8888 1
   1694#endif
   1695
   1696/* GL_EXT_texture_rg */
   1697#ifndef GL_EXT_texture_rg
   1698#define GL_EXT_texture_rg 1
   1699#endif
   1700
   1701/* GL_EXT_texture_storage */
   1702#ifndef GL_EXT_texture_storage
   1703#define GL_EXT_texture_storage 1
   1704#ifdef GL_GLEXT_PROTOTYPES
   1705GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1706GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1707GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1708GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1709GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1710GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1711#endif
   1712typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1713typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1714typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1715typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1716typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1717typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1718#endif
   1719
   1720/* GL_EXT_texture_type_2_10_10_10_REV */
   1721#ifndef GL_EXT_texture_type_2_10_10_10_REV
   1722#define GL_EXT_texture_type_2_10_10_10_REV 1
   1723#endif
   1724
   1725/* GL_EXT_unpack_subimage */
   1726#ifndef GL_EXT_unpack_subimage
   1727#define GL_EXT_unpack_subimage 1
   1728#endif
   1729
   1730/*------------------------------------------------------------------------*
   1731 * DMP extension functions
   1732 *------------------------------------------------------------------------*/
   1733
   1734/* GL_DMP_shader_binary */
   1735#ifndef GL_DMP_shader_binary
   1736#define GL_DMP_shader_binary 1
   1737#endif
   1738
   1739/*------------------------------------------------------------------------*
   1740 * FJ extension functions
   1741 *------------------------------------------------------------------------*/
   1742
   1743/* GL_FJ_shader_binary_GCCSO */
   1744#ifndef GL_FJ_shader_binary_GCCSO
   1745#define GL_FJ_shader_binary_GCCSO 1
   1746#endif
   1747
   1748/*------------------------------------------------------------------------*
   1749 * IMG extension functions
   1750 *------------------------------------------------------------------------*/
   1751
   1752/* GL_IMG_program_binary */
   1753#ifndef GL_IMG_program_binary
   1754#define GL_IMG_program_binary 1
   1755#endif
   1756
   1757/* GL_IMG_read_format */
   1758#ifndef GL_IMG_read_format
   1759#define GL_IMG_read_format 1
   1760#endif
   1761
   1762/* GL_IMG_shader_binary */
   1763#ifndef GL_IMG_shader_binary
   1764#define GL_IMG_shader_binary 1
   1765#endif
   1766
   1767/* GL_IMG_texture_compression_pvrtc */
   1768#ifndef GL_IMG_texture_compression_pvrtc
   1769#define GL_IMG_texture_compression_pvrtc 1
   1770#endif
   1771
   1772/* GL_IMG_texture_compression_pvrtc2 */
   1773#ifndef GL_IMG_texture_compression_pvrtc2
   1774#define GL_IMG_texture_compression_pvrtc2 1
   1775#endif
   1776
   1777/* GL_IMG_multisampled_render_to_texture */
   1778#ifndef GL_IMG_multisampled_render_to_texture
   1779#define GL_IMG_multisampled_render_to_texture 1
   1780#ifdef GL_GLEXT_PROTOTYPES
   1781GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1782GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1783#endif
   1784typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1785typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1786#endif
   1787
   1788/*------------------------------------------------------------------------*
   1789 * NV extension functions
   1790 *------------------------------------------------------------------------*/
   1791
   1792/* GL_NV_coverage_sample */
   1793#ifndef GL_NV_coverage_sample
   1794#define GL_NV_coverage_sample 1
   1795#ifdef GL_GLEXT_PROTOTYPES
   1796GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
   1797GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
   1798#endif
   1799typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
   1800typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
   1801#endif
   1802
   1803/* GL_NV_depth_nonlinear */
   1804#ifndef GL_NV_depth_nonlinear
   1805#define GL_NV_depth_nonlinear 1
   1806#endif
   1807
   1808/* GL_NV_draw_buffers */
   1809#ifndef GL_NV_draw_buffers
   1810#define GL_NV_draw_buffers 1
   1811#ifdef GL_GLEXT_PROTOTYPES
   1812GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
   1813#endif
   1814typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
   1815#endif
   1816
   1817/* GL_NV_draw_instanced */
   1818#ifndef GL_NV_draw_instanced
   1819#define GL_NV_draw_instanced 1
   1820#ifdef GL_GLEXT_PROTOTYPES
   1821GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1822GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
   1823#endif
   1824typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1825typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
   1826#endif
   1827
   1828/* GL_NV_fbo_color_attachments */
   1829#ifndef GL_NV_fbo_color_attachments
   1830#define GL_NV_fbo_color_attachments 1
   1831#endif
   1832
   1833/* GL_NV_fence */
   1834#ifndef GL_NV_fence
   1835#define GL_NV_fence 1
   1836#ifdef GL_GLEXT_PROTOTYPES
   1837GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
   1838GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
   1839GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
   1840GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
   1841GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
   1842GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
   1843GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
   1844#endif
   1845typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
   1846typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
   1847typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
   1848typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
   1849typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
   1850typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
   1851typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
   1852#endif
   1853
   1854/* GL_NV_framebuffer_blit */
   1855#ifndef GL_NV_framebuffer_blit
   1856#define GL_NV_framebuffer_blit 1
   1857#ifdef GL_GLEXT_PROTOTYPES
   1858GL_APICALL void GL_APIENTRY glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
   1859#endif
   1860typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
   1861#endif
   1862
   1863/* GL_NV_framebuffer_multisample */
   1864#ifndef GL_NV_framebuffer_multisample
   1865#define GL_NV_framebuffer_multisample 1
   1866#ifdef GL_GLEXT_PROTOTYPES
   1867GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1868#endif
   1869typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1870#endif
   1871
   1872/* GL_NV_generate_mipmap_sRGB */
   1873#ifndef GL_NV_generate_mipmap_sRGB
   1874#define GL_NV_generate_mipmap_sRGB 1
   1875#endif
   1876
   1877/* GL_NV_instanced_arrays */
   1878#ifndef GL_NV_instanced_arrays
   1879#define GL_NV_instanced_arrays 1
   1880#ifdef GL_GLEXT_PROTOTYPES
   1881GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
   1882#endif
   1883typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
   1884#endif
   1885
   1886/* GL_NV_read_buffer */
   1887#ifndef GL_NV_read_buffer
   1888#define GL_NV_read_buffer 1
   1889#ifdef GL_GLEXT_PROTOTYPES
   1890GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
   1891#endif
   1892typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
   1893#endif
   1894
   1895/* GL_NV_read_buffer_front */
   1896#ifndef GL_NV_read_buffer_front
   1897#define GL_NV_read_buffer_front 1
   1898#endif
   1899
   1900/* GL_NV_read_depth */
   1901#ifndef GL_NV_read_depth
   1902#define GL_NV_read_depth 1
   1903#endif
   1904
   1905/* GL_NV_read_depth_stencil */
   1906#ifndef GL_NV_read_depth_stencil
   1907#define GL_NV_read_depth_stencil 1
   1908#endif
   1909
   1910/* GL_NV_read_stencil */
   1911#ifndef GL_NV_read_stencil
   1912#define GL_NV_read_stencil 1
   1913#endif
   1914
   1915/* GL_NV_shadow_samplers_array */
   1916#ifndef GL_NV_shadow_samplers_array
   1917#define GL_NV_shadow_samplers_array 1
   1918#endif
   1919
   1920/* GL_NV_shadow_samplers_cube */
   1921#ifndef GL_NV_shadow_samplers_cube
   1922#define GL_NV_shadow_samplers_cube 1
   1923#endif
   1924
   1925/* GL_NV_sRGB_formats */
   1926#ifndef GL_NV_sRGB_formats
   1927#define GL_NV_sRGB_formats 1
   1928#endif
   1929
   1930/* GL_NV_texture_border_clamp */
   1931#ifndef GL_NV_texture_border_clamp
   1932#define GL_NV_texture_border_clamp 1
   1933#endif
   1934
   1935/* GL_NV_texture_compression_s3tc_update */
   1936#ifndef GL_NV_texture_compression_s3tc_update
   1937#define GL_NV_texture_compression_s3tc_update 1
   1938#endif
   1939
   1940/* GL_NV_texture_npot_2D_mipmap */
   1941#ifndef GL_NV_texture_npot_2D_mipmap
   1942#define GL_NV_texture_npot_2D_mipmap 1
   1943#endif
   1944
   1945/*------------------------------------------------------------------------*
   1946 * QCOM extension functions
   1947 *------------------------------------------------------------------------*/
   1948
   1949/* GL_QCOM_alpha_test */
   1950#ifndef GL_QCOM_alpha_test
   1951#define GL_QCOM_alpha_test 1
   1952#ifdef GL_GLEXT_PROTOTYPES
   1953GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
   1954#endif
   1955typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
   1956#endif
   1957
   1958/* GL_QCOM_binning_control */
   1959#ifndef GL_QCOM_binning_control
   1960#define GL_QCOM_binning_control 1
   1961#endif
   1962
   1963/* GL_QCOM_driver_control */
   1964#ifndef GL_QCOM_driver_control
   1965#define GL_QCOM_driver_control 1
   1966#ifdef GL_GLEXT_PROTOTYPES
   1967GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
   1968GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
   1969GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
   1970GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
   1971#endif
   1972typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
   1973typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
   1974typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
   1975typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
   1976#endif
   1977
   1978/* GL_QCOM_extended_get */
   1979#ifndef GL_QCOM_extended_get
   1980#define GL_QCOM_extended_get 1
   1981#ifdef GL_GLEXT_PROTOTYPES
   1982GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
   1983GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
   1984GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
   1985GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
   1986GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
   1987GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
   1988GL_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);
   1989GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
   1990#endif
   1991typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
   1992typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
   1993typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
   1994typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
   1995typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
   1996typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
   1997typedef 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);
   1998typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
   1999#endif
   2000
   2001/* GL_QCOM_extended_get2 */
   2002#ifndef GL_QCOM_extended_get2
   2003#define GL_QCOM_extended_get2 1
   2004#ifdef GL_GLEXT_PROTOTYPES
   2005GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
   2006GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
   2007GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
   2008GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
   2009#endif
   2010typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
   2011typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
   2012typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
   2013typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
   2014#endif
   2015
   2016/* GL_QCOM_perfmon_global_mode */
   2017#ifndef GL_QCOM_perfmon_global_mode
   2018#define GL_QCOM_perfmon_global_mode 1
   2019#endif
   2020
   2021/* GL_QCOM_writeonly_rendering */
   2022#ifndef GL_QCOM_writeonly_rendering
   2023#define GL_QCOM_writeonly_rendering 1
   2024#endif
   2025
   2026/* GL_QCOM_tiled_rendering */
   2027#ifndef GL_QCOM_tiled_rendering
   2028#define GL_QCOM_tiled_rendering 1
   2029#ifdef GL_GLEXT_PROTOTYPES
   2030GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
   2031GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
   2032#endif
   2033typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
   2034typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
   2035#endif
   2036
   2037/*------------------------------------------------------------------------*
   2038 * VIV extension tokens
   2039 *------------------------------------------------------------------------*/
   2040
   2041/* GL_VIV_shader_binary */
   2042#ifndef GL_VIV_shader_binary
   2043#define GL_VIV_shader_binary 1
   2044#endif
   2045
   2046#ifdef __cplusplus
   2047}
   2048#endif
   2049
   2050#endif /* __gl2ext_h_ */