Home | History | Annotate | Download | only in GLES2
      1 #ifndef __gl2ext_h_
      2 #define __gl2ext_h_
      3 
      4 /* $Revision: 19436 $ on $Date:: 2012-10-10 10:37:04 -0700 #$ */
      5 
      6 #ifdef __cplusplus
      7 extern "C" {
      8 #endif
      9 
     10 /*
     11  * This document is licensed under the SGI Free Software B License Version
     12  * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
     13  */
     14 
     15 #ifndef GL_APIENTRYP
     16 #   define GL_APIENTRYP GL_APIENTRY*
     17 #endif
     18 
     19 /*------------------------------------------------------------------------*
     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_framebuffer_blit */
    298 #ifndef GL_ANGLE_framebuffer_blit
    299 #define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
    300 #define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
    301 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
    302 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
    303 #endif
    304 
    305 /* GL_ANGLE_framebuffer_multisample */
    306 #ifndef GL_ANGLE_framebuffer_multisample
    307 #define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
    308 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
    309 #define GL_MAX_SAMPLES_ANGLE                                    0x8D57
    310 #endif
    311 
    312 /* GL_ANGLE_instanced_arrays */
    313 #ifndef GL_ANGLE_instanced_arrays
    314 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
    315 #endif
    316 
    317 /* GL_ANGLE_pack_reverse_row_order */
    318 #ifndef GL_ANGLE_pack_reverse_row_order
    319 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
    320 #endif
    321 
    322 /* GL_ANGLE_texture_compression_dxt3 */
    323 #ifndef GL_ANGLE_texture_compression_dxt3
    324 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
    325 #endif
    326 
    327 /* GL_ANGLE_texture_compression_dxt5 */
    328 #ifndef GL_ANGLE_texture_compression_dxt5
    329 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
    330 #endif
    331 
    332 /* GL_ANGLE_texture_usage */
    333 #ifndef GL_ANGLE_texture_usage
    334 #define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
    335 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
    336 #endif
    337 
    338 /* GL_ANGLE_translated_shader_source */
    339 #ifndef GL_ANGLE_translated_shader_source
    340 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
    341 #endif
    342 
    343 /*------------------------------------------------------------------------*
    344  * APPLE extension tokens
    345  *------------------------------------------------------------------------*/
    346 
    347 /* GL_APPLE_copy_texture_levels */
    348 /* No new tokens introduced by this extension. */
    349 
    350 /* GL_APPLE_framebuffer_multisample */
    351 #ifndef GL_APPLE_framebuffer_multisample
    352 #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
    353 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
    354 #define GL_MAX_SAMPLES_APPLE                                    0x8D57
    355 #define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
    356 #define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
    357 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
    358 #define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
    359 #endif
    360 
    361 /* GL_APPLE_rgb_422 */
    362 #ifndef GL_APPLE_rgb_422
    363 #define GL_RGB_422_APPLE                                        0x8A1F
    364 #define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
    365 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
    366 #endif
    367 
    368 /* GL_APPLE_sync */
    369 #ifndef GL_APPLE_sync
    370 
    371 #ifndef __gl3_h_
    372 /* These types are defined with reference to <inttypes.h>
    373  * in the Apple extension spec, but here we use the Khronos
    374  * portable types in khrplatform.h, and assume those types
    375  * are always defined.
    376  * If any other extensions using these types are defined,
    377  * the typedefs must move out of this block and be shared.
    378  */
    379 typedef khronos_int64_t GLint64;
    380 typedef khronos_uint64_t GLuint64;
    381 typedef struct __GLsync *GLsync;
    382 #endif
    383 
    384 #define GL_SYNC_OBJECT_APPLE                                    0x8A53
    385 #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
    386 #define GL_OBJECT_TYPE_APPLE                                    0x9112
    387 #define GL_SYNC_CONDITION_APPLE                                 0x9113
    388 #define GL_SYNC_STATUS_APPLE                                    0x9114
    389 #define GL_SYNC_FLAGS_APPLE                                     0x9115
    390 #define GL_SYNC_FENCE_APPLE                                     0x9116
    391 #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
    392 #define GL_UNSIGNALED_APPLE                                     0x9118
    393 #define GL_SIGNALED_APPLE                                       0x9119
    394 #define GL_ALREADY_SIGNALED_APPLE                               0x911A
    395 #define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
    396 #define GL_CONDITION_SATISFIED_APPLE                            0x911C
    397 #define GL_WAIT_FAILED_APPLE                                    0x911D
    398 #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
    399 #define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
    400 #endif
    401 
    402 /* GL_APPLE_texture_format_BGRA8888 */
    403 #ifndef GL_APPLE_texture_format_BGRA8888
    404 #define GL_BGRA_EXT                                             0x80E1
    405 #endif
    406 
    407 /* GL_APPLE_texture_max_level */
    408 #ifndef GL_APPLE_texture_max_level
    409 #define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
    410 #endif
    411 
    412 /*------------------------------------------------------------------------*
    413  * ARM extension tokens
    414  *------------------------------------------------------------------------*/
    415 
    416 /* GL_ARM_mali_program_binary */
    417 #ifndef GL_ARM_mali_program_binary
    418 #define GL_MALI_PROGRAM_BINARY_ARM                              0x8F61
    419 #endif
    420 
    421 /* GL_ARM_mali_shader_binary */
    422 #ifndef GL_ARM_mali_shader_binary
    423 #define GL_MALI_SHADER_BINARY_ARM                               0x8F60
    424 #endif
    425 
    426 /* GL_ARM_rgba8 */
    427 /* No new tokens introduced by this extension. */
    428 
    429 /*------------------------------------------------------------------------*
    430  * EXT extension tokens
    431  *------------------------------------------------------------------------*/
    432 
    433 /* GL_EXT_blend_minmax */
    434 #ifndef GL_EXT_blend_minmax
    435 #define GL_MIN_EXT                                              0x8007
    436 #define GL_MAX_EXT                                              0x8008
    437 #endif
    438 
    439 /* GL_EXT_color_buffer_half_float */
    440 #ifndef GL_EXT_color_buffer_half_float
    441 #define GL_RGBA16F_EXT                                          0x881A
    442 #define GL_RGB16F_EXT                                           0x881B
    443 #define GL_RG16F_EXT                                            0x822F
    444 #define GL_R16F_EXT                                             0x822D
    445 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
    446 #define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
    447 #endif
    448 
    449 /* GL_EXT_debug_label */
    450 #ifndef GL_EXT_debug_label
    451 #define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
    452 #define GL_PROGRAM_OBJECT_EXT                                   0x8B40
    453 #define GL_SHADER_OBJECT_EXT                                    0x8B48
    454 #define GL_BUFFER_OBJECT_EXT                                    0x9151
    455 #define GL_QUERY_OBJECT_EXT                                     0x9153
    456 #define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
    457 #endif
    458 
    459 /* GL_EXT_debug_marker */
    460 /* No new tokens introduced by this extension. */
    461 
    462 /* GL_EXT_discard_framebuffer */
    463 #ifndef GL_EXT_discard_framebuffer
    464 #define GL_COLOR_EXT                                            0x1800
    465 #define GL_DEPTH_EXT                                            0x1801
    466 #define GL_STENCIL_EXT                                          0x1802
    467 #endif
    468 
    469 /* GL_EXT_map_buffer_range */
    470 #ifndef GL_EXT_map_buffer_range
    471 #define GL_MAP_READ_BIT_EXT                                     0x0001
    472 #define GL_MAP_WRITE_BIT_EXT                                    0x0002
    473 #define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
    474 #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
    475 #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
    476 #define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
    477 #endif
    478 
    479 /* GL_EXT_multisampled_render_to_texture */
    480 #ifndef GL_EXT_multisampled_render_to_texture
    481 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
    482 /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
    483 #define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
    484 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
    485 #define GL_MAX_SAMPLES_EXT                                      0x8D57
    486 #endif
    487 
    488 /* GL_EXT_multiview_draw_buffers */
    489 #ifndef GL_EXT_multiview_draw_buffers
    490 #define GL_COLOR_ATTACHMENT_EXT                                 0x90F0
    491 #define GL_MULTIVIEW_EXT                                        0x90F1
    492 #define GL_DRAW_BUFFER_EXT                                      0x0C01
    493 #define GL_READ_BUFFER_EXT                                      0x0C02
    494 #define GL_MAX_MULTIVIEW_BUFFERS_EXT                            0x90F2
    495 #endif
    496 
    497 /* GL_EXT_multi_draw_arrays */
    498 /* No new tokens introduced by this extension. */
    499 
    500 /* GL_EXT_occlusion_query_boolean */
    501 #ifndef GL_EXT_occlusion_query_boolean
    502 #define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
    503 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
    504 #define GL_CURRENT_QUERY_EXT                                    0x8865
    505 #define GL_QUERY_RESULT_EXT                                     0x8866
    506 #define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
    507 #endif
    508 
    509 /* GL_EXT_read_format_bgra */
    510 #ifndef GL_EXT_read_format_bgra
    511 #define GL_BGRA_EXT                                             0x80E1
    512 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
    513 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
    514 #endif
    515 
    516 /* GL_EXT_robustness */
    517 #ifndef GL_EXT_robustness
    518 /* reuse GL_NO_ERROR */
    519 #define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
    520 #define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
    521 #define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
    522 #define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
    523 #define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
    524 #define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
    525 #define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
    526 #endif
    527 
    528 /* GL_EXT_separate_shader_objects */
    529 #ifndef GL_EXT_separate_shader_objects
    530 #define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
    531 #define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
    532 #define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
    533 #define GL_PROGRAM_SEPARABLE_EXT                                0x8258
    534 #define GL_ACTIVE_PROGRAM_EXT                                   0x8259
    535 #define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
    536 #endif
    537 
    538 /* GL_EXT_shader_framebuffer_fetch */
    539 #ifndef GL_EXT_shader_framebuffer_fetch
    540 #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                 0x8A52
    541 #endif
    542 
    543 /* GL_EXT_shader_texture_lod */
    544 /* No new tokens introduced by this extension. */
    545 
    546 /* GL_EXT_shadow_samplers */
    547 #ifndef GL_EXT_shadow_samplers
    548 #define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
    549 #define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
    550 #define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
    551 #define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
    552 #endif
    553 
    554 /* GL_EXT_sRGB */
    555 #ifndef GL_EXT_sRGB
    556 #define GL_SRGB_EXT                                             0x8C40
    557 #define GL_SRGB_ALPHA_EXT                                       0x8C42
    558 #define GL_SRGB8_ALPHA8_EXT                                     0x8C43
    559 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
    560 #endif
    561 
    562 /* GL_EXT_texture_compression_dxt1 */
    563 #ifndef GL_EXT_texture_compression_dxt1
    564 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
    565 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
    566 #endif
    567 
    568 /* GL_EXT_texture_filter_anisotropic */
    569 #ifndef GL_EXT_texture_filter_anisotropic
    570 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
    571 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
    572 #endif
    573 
    574 /* GL_EXT_texture_format_BGRA8888 */
    575 #ifndef GL_EXT_texture_format_BGRA8888
    576 #define GL_BGRA_EXT                                             0x80E1
    577 #endif
    578 
    579 /* GL_EXT_texture_rg */
    580 #ifndef GL_EXT_texture_rg
    581 #define GL_RED_EXT                                              0x1903
    582 #define GL_RG_EXT                                               0x8227
    583 #define GL_R8_EXT                                               0x8229
    584 #define GL_RG8_EXT                                              0x822B
    585 #endif
    586 
    587 /* GL_EXT_texture_storage */
    588 #ifndef GL_EXT_texture_storage
    589 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
    590 #define GL_ALPHA8_EXT                                           0x803C
    591 #define GL_LUMINANCE8_EXT                                       0x8040
    592 #define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
    593 #define GL_RGBA32F_EXT                                          0x8814
    594 #define GL_RGB32F_EXT                                           0x8815
    595 #define GL_ALPHA32F_EXT                                         0x8816
    596 #define GL_LUMINANCE32F_EXT                                     0x8818
    597 #define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
    598 /* reuse GL_RGBA16F_EXT */
    599 /* reuse GL_RGB16F_EXT */
    600 #define GL_ALPHA16F_EXT                                         0x881C
    601 #define GL_LUMINANCE16F_EXT                                     0x881E
    602 #define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
    603 #define GL_RGB10_A2_EXT                                         0x8059
    604 #define GL_RGB10_EXT                                            0x8052
    605 #define GL_BGRA8_EXT                                            0x93A1
    606 #define GL_R8_EXT                                               0x8229
    607 #define GL_RG8_EXT                                              0x822B
    608 #define GL_R32F_EXT                                             0x822E
    609 #define GL_RG32F_EXT                                            0x8230
    610 #define GL_R16F_EXT                                             0x822D
    611 #define GL_RG16F_EXT                                            0x822F
    612 #endif
    613 
    614 /* GL_EXT_texture_type_2_10_10_10_REV */
    615 #ifndef GL_EXT_texture_type_2_10_10_10_REV
    616 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
    617 #endif
    618 
    619 /* GL_EXT_unpack_subimage */
    620 #ifndef GL_EXT_unpack_subimage
    621 #define GL_UNPACK_ROW_LENGTH                                    0x0CF2
    622 #define GL_UNPACK_SKIP_ROWS                                     0x0CF3
    623 #define GL_UNPACK_SKIP_PIXELS                                   0x0CF4
    624 #endif
    625 
    626 /*------------------------------------------------------------------------*
    627  * DMP extension tokens
    628  *------------------------------------------------------------------------*/
    629 
    630 /* GL_DMP_shader_binary */
    631 #ifndef GL_DMP_shader_binary
    632 #define GL_SHADER_BINARY_DMP                                    0x9250
    633 #endif
    634 
    635 /*------------------------------------------------------------------------*
    636  * FJ extension tokens
    637  *------------------------------------------------------------------------*/
    638 
    639 /* GL_FJ_shader_binary_GCCSO */
    640 #ifndef GL_FJ_shader_binary_GCCSO
    641 #define GCCSO_SHADER_BINARY_FJ                                  0x9260
    642 #endif
    643 
    644 /*------------------------------------------------------------------------*
    645  * IMG extension tokens
    646  *------------------------------------------------------------------------*/
    647 
    648 /* GL_IMG_program_binary */
    649 #ifndef GL_IMG_program_binary
    650 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
    651 #endif
    652 
    653 /* GL_IMG_read_format */
    654 #ifndef GL_IMG_read_format
    655 #define GL_BGRA_IMG                                             0x80E1
    656 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
    657 #endif
    658 
    659 /* GL_IMG_shader_binary */
    660 #ifndef GL_IMG_shader_binary
    661 #define GL_SGX_BINARY_IMG                                       0x8C0A
    662 #endif
    663 
    664 /* GL_IMG_texture_compression_pvrtc */
    665 #ifndef GL_IMG_texture_compression_pvrtc
    666 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
    667 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
    668 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
    669 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
    670 #endif
    671 
    672 /* GL_IMG_multisampled_render_to_texture */
    673 #ifndef GL_IMG_multisampled_render_to_texture
    674 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
    675 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
    676 #define GL_MAX_SAMPLES_IMG                                      0x9135
    677 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
    678 #endif
    679 
    680 /*------------------------------------------------------------------------*
    681  * NV extension tokens
    682  *------------------------------------------------------------------------*/
    683 
    684 /* GL_NV_coverage_sample */
    685 #ifndef GL_NV_coverage_sample
    686 #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
    687 #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
    688 #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
    689 #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
    690 #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
    691 #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
    692 #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
    693 #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
    694 #define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
    695 #endif
    696 
    697 /* GL_NV_depth_nonlinear */
    698 #ifndef GL_NV_depth_nonlinear
    699 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
    700 #endif
    701 
    702 /* GL_NV_draw_buffers */
    703 #ifndef GL_NV_draw_buffers
    704 #define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
    705 #define GL_DRAW_BUFFER0_NV                                      0x8825
    706 #define GL_DRAW_BUFFER1_NV                                      0x8826
    707 #define GL_DRAW_BUFFER2_NV                                      0x8827
    708 #define GL_DRAW_BUFFER3_NV                                      0x8828
    709 #define GL_DRAW_BUFFER4_NV                                      0x8829
    710 #define GL_DRAW_BUFFER5_NV                                      0x882A
    711 #define GL_DRAW_BUFFER6_NV                                      0x882B
    712 #define GL_DRAW_BUFFER7_NV                                      0x882C
    713 #define GL_DRAW_BUFFER8_NV                                      0x882D
    714 #define GL_DRAW_BUFFER9_NV                                      0x882E
    715 #define GL_DRAW_BUFFER10_NV                                     0x882F
    716 #define GL_DRAW_BUFFER11_NV                                     0x8830
    717 #define GL_DRAW_BUFFER12_NV                                     0x8831
    718 #define GL_DRAW_BUFFER13_NV                                     0x8832
    719 #define GL_DRAW_BUFFER14_NV                                     0x8833
    720 #define GL_DRAW_BUFFER15_NV                                     0x8834
    721 #define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
    722 #define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
    723 #define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
    724 #define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
    725 #define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
    726 #define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
    727 #define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
    728 #define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
    729 #define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
    730 #define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
    731 #define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
    732 #define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
    733 #define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
    734 #define GL_COLOR_ATTACHMENT13_NV                                0x8CED
    735 #define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
    736 #define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
    737 #endif
    738 
    739 /* GL_NV_fbo_color_attachments */
    740 #ifndef GL_NV_fbo_color_attachments
    741 #define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
    742 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
    743 #endif
    744 
    745 /* GL_NV_fence */
    746 #ifndef GL_NV_fence
    747 #define GL_ALL_COMPLETED_NV                                     0x84F2
    748 #define GL_FENCE_STATUS_NV                                      0x84F3
    749 #define GL_FENCE_CONDITION_NV                                   0x84F4
    750 #endif
    751 
    752 /* GL_NV_read_buffer */
    753 #ifndef GL_NV_read_buffer
    754 #define GL_READ_BUFFER_NV                                       0x0C02
    755 #endif
    756 
    757 /* GL_NV_read_buffer_front */
    758 /* No new tokens introduced by this extension. */
    759 
    760 /* GL_NV_read_depth */
    761 /* No new tokens introduced by this extension. */
    762 
    763 /* GL_NV_read_depth_stencil */
    764 /* No new tokens introduced by this extension. */
    765 
    766 /* GL_NV_read_stencil */
    767 /* No new tokens introduced by this extension. */
    768 
    769 /* GL_NV_texture_compression_s3tc_update */
    770 /* No new tokens introduced by this extension. */
    771 
    772 /* GL_NV_texture_npot_2D_mipmap */
    773 /* No new tokens introduced by this extension. */
    774 
    775 /*------------------------------------------------------------------------*
    776  * QCOM extension tokens
    777  *------------------------------------------------------------------------*/
    778 
    779 /* GL_QCOM_alpha_test */
    780 #ifndef GL_QCOM_alpha_test
    781 #define GL_ALPHA_TEST_QCOM                                      0x0BC0
    782 #define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
    783 #define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
    784 #endif
    785 
    786 /* GL_QCOM_binning_control */
    787 #ifndef GL_QCOM_binning_control
    788 #define GL_BINNING_CONTROL_HINT_QCOM                            0x8FB0
    789 #define GL_CPU_OPTIMIZED_QCOM                                   0x8FB1
    790 #define GL_GPU_OPTIMIZED_QCOM                                   0x8FB2
    791 #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                    0x8FB3
    792 #endif
    793 
    794 /* GL_QCOM_driver_control */
    795 /* No new tokens introduced by this extension. */
    796 
    797 /* GL_QCOM_extended_get */
    798 #ifndef GL_QCOM_extended_get
    799 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
    800 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
    801 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
    802 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
    803 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
    804 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
    805 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
    806 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
    807 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
    808 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
    809 #define GL_STATE_RESTORE                                        0x8BDC
    810 #endif
    811 
    812 /* GL_QCOM_extended_get2 */
    813 /* No new tokens introduced by this extension. */
    814 
    815 /* GL_QCOM_perfmon_global_mode */
    816 #ifndef GL_QCOM_perfmon_global_mode
    817 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
    818 #endif
    819 
    820 /* GL_QCOM_writeonly_rendering */
    821 #ifndef GL_QCOM_writeonly_rendering
    822 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
    823 #endif
    824 
    825 /* GL_QCOM_tiled_rendering */
    826 #ifndef GL_QCOM_tiled_rendering
    827 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
    828 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
    829 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
    830 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
    831 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
    832 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
    833 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
    834 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
    835 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
    836 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
    837 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
    838 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
    839 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
    840 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
    841 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
    842 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
    843 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
    844 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
    845 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
    846 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
    847 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
    848 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
    849 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
    850 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
    851 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
    852 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
    853 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
    854 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
    855 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
    856 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
    857 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
    858 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
    859 #endif
    860 
    861 /*------------------------------------------------------------------------*
    862  * VIV extension tokens
    863  *------------------------------------------------------------------------*/
    864 
    865 /* GL_VIV_shader_binary */
    866 #ifndef GL_VIV_shader_binary
    867 #define GL_SHADER_BINARY_VIV                                    0x8FC4
    868 #endif
    869 
    870 /*------------------------------------------------------------------------*
    871  * End of extension tokens, start of corresponding extension functions
    872  *------------------------------------------------------------------------*/
    873 
    874 /*------------------------------------------------------------------------*
    875  * OES extension functions
    876  *------------------------------------------------------------------------*/
    877 
    878 /* GL_OES_compressed_ETC1_RGB8_texture */
    879 #ifndef GL_OES_compressed_ETC1_RGB8_texture
    880 #define GL_OES_compressed_ETC1_RGB8_texture 1
    881 #endif
    882 
    883 /* GL_OES_compressed_paletted_texture */
    884 #ifndef GL_OES_compressed_paletted_texture
    885 #define GL_OES_compressed_paletted_texture 1
    886 #endif
    887 
    888 /* GL_OES_depth24 */
    889 #ifndef GL_OES_depth24
    890 #define GL_OES_depth24 1
    891 #endif
    892 
    893 /* GL_OES_depth32 */
    894 #ifndef GL_OES_depth32
    895 #define GL_OES_depth32 1
    896 #endif
    897 
    898 /* GL_OES_depth_texture */
    899 #ifndef GL_OES_depth_texture
    900 #define GL_OES_depth_texture 1
    901 #endif
    902 
    903 /* GL_OES_EGL_image */
    904 #ifndef GL_OES_EGL_image
    905 #define GL_OES_EGL_image 1
    906 #ifdef GL_GLEXT_PROTOTYPES
    907 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
    908 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
    909 #endif
    910 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
    911 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
    912 #endif
    913 
    914 /* GL_OES_EGL_image_external */
    915 #ifndef GL_OES_EGL_image_external
    916 #define GL_OES_EGL_image_external 1
    917 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
    918 #endif
    919 
    920 /* GL_OES_element_index_uint */
    921 #ifndef GL_OES_element_index_uint
    922 #define GL_OES_element_index_uint 1
    923 #endif
    924 
    925 /* GL_OES_fbo_render_mipmap */
    926 #ifndef GL_OES_fbo_render_mipmap
    927 #define GL_OES_fbo_render_mipmap 1
    928 #endif
    929 
    930 /* GL_OES_fragment_precision_high */
    931 #ifndef GL_OES_fragment_precision_high
    932 #define GL_OES_fragment_precision_high 1
    933 #endif
    934 
    935 /* GL_OES_get_program_binary */
    936 #ifndef GL_OES_get_program_binary
    937 #define GL_OES_get_program_binary 1
    938 #ifdef GL_GLEXT_PROTOTYPES
    939 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
    940 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
    941 #endif
    942 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
    943 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
    944 #endif
    945 
    946 /* GL_OES_mapbuffer */
    947 #ifndef GL_OES_mapbuffer
    948 #define GL_OES_mapbuffer 1
    949 #ifdef GL_GLEXT_PROTOTYPES
    950 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
    951 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
    952 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
    953 #endif
    954 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
    955 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
    956 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
    957 #endif
    958 
    959 /* GL_OES_packed_depth_stencil */
    960 #ifndef GL_OES_packed_depth_stencil
    961 #define GL_OES_packed_depth_stencil 1
    962 #endif
    963 
    964 /* GL_OES_required_internalformat */
    965 #ifndef GL_OES_required_internalformat
    966 #define GL_OES_required_internalformat 1
    967 #endif
    968 
    969 /* GL_OES_rgb8_rgba8 */
    970 #ifndef GL_OES_rgb8_rgba8
    971 #define GL_OES_rgb8_rgba8 1
    972 #endif
    973 
    974 /* GL_OES_standard_derivatives */
    975 #ifndef GL_OES_standard_derivatives
    976 #define GL_OES_standard_derivatives 1
    977 #endif
    978 
    979 /* GL_OES_stencil1 */
    980 #ifndef GL_OES_stencil1
    981 #define GL_OES_stencil1 1
    982 #endif
    983 
    984 /* GL_OES_stencil4 */
    985 #ifndef GL_OES_stencil4
    986 #define GL_OES_stencil4 1
    987 #endif
    988 
    989 #ifndef GL_OES_surfaceless_context
    990 #define GL_OES_surfaceless_context 1
    991 #endif
    992 
    993 /* GL_OES_texture_3D */
    994 #ifndef GL_OES_texture_3D
    995 #define GL_OES_texture_3D 1
    996 #ifdef GL_GLEXT_PROTOTYPES
    997 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);
    998 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);
    999 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1000 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);
   1001 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);
   1002 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
   1003 #endif
   1004 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);
   1005 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);
   1006 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1007 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
   1008 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);
   1009 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
   1010 #endif
   1011 
   1012 /* GL_OES_texture_float */
   1013 #ifndef GL_OES_texture_float
   1014 #define GL_OES_texture_float 1
   1015 #endif
   1016 
   1017 /* GL_OES_texture_float_linear */
   1018 #ifndef GL_OES_texture_float_linear
   1019 #define GL_OES_texture_float_linear 1
   1020 #endif
   1021 
   1022 /* GL_OES_texture_half_float */
   1023 #ifndef GL_OES_texture_half_float
   1024 #define GL_OES_texture_half_float 1
   1025 #endif
   1026 
   1027 /* GL_OES_texture_half_float_linear */
   1028 #ifndef GL_OES_texture_half_float_linear
   1029 #define GL_OES_texture_half_float_linear 1
   1030 #endif
   1031 
   1032 /* GL_OES_texture_npot */
   1033 #ifndef GL_OES_texture_npot
   1034 #define GL_OES_texture_npot 1
   1035 #endif
   1036 
   1037 /* GL_OES_vertex_array_object */
   1038 #ifndef GL_OES_vertex_array_object
   1039 #define GL_OES_vertex_array_object 1
   1040 #ifdef GL_GLEXT_PROTOTYPES
   1041 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
   1042 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
   1043 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
   1044 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
   1045 #endif
   1046 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
   1047 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
   1048 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
   1049 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
   1050 #endif
   1051 
   1052 /* GL_OES_vertex_half_float */
   1053 #ifndef GL_OES_vertex_half_float
   1054 #define GL_OES_vertex_half_float 1
   1055 #endif
   1056 
   1057 /* GL_OES_vertex_type_10_10_10_2 */
   1058 #ifndef GL_OES_vertex_type_10_10_10_2
   1059 #define GL_OES_vertex_type_10_10_10_2 1
   1060 #endif
   1061 
   1062 /*------------------------------------------------------------------------*
   1063  * KHR extension functions
   1064  *------------------------------------------------------------------------*/
   1065 
   1066 #ifndef GL_KHR_debug
   1067 #define GL_KHR_debug 1
   1068 #ifdef GL_GLEXT_PROTOTYPES
   1069 GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1070 GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1071 GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
   1072 GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1073 GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1074 GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
   1075 GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1076 GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1077 GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
   1078 GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1079 GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
   1080 #endif
   1081 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1082 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1083 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
   1084 typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1085 typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1086 typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
   1087 typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1088 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1089 typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
   1090 typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1091 typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
   1092 #endif
   1093 
   1094 #ifndef GL_KHR_texture_compression_astc_ldr
   1095 #define GL_KHR_texture_compression_astc_ldr 1
   1096 #endif
   1097 
   1098 
   1099 /*------------------------------------------------------------------------*
   1100  * AMD extension functions
   1101  *------------------------------------------------------------------------*/
   1102 
   1103 /* GL_AMD_compressed_3DC_texture */
   1104 #ifndef GL_AMD_compressed_3DC_texture
   1105 #define GL_AMD_compressed_3DC_texture 1
   1106 #endif
   1107 
   1108 /* GL_AMD_compressed_ATC_texture */
   1109 #ifndef GL_AMD_compressed_ATC_texture
   1110 #define GL_AMD_compressed_ATC_texture 1
   1111 #endif
   1112 
   1113 /* AMD_performance_monitor */
   1114 #ifndef GL_AMD_performance_monitor
   1115 #define GL_AMD_performance_monitor 1
   1116 #ifdef GL_GLEXT_PROTOTYPES
   1117 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
   1118 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
   1119 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
   1120 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
   1121 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
   1122 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
   1123 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
   1124 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
   1125 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
   1126 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
   1127 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
   1128 #endif
   1129 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
   1130 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
   1131 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
   1132 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
   1133 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
   1134 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
   1135 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
   1136 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
   1137 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
   1138 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
   1139 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
   1140 #endif
   1141 
   1142 /* GL_AMD_program_binary_Z400 */
   1143 #ifndef GL_AMD_program_binary_Z400
   1144 #define GL_AMD_program_binary_Z400 1
   1145 #endif
   1146 
   1147 /*------------------------------------------------------------------------*
   1148  * ANGLE extension functions
   1149  *------------------------------------------------------------------------*/
   1150 
   1151 /* GL_ANGLE_framebuffer_blit */
   1152 #ifndef GL_ANGLE_framebuffer_blit
   1153 #define GL_ANGLE_framebuffer_blit 1
   1154 #ifdef GL_GLEXT_PROTOTYPES
   1155 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);
   1156 #endif
   1157 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);
   1158 #endif
   1159 
   1160 /* GL_ANGLE_framebuffer_multisample */
   1161 #ifndef GL_ANGLE_framebuffer_multisample
   1162 #define GL_ANGLE_framebuffer_multisample 1
   1163 #ifdef GL_GLEXT_PROTOTYPES
   1164 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1165 #endif
   1166 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1167 #endif
   1168 
   1169 /* GL_ANGLE_instances_arrays */
   1170 #ifndef GL_ANGLE_instanced_arrays
   1171 #define GL_ANGLE_instanced_arrays 1
   1172 #ifdef GL_GLEXT_PROTOTYPES
   1173 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1174 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
   1175 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
   1176 #endif
   1177 typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1178 typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
   1179 typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
   1180 #endif
   1181 
   1182 /* GL_ANGLE_pack_reverse_row_order */
   1183 #ifndef GL_ANGLE_pack_reverse_row_order
   1184 #define GL_ANGLE_pack_reverse_row_order 1
   1185 #endif
   1186 
   1187 /* GL_ANGLE_texture_compression_dxt3 */
   1188 #ifndef GL_ANGLE_texture_compression_dxt3
   1189 #define GL_ANGLE_texture_compression_dxt3 1
   1190 #endif
   1191 
   1192 /* GL_ANGLE_texture_compression_dxt5 */
   1193 #ifndef GL_ANGLE_texture_compression_dxt5
   1194 #define GL_ANGLE_texture_compression_dxt5 1
   1195 #endif
   1196 
   1197 /* GL_ANGLE_texture_usage */
   1198 #ifndef GL_ANGLE_texture_usage
   1199 #define GL_ANGLE_texture_usage 1
   1200 #endif
   1201 
   1202 #ifndef GL_ANGLE_translated_shader_source
   1203 #define GL_ANGLE_translated_shader_source 1
   1204 #ifdef GL_GLEXT_PROTOTYPES
   1205 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
   1206 #endif
   1207 typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
   1208 #endif
   1209 
   1210 /*------------------------------------------------------------------------*
   1211  * APPLE extension functions
   1212  *------------------------------------------------------------------------*/
   1213 
   1214 /* GL_APPLE_copy_texture_levels */
   1215 #ifndef GL_APPLE_copy_texture_levels
   1216 #define GL_APPLE_copy_texture_levels 1
   1217 #ifdef GL_GLEXT_PROTOTYPES
   1218 GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
   1219 #endif
   1220 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
   1221 #endif
   1222 
   1223 /* GL_APPLE_framebuffer_multisample */
   1224 #ifndef GL_APPLE_framebuffer_multisample
   1225 #define GL_APPLE_framebuffer_multisample 1
   1226 #ifdef GL_GLEXT_PROTOTYPES
   1227 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
   1228 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
   1229 #endif /* GL_GLEXT_PROTOTYPES */
   1230 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1231 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
   1232 #endif
   1233 
   1234 /* GL_APPLE_rgb_422 */
   1235 #ifndef GL_APPLE_rgb_422
   1236 #define GL_APPLE_rgb_422 1
   1237 #endif
   1238 
   1239 /* GL_APPLE_sync */
   1240 #ifndef GL_APPLE_sync
   1241 #define GL_APPLE_sync 1
   1242 #ifdef GL_GLEXT_PROTOTYPES
   1243 GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
   1244 GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
   1245 GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
   1246 GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1247 GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1248 GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
   1249 GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
   1250 #endif
   1251 typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
   1252 typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
   1253 typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
   1254 typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1255 typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
   1256 typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
   1257 typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
   1258 #endif
   1259 
   1260 /* GL_APPLE_texture_format_BGRA8888 */
   1261 #ifndef GL_APPLE_texture_format_BGRA8888
   1262 #define GL_APPLE_texture_format_BGRA8888 1
   1263 #endif
   1264 
   1265 /* GL_APPLE_texture_max_level */
   1266 #ifndef GL_APPLE_texture_max_level
   1267 #define GL_APPLE_texture_max_level 1
   1268 #endif
   1269 
   1270 /*------------------------------------------------------------------------*
   1271  * ARM extension functions
   1272  *------------------------------------------------------------------------*/
   1273 
   1274 /* GL_ARM_mali_program_binary */
   1275 #ifndef GL_ARM_mali_program_binary
   1276 #define GL_ARM_mali_program_binary 1
   1277 #endif
   1278 
   1279 /* GL_ARM_mali_shader_binary */
   1280 #ifndef GL_ARM_mali_shader_binary
   1281 #define GL_ARM_mali_shader_binary 1
   1282 #endif
   1283 
   1284 /* GL_ARM_rgba8 */
   1285 #ifndef GL_ARM_rgba8
   1286 #define GL_ARM_rgba8 1
   1287 #endif
   1288 
   1289 /*------------------------------------------------------------------------*
   1290  * EXT extension functions
   1291  *------------------------------------------------------------------------*/
   1292 
   1293 /* GL_EXT_blend_minmax */
   1294 #ifndef GL_EXT_blend_minmax
   1295 #define GL_EXT_blend_minmax 1
   1296 #endif
   1297 
   1298 /* GL_EXT_color_buffer_half_float */
   1299 #ifndef GL_EXT_color_buffer_half_float
   1300 #define GL_EXT_color_buffer_half_float 1
   1301 #endif
   1302 
   1303 /* GL_EXT_debug_label */
   1304 #ifndef GL_EXT_debug_label
   1305 #define GL_EXT_debug_label 1
   1306 #ifdef GL_GLEXT_PROTOTYPES
   1307 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
   1308 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
   1309 #endif
   1310 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
   1311 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
   1312 #endif
   1313 
   1314 /* GL_EXT_debug_marker */
   1315 #ifndef GL_EXT_debug_marker
   1316 #define GL_EXT_debug_marker 1
   1317 #ifdef GL_GLEXT_PROTOTYPES
   1318 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
   1319 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
   1320 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
   1321 #endif
   1322 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
   1323 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
   1324 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
   1325 #endif
   1326 
   1327 /* GL_EXT_discard_framebuffer */
   1328 #ifndef GL_EXT_discard_framebuffer
   1329 #define GL_EXT_discard_framebuffer 1
   1330 #ifdef GL_GLEXT_PROTOTYPES
   1331 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
   1332 #endif
   1333 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
   1334 #endif
   1335 
   1336 /* GL_EXT_map_buffer_range */
   1337 #ifndef GL_EXT_map_buffer_range
   1338 #define GL_EXT_map_buffer_range 1
   1339 #ifdef GL_GLEXT_PROTOTYPES
   1340 GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
   1341 GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
   1342 #endif
   1343 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
   1344 typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
   1345 #endif
   1346 
   1347 /* GL_EXT_multisampled_render_to_texture */
   1348 #ifndef GL_EXT_multisampled_render_to_texture
   1349 #define GL_EXT_multisampled_render_to_texture 1
   1350 #ifdef GL_GLEXT_PROTOTYPES
   1351 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
   1352 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
   1353 #endif
   1354 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1355 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1356 #endif
   1357 
   1358 /* GL_EXT_multiview_draw_buffers */
   1359 #ifndef GL_EXT_multiview_draw_buffers
   1360 #define GL_EXT_multiview_draw_buffers 1
   1361 #ifdef GL_GLEXT_PROTOTYPES
   1362 GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
   1363 GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
   1364 GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
   1365 #endif
   1366 typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
   1367 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
   1368 typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
   1369 #endif
   1370 
   1371 #ifndef GL_EXT_multi_draw_arrays
   1372 #define GL_EXT_multi_draw_arrays 1
   1373 #ifdef GL_GLEXT_PROTOTYPES
   1374 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
   1375 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
   1376 #endif /* GL_GLEXT_PROTOTYPES */
   1377 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
   1378 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
   1379 #endif
   1380 
   1381 /* GL_EXT_occlusion_query_boolean */
   1382 #ifndef GL_EXT_occlusion_query_boolean
   1383 #define GL_EXT_occlusion_query_boolean 1
   1384 #ifdef GL_GLEXT_PROTOTYPES
   1385 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
   1386 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
   1387 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
   1388 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
   1389 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
   1390 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
   1391 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
   1392 #endif
   1393 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
   1394 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
   1395 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
   1396 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
   1397 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
   1398 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
   1399 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
   1400 #endif
   1401 
   1402 /* GL_EXT_read_format_bgra */
   1403 #ifndef GL_EXT_read_format_bgra
   1404 #define GL_EXT_read_format_bgra 1
   1405 #endif
   1406 
   1407 /* GL_EXT_robustness */
   1408 #ifndef GL_EXT_robustness
   1409 #define GL_EXT_robustness 1
   1410 #ifdef GL_GLEXT_PROTOTYPES
   1411 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
   1412 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
   1413 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
   1414 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
   1415 #endif
   1416 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
   1417 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
   1418 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
   1419 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
   1420 #endif
   1421 
   1422 /* GL_EXT_separate_shader_objects */
   1423 #ifndef GL_EXT_separate_shader_objects
   1424 #define GL_EXT_separate_shader_objects 1
   1425 #ifdef GL_GLEXT_PROTOTYPES
   1426 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
   1427 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
   1428 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
   1429 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
   1430 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
   1431 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
   1432 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
   1433 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
   1434 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
   1435 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
   1436 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
   1437 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
   1438 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
   1439 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
   1440 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
   1441 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
   1442 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1443 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1444 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1445 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1446 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
   1447 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1448 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1449 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1450 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1451 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1452 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1453 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1454 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
   1455 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
   1456 #endif
   1457 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
   1458 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
   1459 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
   1460 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1461 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
   1462 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
   1463 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1464 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
   1465 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
   1466 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
   1467 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
   1468 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
   1469 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
   1470 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
   1471 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
   1472 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
   1473 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
   1474 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1475 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1476 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1477 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
   1478 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1479 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1480 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1481 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
   1482 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1483 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1484 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
   1485 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
   1486 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
   1487 #endif
   1488 
   1489 /* GL_EXT_shader_framebuffer_fetch */
   1490 #ifndef GL_EXT_shader_framebuffer_fetch
   1491 #define GL_EXT_shader_framebuffer_fetch 1
   1492 #endif
   1493 
   1494 /* GL_EXT_shader_texture_lod */
   1495 #ifndef GL_EXT_shader_texture_lod
   1496 #define GL_EXT_shader_texture_lod 1
   1497 #endif
   1498 
   1499 /* GL_EXT_shadow_samplers */
   1500 #ifndef GL_EXT_shadow_samplers
   1501 #define GL_EXT_shadow_samplers 1
   1502 #endif
   1503 
   1504 /* GL_EXT_sRGB */
   1505 #ifndef GL_EXT_sRGB
   1506 #define GL_EXT_sRGB 1
   1507 #endif
   1508 
   1509 /* GL_EXT_texture_compression_dxt1 */
   1510 #ifndef GL_EXT_texture_compression_dxt1
   1511 #define GL_EXT_texture_compression_dxt1 1
   1512 #endif
   1513 
   1514 /* GL_EXT_texture_filter_anisotropic */
   1515 #ifndef GL_EXT_texture_filter_anisotropic
   1516 #define GL_EXT_texture_filter_anisotropic 1
   1517 #endif
   1518 
   1519 /* GL_EXT_texture_format_BGRA8888 */
   1520 #ifndef GL_EXT_texture_format_BGRA8888
   1521 #define GL_EXT_texture_format_BGRA8888 1
   1522 #endif
   1523 
   1524 /* GL_EXT_texture_rg */
   1525 #ifndef GL_EXT_texture_rg
   1526 #define GL_EXT_texture_rg 1
   1527 #endif
   1528 
   1529 /* GL_EXT_texture_storage */
   1530 #ifndef GL_EXT_texture_storage
   1531 #define GL_EXT_texture_storage 1
   1532 #ifdef GL_GLEXT_PROTOTYPES
   1533 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1534 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1535 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1536 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1537 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1538 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1539 #endif
   1540 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1541 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1542 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1543 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
   1544 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
   1545 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
   1546 #endif
   1547 
   1548 /* GL_EXT_texture_type_2_10_10_10_REV */
   1549 #ifndef GL_EXT_texture_type_2_10_10_10_REV
   1550 #define GL_EXT_texture_type_2_10_10_10_REV 1
   1551 #endif
   1552 
   1553 /* GL_EXT_unpack_subimage */
   1554 #ifndef GL_EXT_unpack_subimage
   1555 #define GL_EXT_unpack_subimage 1
   1556 #endif
   1557 
   1558 /*------------------------------------------------------------------------*
   1559  * DMP extension functions
   1560  *------------------------------------------------------------------------*/
   1561 
   1562 /* GL_DMP_shader_binary */
   1563 #ifndef GL_DMP_shader_binary
   1564 #define GL_DMP_shader_binary 1
   1565 #endif
   1566 
   1567 /*------------------------------------------------------------------------*
   1568  * FJ extension functions
   1569  *------------------------------------------------------------------------*/
   1570 
   1571 /* GL_FJ_shader_binary_GCCSO */
   1572 #ifndef GL_FJ_shader_binary_GCCSO
   1573 #define GL_FJ_shader_binary_GCCSO 1
   1574 #endif
   1575 
   1576 /*------------------------------------------------------------------------*
   1577  * IMG extension functions
   1578  *------------------------------------------------------------------------*/
   1579 
   1580 /* GL_IMG_program_binary */
   1581 #ifndef GL_IMG_program_binary
   1582 #define GL_IMG_program_binary 1
   1583 #endif
   1584 
   1585 /* GL_IMG_read_format */
   1586 #ifndef GL_IMG_read_format
   1587 #define GL_IMG_read_format 1
   1588 #endif
   1589 
   1590 /* GL_IMG_shader_binary */
   1591 #ifndef GL_IMG_shader_binary
   1592 #define GL_IMG_shader_binary 1
   1593 #endif
   1594 
   1595 /* GL_IMG_texture_compression_pvrtc */
   1596 #ifndef GL_IMG_texture_compression_pvrtc
   1597 #define GL_IMG_texture_compression_pvrtc 1
   1598 #endif
   1599 
   1600 /* GL_IMG_multisampled_render_to_texture */
   1601 #ifndef GL_IMG_multisampled_render_to_texture
   1602 #define GL_IMG_multisampled_render_to_texture 1
   1603 #ifdef GL_GLEXT_PROTOTYPES
   1604 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
   1605 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
   1606 #endif
   1607 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1608 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1609 #endif
   1610 
   1611 /*------------------------------------------------------------------------*
   1612  * NV extension functions
   1613  *------------------------------------------------------------------------*/
   1614 
   1615 /* GL_NV_coverage_sample */
   1616 #ifndef GL_NV_coverage_sample
   1617 #define GL_NV_coverage_sample 1
   1618 #ifdef GL_GLEXT_PROTOTYPES
   1619 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
   1620 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
   1621 #endif
   1622 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
   1623 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
   1624 #endif
   1625 
   1626 /* GL_NV_depth_nonlinear */
   1627 #ifndef GL_NV_depth_nonlinear
   1628 #define GL_NV_depth_nonlinear 1
   1629 #endif
   1630 
   1631 /* GL_NV_draw_buffers */
   1632 #ifndef GL_NV_draw_buffers
   1633 #define GL_NV_draw_buffers 1
   1634 #ifdef GL_GLEXT_PROTOTYPES
   1635 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
   1636 #endif
   1637 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
   1638 #endif
   1639 
   1640 /* GL_NV_fbo_color_attachments */
   1641 #ifndef GL_NV_fbo_color_attachments
   1642 #define GL_NV_fbo_color_attachments 1
   1643 #endif
   1644 
   1645 /* GL_NV_fence */
   1646 #ifndef GL_NV_fence
   1647 #define GL_NV_fence 1
   1648 #ifdef GL_GLEXT_PROTOTYPES
   1649 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
   1650 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
   1651 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
   1652 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
   1653 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
   1654 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
   1655 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
   1656 #endif
   1657 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
   1658 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
   1659 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
   1660 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
   1661 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
   1662 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
   1663 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
   1664 #endif
   1665 
   1666 /* GL_NV_read_buffer */
   1667 #ifndef GL_NV_read_buffer
   1668 #define GL_NV_read_buffer 1
   1669 #ifdef GL_GLEXT_PROTOTYPES
   1670 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
   1671 #endif
   1672 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
   1673 #endif
   1674 
   1675 /* GL_NV_read_buffer_front */
   1676 #ifndef GL_NV_read_buffer_front
   1677 #define GL_NV_read_buffer_front 1
   1678 #endif
   1679 
   1680 /* GL_NV_read_depth */
   1681 #ifndef GL_NV_read_depth
   1682 #define GL_NV_read_depth 1
   1683 #endif
   1684 
   1685 /* GL_NV_read_depth_stencil */
   1686 #ifndef GL_NV_read_depth_stencil
   1687 #define GL_NV_read_depth_stencil 1
   1688 #endif
   1689 
   1690 /* GL_NV_read_stencil */
   1691 #ifndef GL_NV_read_stencil
   1692 #define GL_NV_read_stencil 1
   1693 #endif
   1694 
   1695 /* GL_NV_texture_compression_s3tc_update */
   1696 #ifndef GL_NV_texture_compression_s3tc_update
   1697 #define GL_NV_texture_compression_s3tc_update 1
   1698 #endif
   1699 
   1700 /* GL_NV_texture_npot_2D_mipmap */
   1701 #ifndef GL_NV_texture_npot_2D_mipmap
   1702 #define GL_NV_texture_npot_2D_mipmap 1
   1703 #endif
   1704 
   1705 /*------------------------------------------------------------------------*
   1706  * QCOM extension functions
   1707  *------------------------------------------------------------------------*/
   1708 
   1709 /* GL_QCOM_alpha_test */
   1710 #ifndef GL_QCOM_alpha_test
   1711 #define GL_QCOM_alpha_test 1
   1712 #ifdef GL_GLEXT_PROTOTYPES
   1713 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
   1714 #endif
   1715 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
   1716 #endif
   1717 
   1718 /* GL_QCOM_binning_control */
   1719 #ifndef GL_QCOM_binning_control
   1720 #define GL_QCOM_binning_control 1
   1721 #endif
   1722 
   1723 /* GL_QCOM_driver_control */
   1724 #ifndef GL_QCOM_driver_control
   1725 #define GL_QCOM_driver_control 1
   1726 #ifdef GL_GLEXT_PROTOTYPES
   1727 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
   1728 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
   1729 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
   1730 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
   1731 #endif
   1732 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
   1733 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
   1734 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
   1735 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
   1736 #endif
   1737 
   1738 /* GL_QCOM_extended_get */
   1739 #ifndef GL_QCOM_extended_get
   1740 #define GL_QCOM_extended_get 1
   1741 #ifdef GL_GLEXT_PROTOTYPES
   1742 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
   1743 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
   1744 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
   1745 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
   1746 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
   1747 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
   1748 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);
   1749 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
   1750 #endif
   1751 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
   1752 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
   1753 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
   1754 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
   1755 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
   1756 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
   1757 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);
   1758 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
   1759 #endif
   1760 
   1761 /* GL_QCOM_extended_get2 */
   1762 #ifndef GL_QCOM_extended_get2
   1763 #define GL_QCOM_extended_get2 1
   1764 #ifdef GL_GLEXT_PROTOTYPES
   1765 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
   1766 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
   1767 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
   1768 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
   1769 #endif
   1770 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
   1771 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
   1772 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
   1773 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
   1774 #endif
   1775 
   1776 /* GL_QCOM_perfmon_global_mode */
   1777 #ifndef GL_QCOM_perfmon_global_mode
   1778 #define GL_QCOM_perfmon_global_mode 1
   1779 #endif
   1780 
   1781 /* GL_QCOM_writeonly_rendering */
   1782 #ifndef GL_QCOM_writeonly_rendering
   1783 #define GL_QCOM_writeonly_rendering 1
   1784 #endif
   1785 
   1786 /* GL_QCOM_tiled_rendering */
   1787 #ifndef GL_QCOM_tiled_rendering
   1788 #define GL_QCOM_tiled_rendering 1
   1789 #ifdef GL_GLEXT_PROTOTYPES
   1790 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
   1791 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
   1792 #endif
   1793 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
   1794 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
   1795 #endif
   1796 
   1797 /*------------------------------------------------------------------------*
   1798  * VIV extension tokens
   1799  *------------------------------------------------------------------------*/
   1800 
   1801 /* GL_VIV_shader_binary */
   1802 #ifndef GL_VIV_shader_binary
   1803 #define GL_VIV_shader_binary 1
   1804 #endif
   1805 
   1806 #ifdef __cplusplus
   1807 }
   1808 #endif
   1809 
   1810 #endif /* __gl2ext_h_ */
   1811