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