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