Home | History | Annotate | Download | only in GLES2
      1 #ifndef __gl2ext_h_
      2 #define __gl2ext_h_
      3 
      4 /* $Revision: 10969 $ on $Date:: 2010-04-09 02:27:15 -0700 #$ */
      5 
      6 #include <GLES2/gl2.h>
      7 
      8 #ifdef __cplusplus
      9 extern "C" {
     10 #endif
     11 
     12 /*
     13  * This document is licensed under the SGI Free Software B License Version
     14  * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
     15  */
     16 
     17 #ifndef GL_APIENTRYP
     18 #   define GL_APIENTRYP GL_APIENTRY*
     19 #endif
     20 
     21 /*------------------------------------------------------------------------*
     22  * OES extension tokens
     23  *------------------------------------------------------------------------*/
     24 
     25 /* GL_OES_compressed_ETC1_RGB8_texture */
     26 #ifndef GL_OES_compressed_ETC1_RGB8_texture
     27 #define GL_ETC1_RGB8_OES                                        0x8D64
     28 #endif
     29 
     30 /* GL_OES_compressed_paletted_texture */
     31 #ifndef GL_OES_compressed_paletted_texture
     32 #define GL_PALETTE4_RGB8_OES                                    0x8B90
     33 #define GL_PALETTE4_RGBA8_OES                                   0x8B91
     34 #define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
     35 #define GL_PALETTE4_RGBA4_OES                                   0x8B93
     36 #define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
     37 #define GL_PALETTE8_RGB8_OES                                    0x8B95
     38 #define GL_PALETTE8_RGBA8_OES                                   0x8B96
     39 #define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
     40 #define GL_PALETTE8_RGBA4_OES                                   0x8B98
     41 #define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
     42 #endif
     43 
     44 /* GL_OES_depth24 */
     45 #ifndef GL_OES_depth24
     46 #define GL_DEPTH_COMPONENT24_OES                                0x81A6
     47 #endif
     48 
     49 /* GL_OES_depth32 */
     50 #ifndef GL_OES_depth32
     51 #define GL_DEPTH_COMPONENT32_OES                                0x81A7
     52 #endif
     53 
     54 /* GL_OES_depth_texture */
     55 /* No new tokens introduced by this extension. */
     56 
     57 /* GL_OES_EGL_image */
     58 #ifndef GL_OES_EGL_image
     59 typedef void* GLeglImageOES;
     60 #endif
     61 
     62 /* GL_OES_element_index_uint */
     63 #ifndef GL_OES_element_index_uint
     64 #define GL_UNSIGNED_INT                                         0x1405
     65 #endif
     66 
     67 /* GL_OES_get_program_binary */
     68 #ifndef GL_OES_get_program_binary
     69 #define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
     70 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
     71 #define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
     72 #endif
     73 
     74 /* GL_OES_mapbuffer */
     75 #ifndef GL_OES_mapbuffer
     76 #define GL_WRITE_ONLY_OES                                       0x88B9
     77 #define GL_BUFFER_ACCESS_OES                                    0x88BB
     78 #define GL_BUFFER_MAPPED_OES                                    0x88BC
     79 #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
     80 #endif
     81 
     82 /* GL_OES_packed_depth_stencil */
     83 #ifndef GL_OES_packed_depth_stencil
     84 #define GL_DEPTH_STENCIL_OES                                    0x84F9
     85 #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
     86 #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
     87 #endif
     88 
     89 /* GL_OES_rgb8_rgba8 */
     90 #ifndef GL_OES_rgb8_rgba8
     91 #define GL_RGB8_OES                                             0x8051
     92 #define GL_RGBA8_OES                                            0x8058
     93 #endif
     94 
     95 /* GL_OES_standard_derivatives */
     96 #ifndef GL_OES_standard_derivatives
     97 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
     98 #endif
     99 
    100 /* GL_OES_stencil1 */
    101 #ifndef GL_OES_stencil1
    102 #define GL_STENCIL_INDEX1_OES                                   0x8D46
    103 #endif
    104 
    105 /* GL_OES_stencil4 */
    106 #ifndef GL_OES_stencil4
    107 #define GL_STENCIL_INDEX4_OES                                   0x8D47
    108 #endif
    109 
    110 /* GL_OES_texture_3D */
    111 #ifndef GL_OES_texture_3D
    112 #define GL_TEXTURE_WRAP_R_OES                                   0x8072
    113 #define GL_TEXTURE_3D_OES                                       0x806F
    114 #define GL_TEXTURE_BINDING_3D_OES                               0x806A
    115 #define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
    116 #define GL_SAMPLER_3D_OES                                       0x8B5F
    117 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
    118 #endif
    119 
    120 /* GL_OES_texture_float */
    121 /* No new tokens introduced by this extension. */
    122 
    123 /* GL_OES_texture_float_linear */
    124 /* No new tokens introduced by this extension. */
    125 
    126 /* GL_OES_texture_half_float */
    127 #ifndef GL_OES_texture_half_float
    128 #define GL_HALF_FLOAT_OES                                       0x8D61
    129 #endif
    130 
    131 /* GL_OES_texture_half_float_linear */
    132 /* No new tokens introduced by this extension. */
    133 
    134 /* GL_OES_texture_npot */
    135 /* No new tokens introduced by this extension. */
    136 
    137 /* GL_OES_vertex_array_object */
    138 #ifndef GL_OES_vertex_array_object
    139 #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
    140 #endif
    141 
    142 /* GL_OES_vertex_half_float */
    143 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
    144 
    145 /* GL_OES_vertex_type_10_10_10_2 */
    146 #ifndef GL_OES_vertex_type_10_10_10_2
    147 #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
    148 #define GL_INT_10_10_10_2_OES                                   0x8DF7
    149 #endif
    150 
    151 /* GL_OES_EGL_image_external */
    152 #ifndef GL_OES_EGL_image_external
    153 #define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
    154 #define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
    155 #define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
    156 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
    157 #endif
    158 
    159 /*------------------------------------------------------------------------*
    160  * AMD extension tokens
    161  *------------------------------------------------------------------------*/
    162 
    163 /* GL_AMD_compressed_3DC_texture */
    164 #ifndef GL_AMD_compressed_3DC_texture
    165 #define GL_3DC_X_AMD                                            0x87F9
    166 #define GL_3DC_XY_AMD                                           0x87FA
    167 #endif
    168 
    169 /* GL_AMD_compressed_ATC_texture */
    170 #ifndef GL_AMD_compressed_ATC_texture
    171 #define GL_ATC_RGB_AMD                                          0x8C92
    172 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
    173 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
    174 #endif
    175 
    176 /* GL_AMD_performance_monitor */
    177 #ifndef GL_AMD_performance_monitor
    178 #define GL_COUNTER_TYPE_AMD                                     0x8BC0
    179 #define GL_COUNTER_RANGE_AMD                                    0x8BC1
    180 #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
    181 #define GL_PERCENTAGE_AMD                                       0x8BC3
    182 #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
    183 #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
    184 #define GL_PERFMON_RESULT_AMD                                   0x8BC6
    185 #endif
    186 
    187 /* GL_AMD_program_binary_Z400 */
    188 #ifndef GL_AMD_program_binary_Z400
    189 #define GL_Z400_BINARY_AMD                                      0x8740
    190 #endif
    191 
    192 /*------------------------------------------------------------------------*
    193  * EXT extension tokens
    194  *------------------------------------------------------------------------*/
    195 
    196 /* GL_EXT_blend_minmax */
    197 #ifndef GL_EXT_blend_minmax
    198 #define GL_MIN_EXT                                              0x8007
    199 #define GL_MAX_EXT                                              0x8008
    200 #endif
    201 
    202 /* GL_EXT_discard_framebuffer */
    203 #ifndef GL_EXT_discard_framebuffer
    204 #define GL_COLOR_EXT                                            0x1800
    205 #define GL_DEPTH_EXT                                            0x1801
    206 #define GL_STENCIL_EXT                                          0x1802
    207 #endif
    208 
    209 /* GL_EXT_multi_draw_arrays */
    210 /* No new tokens introduced by this extension. */
    211 
    212 /* GL_EXT_read_format_bgra */
    213 #ifndef GL_EXT_read_format_bgra
    214 #define GL_BGRA_EXT                                             0x80E1
    215 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
    216 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
    217 #endif
    218 
    219 /* GL_EXT_texture_filter_anisotropic */
    220 #ifndef GL_EXT_texture_filter_anisotropic
    221 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
    222 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
    223 #endif
    224 
    225 /* GL_EXT_texture_format_BGRA8888 */
    226 #ifndef GL_EXT_texture_format_BGRA8888
    227 #define GL_BGRA_EXT                                             0x80E1
    228 #endif
    229 
    230 /* GL_EXT_texture_type_2_10_10_10_REV */
    231 #ifndef GL_EXT_texture_type_2_10_10_10_REV
    232 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
    233 #endif
    234 
    235 /* GL_EXT_texture_compression_dxt1 */
    236 #ifndef GL_EXT_texture_compression_dxt1
    237 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
    238 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
    239 #endif
    240 
    241 /*------------------------------------------------------------------------*
    242  * IMG extension tokens
    243  *------------------------------------------------------------------------*/
    244 
    245 /* GL_IMG_program_binary */
    246 #ifndef GL_IMG_program_binary
    247 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
    248 #endif
    249 
    250 /* GL_IMG_read_format */
    251 #ifndef GL_IMG_read_format
    252 #define GL_BGRA_IMG                                             0x80E1
    253 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
    254 #endif
    255 
    256 /* GL_IMG_shader_binary */
    257 #ifndef GL_IMG_shader_binary
    258 #define GL_SGX_BINARY_IMG                                       0x8C0A
    259 #endif
    260 
    261 /* GL_IMG_texture_compression_pvrtc */
    262 #ifndef GL_IMG_texture_compression_pvrtc
    263 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
    264 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
    265 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
    266 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
    267 #endif
    268 
    269 /* GL_IMG_multisampled_render_to_texture */
    270 #ifndef GL_IMG_multisampled_render_to_texture
    271 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
    272 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
    273 #define GL_MAX_SAMPLES_IMG                                      0x9135
    274 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
    275 #endif
    276 
    277 /*------------------------------------------------------------------------*
    278  * NV extension tokens
    279  *------------------------------------------------------------------------*/
    280 
    281 /* GL_NV_fence */
    282 #ifndef GL_NV_fence
    283 #define GL_ALL_COMPLETED_NV                                     0x84F2
    284 #define GL_FENCE_STATUS_NV                                      0x84F3
    285 #define GL_FENCE_CONDITION_NV                                   0x84F4
    286 #endif
    287 
    288 /* GL_NV_coverage_sample */
    289 #ifndef GL_NV_coverage_sample
    290 #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
    291 #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
    292 #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
    293 #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
    294 #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
    295 #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
    296 #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
    297 #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
    298 #define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
    299 #endif
    300 
    301 /* GL_NV_depth_nonlinear */
    302 #ifndef GL_NV_depth_nonlinear
    303 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
    304 #endif
    305 
    306 /*------------------------------------------------------------------------*
    307  * QCOM extension tokens
    308  *------------------------------------------------------------------------*/
    309 
    310 /* GL_QCOM_driver_control */
    311 /* No new tokens introduced by this extension. */
    312 
    313 /* GL_QCOM_extended_get */
    314 #ifndef GL_QCOM_extended_get
    315 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
    316 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
    317 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
    318 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
    319 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
    320 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
    321 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
    322 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
    323 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
    324 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
    325 #define GL_STATE_RESTORE                                        0x8BDC
    326 #endif
    327 
    328 /* GL_QCOM_extended_get2 */
    329 /* No new tokens introduced by this extension. */
    330 
    331 /* GL_QCOM_perfmon_global_mode */
    332 #ifndef GL_QCOM_perfmon_global_mode
    333 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
    334 #endif
    335 
    336 /* GL_QCOM_writeonly_rendering */
    337 #ifndef GL_QCOM_writeonly_rendering
    338 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
    339 #endif
    340 
    341 /* GL_QCOM_tiled_rendering */
    342 #ifndef GL_QCOM_tiled_rendering
    343 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
    344 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
    345 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
    346 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
    347 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
    348 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
    349 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
    350 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
    351 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
    352 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
    353 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
    354 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
    355 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
    356 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
    357 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
    358 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
    359 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
    360 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
    361 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
    362 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
    363 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
    364 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
    365 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
    366 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
    367 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
    368 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
    369 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
    370 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
    371 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
    372 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
    373 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
    374 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
    375 #endif
    376 
    377 /*------------------------------------------------------------------------*
    378  * End of extension tokens, start of corresponding extension functions
    379  *------------------------------------------------------------------------*/
    380 
    381 /*------------------------------------------------------------------------*
    382  * OES extension functions
    383  *------------------------------------------------------------------------*/
    384 
    385 /* GL_OES_compressed_ETC1_RGB8_texture */
    386 #ifndef GL_OES_compressed_ETC1_RGB8_texture
    387 #define GL_OES_compressed_ETC1_RGB8_texture 1
    388 #endif
    389 
    390 /* GL_OES_compressed_paletted_texture */
    391 #ifndef GL_OES_compressed_paletted_texture
    392 #define GL_OES_compressed_paletted_texture 1
    393 #endif
    394 
    395 /* GL_OES_depth24 */
    396 #ifndef GL_OES_depth24
    397 #define GL_OES_depth24 1
    398 #endif
    399 
    400 /* GL_OES_depth32 */
    401 #ifndef GL_OES_depth32
    402 #define GL_OES_depth32 1
    403 #endif
    404 
    405 /* GL_OES_depth_texture */
    406 #ifndef GL_OES_depth_texture
    407 #define GL_OES_depth_texture 1
    408 #endif
    409 
    410 /* GL_OES_EGL_image */
    411 #ifndef GL_OES_EGL_image
    412 #define GL_OES_EGL_image 1
    413 #ifdef GL_GLEXT_PROTOTYPES
    414 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
    415 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
    416 #endif
    417 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
    418 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
    419 #endif
    420 
    421 /* GL_OES_element_index_uint */
    422 #ifndef GL_OES_element_index_uint
    423 #define GL_OES_element_index_uint 1
    424 #endif
    425 
    426 /* GL_OES_fbo_render_mipmap */
    427 #ifndef GL_OES_fbo_render_mipmap
    428 #define GL_OES_fbo_render_mipmap 1
    429 #endif
    430 
    431 /* GL_OES_fragment_precision_high */
    432 #ifndef GL_OES_fragment_precision_high
    433 #define GL_OES_fragment_precision_high 1
    434 #endif
    435 
    436 /* GL_OES_get_program_binary */
    437 #ifndef GL_OES_get_program_binary
    438 #define GL_OES_get_program_binary 1
    439 #ifdef GL_GLEXT_PROTOTYPES
    440 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
    441 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
    442 #endif
    443 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
    444 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
    445 #endif
    446 
    447 /* GL_OES_mapbuffer */
    448 #ifndef GL_OES_mapbuffer
    449 #define GL_OES_mapbuffer 1
    450 #ifdef GL_GLEXT_PROTOTYPES
    451 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
    452 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
    453 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
    454 #endif
    455 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
    456 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
    457 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
    458 #endif
    459 
    460 /* GL_OES_packed_depth_stencil */
    461 #ifndef GL_OES_packed_depth_stencil
    462 #define GL_OES_packed_depth_stencil 1
    463 #endif
    464 
    465 /* GL_OES_rgb8_rgba8 */
    466 #ifndef GL_OES_rgb8_rgba8
    467 #define GL_OES_rgb8_rgba8 1
    468 #endif
    469 
    470 /* GL_OES_standard_derivatives */
    471 #ifndef GL_OES_standard_derivatives
    472 #define GL_OES_standard_derivatives 1
    473 #endif
    474 
    475 /* GL_OES_stencil1 */
    476 #ifndef GL_OES_stencil1
    477 #define GL_OES_stencil1 1
    478 #endif
    479 
    480 /* GL_OES_stencil4 */
    481 #ifndef GL_OES_stencil4
    482 #define GL_OES_stencil4 1
    483 #endif
    484 
    485 /* GL_OES_texture_3D */
    486 #ifndef GL_OES_texture_3D
    487 #define GL_OES_texture_3D 1
    488 #ifdef GL_GLEXT_PROTOTYPES
    489 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);
    490 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);
    491 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    492 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);
    493 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);
    494 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
    495 #endif
    496 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);
    497 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);
    498 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    499 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
    500 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);
    501 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
    502 #endif
    503 
    504 /* GL_OES_texture_float */
    505 #ifndef GL_OES_texture_float
    506 #define GL_OES_texture_float 1
    507 #endif
    508 
    509 /* GL_OES_texture_float_linear */
    510 #ifndef GL_OES_texture_float_linear
    511 #define GL_OES_texture_float_linear 1
    512 #endif
    513 
    514 /* GL_OES_texture_half_float */
    515 #ifndef GL_OES_texture_half_float
    516 #define GL_OES_texture_half_float 1
    517 #endif
    518 
    519 /* GL_OES_texture_half_float_linear */
    520 #ifndef GL_OES_texture_half_float_linear
    521 #define GL_OES_texture_half_float_linear 1
    522 #endif
    523 
    524 /* GL_OES_texture_npot */
    525 #ifndef GL_OES_texture_npot
    526 #define GL_OES_texture_npot 1
    527 #endif
    528 
    529 /* GL_OES_vertex_array_object */
    530 #ifndef GL_OES_vertex_array_object
    531 #define GL_OES_vertex_array_object 1
    532 #ifdef GL_GLEXT_PROTOTYPES
    533 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
    534 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
    535 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
    536 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
    537 #endif
    538 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
    539 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
    540 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
    541 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
    542 #endif
    543 
    544 /* GL_OES_vertex_half_float */
    545 #ifndef GL_OES_vertex_half_float
    546 #define GL_OES_vertex_half_float 1
    547 #endif
    548 
    549 /* GL_OES_vertex_type_10_10_10_2 */
    550 #ifndef GL_OES_vertex_type_10_10_10_2
    551 #define GL_OES_vertex_type_10_10_10_2 1
    552 #endif
    553 
    554 /* GL_OES_EGL_image_external */
    555 #ifndef GL_OES_EGL_image_external
    556 #define GL_OES_EGL_image_external 1
    557 #endif
    558 
    559 /*------------------------------------------------------------------------*
    560  * AMD extension functions
    561  *------------------------------------------------------------------------*/
    562 
    563 /* GL_AMD_compressed_3DC_texture */
    564 #ifndef GL_AMD_compressed_3DC_texture
    565 #define GL_AMD_compressed_3DC_texture 1
    566 #endif
    567 
    568 /* GL_AMD_compressed_ATC_texture */
    569 #ifndef GL_AMD_compressed_ATC_texture
    570 #define GL_AMD_compressed_ATC_texture 1
    571 #endif
    572 
    573 /* AMD_performance_monitor */
    574 #ifndef GL_AMD_performance_monitor
    575 #define GL_AMD_performance_monitor 1
    576 #ifdef GL_GLEXT_PROTOTYPES
    577 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
    578 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
    579 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
    580 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
    581 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
    582 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
    583 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
    584 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
    585 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
    586 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
    587 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
    588 #endif
    589 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
    590 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
    591 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
    592 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
    593 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
    594 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
    595 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
    596 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
    597 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
    598 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
    599 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
    600 #endif
    601 
    602 /* GL_AMD_program_binary_Z400 */
    603 #ifndef GL_AMD_program_binary_Z400
    604 #define GL_AMD_program_binary_Z400 1
    605 #endif
    606 
    607 /*------------------------------------------------------------------------*
    608  * EXT extension functions
    609  *------------------------------------------------------------------------*/
    610 
    611 /* GL_EXT_blend_minmax */
    612 #ifndef GL_EXT_blend_minmax
    613 #define GL_EXT_blend_minmax 1
    614 #endif
    615 
    616 /* GL_EXT_discard_framebuffer */
    617 #ifndef GL_EXT_discard_framebuffer
    618 #define GL_EXT_discard_framebuffer 1
    619 #ifdef GL_GLEXT_PROTOTYPES
    620 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
    621 #endif
    622 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
    623 #endif
    624 
    625 #ifndef GL_EXT_multi_draw_arrays
    626 #define GL_EXT_multi_draw_arrays 1
    627 #ifdef GL_GLEXT_PROTOTYPES
    628 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
    629 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
    630 #endif /* GL_GLEXT_PROTOTYPES */
    631 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
    632 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
    633 #endif
    634 
    635 /* GL_EXT_read_format_bgra */
    636 #ifndef GL_EXT_read_format_bgra
    637 #define GL_EXT_read_format_bgra 1
    638 #endif
    639 
    640 /* GL_EXT_texture_filter_anisotropic */
    641 #ifndef GL_EXT_texture_filter_anisotropic
    642 #define GL_EXT_texture_filter_anisotropic 1
    643 #endif
    644 
    645 /* GL_EXT_texture_format_BGRA8888 */
    646 #ifndef GL_EXT_texture_format_BGRA8888
    647 #define GL_EXT_texture_format_BGRA8888 1
    648 #endif
    649 
    650 /* GL_EXT_texture_type_2_10_10_10_REV */
    651 #ifndef GL_EXT_texture_type_2_10_10_10_REV
    652 #define GL_EXT_texture_type_2_10_10_10_REV 1
    653 #endif
    654 
    655 /* GL_EXT_texture_compression_dxt1 */
    656 #ifndef GL_EXT_texture_compression_dxt1
    657 #define GL_EXT_texture_compression_dxt1 1
    658 #endif
    659 
    660 /*------------------------------------------------------------------------*
    661  * IMG extension functions
    662  *------------------------------------------------------------------------*/
    663 
    664 /* GL_IMG_program_binary */
    665 #ifndef GL_IMG_program_binary
    666 #define GL_IMG_program_binary 1
    667 #endif
    668 
    669 /* GL_IMG_read_format */
    670 #ifndef GL_IMG_read_format
    671 #define GL_IMG_read_format 1
    672 #endif
    673 
    674 /* GL_IMG_shader_binary */
    675 #ifndef GL_IMG_shader_binary
    676 #define GL_IMG_shader_binary 1
    677 #endif
    678 
    679 /* GL_IMG_texture_compression_pvrtc */
    680 #ifndef GL_IMG_texture_compression_pvrtc
    681 #define GL_IMG_texture_compression_pvrtc 1
    682 #endif
    683 
    684 /* GL_IMG_multisampled_render_to_texture */
    685 #ifndef GL_IMG_multisampled_render_to_texture
    686 #define GL_IMG_multisampled_render_to_texture 1
    687 #ifdef GL_GLEXT_PROTOTYPES
    688 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    689 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
    690 #endif
    691 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    692 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
    693 #endif
    694 
    695 /*------------------------------------------------------------------------*
    696  * NV extension functions
    697  *------------------------------------------------------------------------*/
    698 
    699 /* GL_NV_fence */
    700 #ifndef GL_NV_fence
    701 #define GL_NV_fence 1
    702 #ifdef GL_GLEXT_PROTOTYPES
    703 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
    704 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
    705 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
    706 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
    707 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
    708 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
    709 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
    710 #endif
    711 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
    712 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
    713 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
    714 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
    715 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
    716 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
    717 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
    718 #endif
    719 
    720 /* GL_NV_coverage_sample */
    721 #ifndef GL_NV_coverage_sample
    722 #define GL_NV_coverage_sample 1
    723 #ifdef GL_GLEXT_PROTOTYPES
    724 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
    725 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
    726 #endif
    727 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
    728 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
    729 #endif
    730 
    731 /* GL_NV_depth_nonlinear */
    732 #ifndef GL_NV_depth_nonlinear
    733 #define GL_NV_depth_nonlinear 1
    734 #endif
    735 
    736 /*------------------------------------------------------------------------*
    737  * QCOM extension functions
    738  *------------------------------------------------------------------------*/
    739 
    740 /* GL_QCOM_driver_control */
    741 #ifndef GL_QCOM_driver_control
    742 #define GL_QCOM_driver_control 1
    743 #ifdef GL_GLEXT_PROTOTYPES
    744 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
    745 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
    746 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
    747 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
    748 #endif
    749 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
    750 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
    751 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
    752 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
    753 #endif
    754 
    755 /* GL_QCOM_extended_get */
    756 #ifndef GL_QCOM_extended_get
    757 #define GL_QCOM_extended_get 1
    758 #ifdef GL_GLEXT_PROTOTYPES
    759 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
    760 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
    761 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
    762 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
    763 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
    764 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
    765 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);
    766 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
    767 #endif
    768 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
    769 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
    770 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
    771 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
    772 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
    773 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
    774 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);
    775 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
    776 #endif
    777 
    778 /* GL_QCOM_extended_get2 */
    779 #ifndef GL_QCOM_extended_get2
    780 #define GL_QCOM_extended_get2 1
    781 #ifdef GL_GLEXT_PROTOTYPES
    782 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
    783 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
    784 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
    785 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
    786 #endif
    787 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
    788 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
    789 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
    790 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
    791 #endif
    792 
    793 /* GL_QCOM_perfmon_global_mode */
    794 #ifndef GL_QCOM_perfmon_global_mode
    795 #define GL_QCOM_perfmon_global_mode 1
    796 #endif
    797 
    798 /* GL_QCOM_writeonly_rendering */
    799 #ifndef GL_QCOM_writeonly_rendering
    800 #define GL_QCOM_writeonly_rendering 1
    801 #endif
    802 
    803 /* GL_QCOM_tiled_rendering */
    804 #ifndef GL_QCOM_tiled_rendering
    805 #define GL_QCOM_tiled_rendering 1
    806 #ifdef GL_GLEXT_PROTOTYPES
    807 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
    808 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
    809 #endif
    810 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
    811 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
    812 #endif
    813 
    814 #ifdef __cplusplus
    815 }
    816 #endif
    817 
    818 #endif /* __gl2ext_h_ */
    819