1#ifndef __gl2ext_h_ 2#define __gl2ext_h_ 3 4/* $Revision: 8271 $ on $Date:: 2009-05-21 09:33:40 -0700 #$ */ 5 6#ifdef __cplusplus 7extern "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 57typedef void* GLeglImageOES; 58#endif 59 60/* GL_OES_get_program_binary */ 61#ifndef GL_OES_get_program_binary 62#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 63#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE 64#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF 65#endif 66 67/* GL_OES_mapbuffer */ 68#ifndef GL_OES_mapbuffer 69#define GL_WRITE_ONLY_OES 0x88B9 70#define GL_BUFFER_ACCESS_OES 0x88BB 71#define GL_BUFFER_MAPPED_OES 0x88BC 72#define GL_BUFFER_MAP_POINTER_OES 0x88BD 73#endif 74 75/* GL_OES_packed_depth_stencil */ 76#ifndef GL_OES_packed_depth_stencil 77#define GL_DEPTH_STENCIL_OES 0x84F9 78#define GL_UNSIGNED_INT_24_8_OES 0x84FA 79#define GL_DEPTH24_STENCIL8_OES 0x88F0 80#endif 81 82/* GL_OES_rgb8_rgba8 */ 83#ifndef GL_OES_rgb8_rgba8 84#define GL_RGB8_OES 0x8051 85#define GL_RGBA8_OES 0x8058 86#endif 87 88/* GL_OES_standard_derivatives */ 89#ifndef GL_OES_standard_derivatives 90#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B 91#endif 92 93/* GL_OES_stencil1 */ 94#ifndef GL_OES_stencil1 95#define GL_STENCIL_INDEX1_OES 0x8D46 96#endif 97 98/* GL_OES_stencil4 */ 99#ifndef GL_OES_stencil4 100#define GL_STENCIL_INDEX4_OES 0x8D47 101#endif 102 103/* GL_OES_texture3D */ 104#ifndef GL_OES_texture3D 105#define GL_TEXTURE_WRAP_R_OES 0x8072 106#define GL_TEXTURE_3D_OES 0x806F 107#define GL_TEXTURE_BINDING_3D_OES 0x806A 108#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 109#define GL_SAMPLER_3D_OES 0x8B5F 110#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 111#endif 112 113/* GL_OES_texture_half_float */ 114#ifndef GL_OES_texture_half_float 115#define GL_HALF_FLOAT_OES 0x8D61 116#endif 117 118/* GL_OES_vertex_half_float */ 119/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ 120 121/* GL_OES_vertex_type_10_10_10_2 */ 122#ifndef GL_OES_vertex_type_10_10_10_2 123#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 124#define GL_INT_10_10_10_2_OES 0x8DF7 125#endif 126 127/*------------------------------------------------------------------------* 128 * AMD extension tokens 129 *------------------------------------------------------------------------*/ 130 131/* GL_AMD_compressed_3DC_texture */ 132#ifndef GL_AMD_compressed_3DC_texture 133#define GL_3DC_X_AMD 0x87F9 134#define GL_3DC_XY_AMD 0x87FA 135#endif 136 137/* GL_AMD_compressed_ATC_texture */ 138#ifndef GL_AMD_compressed_ATC_texture 139#define GL_ATC_RGB_AMD 0x8C92 140#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 141#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE 142#endif 143 144/* GL_AMD_program_binary_Z400 */ 145#ifndef GL_AMD_program_binary_Z400 146#define GL_Z400_BINARY_AMD 0x8740 147#endif 148 149/* GL_AMD_performance_monitor */ 150#ifndef GL_AMD_performance_monitor 151#define GL_COUNTER_TYPE_AMD 0x8BC0 152#define GL_COUNTER_RANGE_AMD 0x8BC1 153#define GL_UNSIGNED_INT64_AMD 0x8BC2 154#define GL_PERCENTAGE_AMD 0x8BC3 155#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 156#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 157#define GL_PERFMON_RESULT_AMD 0x8BC6 158#endif 159 160/*------------------------------------------------------------------------* 161 * EXT extension tokens 162 *------------------------------------------------------------------------*/ 163 164/* GL_EXT_texture_filter_anisotropic */ 165#ifndef GL_EXT_texture_filter_anisotropic 166#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 167#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 168#endif 169 170/* GL_EXT_texture_type_2_10_10_10_REV */ 171#ifndef GL_EXT_texture_type_2_10_10_10_REV 172#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 173#endif 174 175/* GL_EXT_texture_format_BGRA8888 */ 176#ifndef GL_EXT_texture_format_BGRA8888 177#define GL_BGRA 0x80E1 178#endif 179 180/*------------------------------------------------------------------------* 181 * IMG extension tokens 182 *------------------------------------------------------------------------*/ 183 184/* GL_IMG_read_format */ 185#ifndef GL_IMG_read_format 186#define GL_BGRA 0x80E1 187#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 188#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 189#endif 190 191/* GL_IMG_texture_compression_pvrtc */ 192#ifndef GL_IMG_texture_compression_pvrtc 193#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 194#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 195#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 196#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 197#endif 198 199/*------------------------------------------------------------------------* 200 * NV extension tokens 201 *------------------------------------------------------------------------*/ 202 203/* GL_NV_fence */ 204#ifndef GL_NV_fence 205#define GL_ALL_COMPLETED_NV 0x84F2 206#define GL_FENCE_STATUS_NV 0x84F3 207#define GL_FENCE_CONDITION_NV 0x84F4 208#endif 209 210/*------------------------------------------------------------------------* 211 * QCOM extension tokens 212 *------------------------------------------------------------------------*/ 213 214/* GL_QCOM_driver_control */ 215/* No new tokens introduced by this extension. */ 216 217/* GL_QCOM_perfmon_global_mode */ 218#ifndef GL_QCOM_perfmon_global_mode 219#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 220#endif 221 222/*------------------------------------------------------------------------* 223 * End of extension tokens, start of corresponding extension functions 224 *------------------------------------------------------------------------*/ 225 226/*------------------------------------------------------------------------* 227 * OES extension functions 228 *------------------------------------------------------------------------*/ 229 230/* GL_OES_compressed_ETC1_RGB8_texture */ 231#ifndef GL_OES_compressed_ETC1_RGB8_texture 232#define GL_OES_compressed_ETC1_RGB8_texture 1 233#endif 234 235/* GL_OES_compressed_paletted_texture */ 236#ifndef GL_OES_compressed_paletted_texture 237#define GL_OES_compressed_paletted_texture 1 238#endif 239 240/* GL_OES_EGL_image */ 241#ifndef GL_OES_EGL_image 242#define GL_OES_EGL_image 1 243#ifdef GL_GLEXT_PROTOTYPES 244GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 245GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 246#endif 247typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 248typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 249#endif 250 251/* GL_OES_depth24 */ 252#ifndef GL_OES_depth24 253#define GL_OES_depth24 1 254#endif 255 256/* GL_OES_depth32 */ 257#ifndef GL_OES_depth32 258#define GL_OES_depth32 1 259#endif 260 261/* GL_OES_depth_texture */ 262#ifndef GL_OES_depth_texture 263#define GL_OES_depth_texture 1 264#endif 265 266/* GL_OES_element_index_uint */ 267#ifndef GL_OES_element_index_uint 268#define GL_OES_element_index_uint 1 269#endif 270 271/* GL_OES_fbo_render_mipmap */ 272#ifndef GL_OES_fbo_render_mipmap 273#define GL_OES_fbo_render_mipmap 1 274#endif 275 276/* GL_OES_fragment_precision_high */ 277#ifndef GL_OES_fragment_precision_high 278#define GL_OES_fragment_precision_high 1 279#endif 280 281/* GL_OES_get_program_binary */ 282#ifndef GL_OES_get_program_binary 283#define GL_OES_get_program_binary 1 284#ifdef GL_GLEXT_PROTOTYPES 285GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); 286GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length); 287#endif 288typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); 289typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length); 290#endif 291 292/* GL_OES_mapbuffer */ 293#ifndef GL_OES_mapbuffer 294#define GL_OES_mapbuffer 1 295#ifdef GL_GLEXT_PROTOTYPES 296GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 297GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 298GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params); 299#endif 300typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 301typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 302typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params); 303#endif 304 305/* GL_OES_packed_depth_stencil */ 306#ifndef GL_OES_packed_depth_stencil 307#define GL_OES_packed_depth_stencil 1 308#endif 309 310/* GL_OES_rgb8_rgba8 */ 311#ifndef GL_OES_rgb8_rgba8 312#define GL_OES_rgb8_rgba8 1 313#endif 314 315/* GL_OES_standard_derivatives */ 316#ifndef GL_OES_standard_derivatives 317#define GL_OES_standard_derivatives 1 318#endif 319 320/* GL_OES_stencil1 */ 321#ifndef GL_OES_stencil1 322#define GL_OES_stencil1 1 323#endif 324 325/* GL_OES_stencil4 */ 326#ifndef GL_OES_stencil4 327#define GL_OES_stencil4 1 328#endif 329 330/* GL_OES_texture_3D */ 331#ifndef GL_OES_texture_3D 332#define GL_OES_texture_3D 1 333#ifdef GL_GLEXT_PROTOTYPES 334GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels); 335GL_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 void* pixels); 336GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 337GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); 338GL_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 void* data); 339GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 340#endif 341typedef 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); 342typedef 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 void* pixels); 343typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 344typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); 345typedef 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 void* data); 346typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 347#endif 348 349/* GL_OES_texture_float_linear */ 350#ifndef GL_OES_texture_float_linear 351#define GL_OES_texture_float_linear 1 352#endif 353 354/* GL_OES_texture_half_float_linear */ 355#ifndef GL_OES_texture_half_float_linear 356#define GL_OES_texture_half_float_linear 1 357#endif 358 359/* GL_OES_texture_float */ 360#ifndef GL_OES_texture_float 361#define GL_OES_texture_float 1 362#endif 363 364/* GL_OES_texture_half_float */ 365#ifndef GL_OES_texture_half_float 366#define GL_OES_texture_half_float 1 367#endif 368 369/* GL_OES_texture_npot */ 370#ifndef GL_OES_texture_npot 371#define GL_OES_texture_npot 1 372#endif 373 374/* GL_OES_vertex_half_float */ 375#ifndef GL_OES_vertex_half_float 376#define GL_OES_vertex_half_float 1 377#endif 378 379/* GL_OES_vertex_type_10_10_10_2 */ 380#ifndef GL_OES_vertex_type_10_10_10_2 381#define GL_OES_vertex_type_10_10_10_2 1 382#endif 383 384/*------------------------------------------------------------------------* 385 * AMD extension functions 386 *------------------------------------------------------------------------*/ 387 388/* GL_AMD_compressed_3DC_texture */ 389#ifndef GL_AMD_compressed_3DC_texture 390#define GL_AMD_compressed_3DC_texture 1 391#endif 392 393/* GL_AMD_compressed_ATC_texture */ 394#ifndef GL_AMD_compressed_ATC_texture 395#define GL_AMD_compressed_ATC_texture 1 396#endif 397 398/* GL_AMD_program_binary_Z400 */ 399#ifndef GL_AMD_program_binary_Z400 400#define GL_AMD_program_binary_Z400 1 401#endif 402 403/* AMD_performance_monitor */ 404#ifndef GL_AMD_performance_monitor 405#define GL_AMD_performance_monitor 1 406#ifdef GL_GLEXT_PROTOTYPES 407GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 408GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 409GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString); 410GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString); 411GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data); 412GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 413GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 414GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 415GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 416GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 417GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 418#endif 419typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 420typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 421typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString); 422typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString); 423typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data); 424typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 425typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 426typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 427typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 428typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 429typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 430#endif 431 432/*------------------------------------------------------------------------* 433 * EXT extension functions 434 *------------------------------------------------------------------------*/ 435 436/* GL_EXT_texture_filter_anisotropic */ 437#ifndef GL_EXT_texture_filter_anisotropic 438#define GL_EXT_texture_filter_anisotropic 1 439#endif 440 441/* GL_EXT_texture_type_2_10_10_10_REV */ 442#ifndef GL_EXT_texture_type_2_10_10_10_REV 443#define GL_EXT_texture_type_2_10_10_10_REV 1 444#endif 445 446/* GL_EXT_texture_format_BGRA8888 */ 447#ifndef GL_EXT_texture_format_BGRA8888 448#define GL_EXT_texture_format_BGRA8888 1 449#endif 450 451/*------------------------------------------------------------------------* 452 * IMG extension functions 453 *------------------------------------------------------------------------*/ 454 455/* GL_IMG_read_format */ 456#ifndef GL_IMG_read_format 457#define GL_IMG_read_format 1 458#endif 459 460/* GL_IMG_texture_compression_pvrtc */ 461#ifndef GL_IMG_texture_compression_pvrtc 462#define GL_IMG_texture_compression_pvrtc 1 463#endif 464 465/*------------------------------------------------------------------------* 466 * NV extension functions 467 *------------------------------------------------------------------------*/ 468 469/* GL_NV_fence */ 470#ifndef GL_NV_fence 471#define GL_NV_fence 1 472#ifdef GL_GLEXT_PROTOTYPES 473GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences); 474GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences); 475GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence); 476GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence); 477GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params); 478GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence); 479GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition); 480#endif 481typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 482typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 483typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 484typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 485typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 486typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 487typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 488#endif 489 490/*------------------------------------------------------------------------* 491 * QCOM extension functions 492 *------------------------------------------------------------------------*/ 493 494/* GL_QCOM_driver_control */ 495#ifndef GL_QCOM_driver_control 496#define GL_QCOM_driver_control 1 497#ifdef GL_GLEXT_PROTOTYPES 498GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 499GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString); 500GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 501GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 502#endif 503typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 504typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString); 505typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 506typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 507#endif 508 509/* GL_QCOM_perfmon_global_mode */ 510#ifndef GL_QCOM_perfmon_global_mode 511#define GL_QCOM_perfmon_global_mode 1 512#endif 513 514#ifdef __cplusplus 515} 516#endif 517 518#endif /* __gl2ext_h_ */ 519