sdl

FORK: Simple Directmedia Layer
git clone https://git.neptards.moe/neptards/sdl.git
Log | Files | Refs

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
      7 extern "C" {
      8 #endif
      9 
     10 /*
     11  * This document is licensed under the SGI Free Software B License Version
     12  * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
     13  */
     14 
     15 #ifndef GL_APIENTRYP
     16 #   define GL_APIENTRYP GL_APIENTRY*
     17 #endif
     18 
     19 /* 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  */
     27 typedef khronos_int64_t GLint64;
     28 typedef khronos_uint64_t GLuint64;
     29 typedef 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
     71 typedef 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
    200 typedef 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
   1049 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
   1050 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
   1051 #endif
   1052 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
   1053 typedef 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
   1081 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
   1082 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
   1083 #endif
   1084 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
   1085 typedef 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
   1092 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
   1093 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
   1094 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid **params);
   1095 #endif
   1096 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
   1097 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
   1098 typedef 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
   1139 GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
   1140 GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
   1141 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1142 GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
   1143 GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
   1144 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
   1145 #endif
   1146 typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
   1147 typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
   1148 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1149 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
   1150 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
   1151 typedef 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
   1183 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
   1184 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
   1185 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
   1186 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
   1187 #endif
   1188 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
   1189 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
   1190 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
   1191 typedef 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
   1211 GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1212 GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1213 GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
   1214 GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1215 GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1216 GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
   1217 GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1218 GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1219 GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
   1220 GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1221 GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, GLvoid **params);
   1222 #endif
   1223 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1224 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1225 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
   1226 typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1227 typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1228 typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
   1229 typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1230 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1231 typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
   1232 typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1233 typedef 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
   1259 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
   1260 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
   1261 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
   1262 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
   1263 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
   1264 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
   1265 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
   1266 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
   1267 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
   1268 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
   1269 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
   1270 #endif
   1271 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
   1272 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
   1273 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
   1274 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
   1275 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
   1276 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
   1277 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
   1278 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
   1279 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
   1280 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
   1281 typedef 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
   1302 GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
   1303 #endif
   1304 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
   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
   1311 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1312 #endif
   1313 typedef 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
   1319 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1320 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
   1321 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
   1322 #endif
   1323 typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1324 typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
   1325 typedef 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
   1356 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
   1357 #endif
   1358 typedef 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
   1369 GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
   1370 #endif
   1371 typedef 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
   1378 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1379 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
   1380 #endif /* GL_GLEXT_PROTOTYPES */
   1381 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1382 typedef 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
   1394 GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
   1395 GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
   1396 GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
   1397 GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1398 GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1399 GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
   1400 GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
   1401 #endif
   1402 typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
   1403 typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
   1404 typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
   1405 typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1406 typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1407 typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
   1408 typedef 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
   1458 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
   1459 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
   1460 #endif
   1461 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
   1462 typedef 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
   1469 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
   1470 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
   1471 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
   1472 #endif
   1473 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
   1474 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
   1475 typedef 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
   1482 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
   1483 #endif
   1484 typedef 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
   1490 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
   1491 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
   1492 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
   1493 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
   1494 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
   1495 GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
   1496 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
   1497 GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
   1498 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
   1499 GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
   1500 GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
   1501 #endif
   1502 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
   1503 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
   1504 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
   1505 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
   1506 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
   1507 typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
   1508 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
   1509 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
   1510 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
   1511 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
   1512 typedef 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
   1518 GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
   1519 #endif
   1520 typedef 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
   1527 GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
   1528 GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
   1529 #endif
   1530 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
   1531 typedef 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
   1538 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);             
   1539 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1540 #endif
   1541 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1542 typedef 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
   1549 GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
   1550 GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
   1551 GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
   1552 #endif
   1553 typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
   1554 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
   1555 typedef 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
   1561 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
   1562 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
   1563 #endif /* GL_GLEXT_PROTOTYPES */
   1564 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
   1565 typedef 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
   1583 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
   1584 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
   1585 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
   1586 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
   1587 #endif
   1588 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
   1589 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
   1590 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
   1591 typedef 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
   1598 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
   1599 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
   1600 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
   1601 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
   1602 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
   1603 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
   1604 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
   1605 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
   1606 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
   1607 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
   1608 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
   1609 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
   1610 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
   1611 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
   1612 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
   1613 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
   1614 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1615 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1616 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1617 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1618 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1619 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1620 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1621 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1622 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1623 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1624 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1625 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1626 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
   1627 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
   1628 #endif
   1629 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
   1630 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
   1631 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
   1632 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1633 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
   1634 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
   1635 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1636 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
   1637 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
   1638 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
   1639 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
   1640 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
   1641 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
   1642 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
   1643 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
   1644 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
   1645 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1646 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1647 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1648 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1649 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1650 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1651 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1652 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1653 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1654 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1655 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1656 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1657 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1658 typedef 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
   1705 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1706 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1707 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1708 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1709 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1710 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1711 #endif
   1712 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1713 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1714 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1715 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1716 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1717 typedef 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
   1781 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1782 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1783 #endif
   1784 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1785 typedef 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
   1796 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
   1797 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
   1798 #endif
   1799 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
   1800 typedef 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
   1812 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
   1813 #endif
   1814 typedef 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
   1821 GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1822 GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
   1823 #endif
   1824 typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1825 typedef 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
   1837 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
   1838 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
   1839 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
   1840 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
   1841 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
   1842 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
   1843 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
   1844 #endif
   1845 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
   1846 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
   1847 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
   1848 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
   1849 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
   1850 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
   1851 typedef 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
   1858 GL_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
   1860 typedef 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
   1867 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1868 #endif
   1869 typedef 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
   1881 GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
   1882 #endif
   1883 typedef 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
   1890 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
   1891 #endif
   1892 typedef 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
   1953 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
   1954 #endif
   1955 typedef 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
   1967 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
   1968 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
   1969 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
   1970 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
   1971 #endif
   1972 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
   1973 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
   1974 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
   1975 typedef 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
   1982 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
   1983 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
   1984 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
   1985 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
   1986 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
   1987 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
   1988 GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
   1989 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
   1990 #endif
   1991 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
   1992 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
   1993 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
   1994 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
   1995 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
   1996 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
   1997 typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
   1998 typedef 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
   2005 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
   2006 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
   2007 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
   2008 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
   2009 #endif
   2010 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
   2011 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
   2012 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
   2013 typedef 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
   2030 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
   2031 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
   2032 #endif
   2033 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
   2034 typedef 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_ */