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 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_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 244 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 245 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 246 #endif 247 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 248 typedef 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 285 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); 286 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length); 287 #endif 288 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); 289 typedef 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 296 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 297 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 298 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params); 299 #endif 300 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 301 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 302 typedef 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 334 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 void* pixels); 335 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 void* pixels); 336 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 337 GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); 338 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 void* data); 339 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 340 #endif 341 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); 342 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 void* pixels); 343 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 344 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); 345 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 void* data); 346 typedef 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 407 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 408 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 409 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString); 410 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString); 411 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data); 412 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 413 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 414 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 415 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 416 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 417 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 418 #endif 419 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 420 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 421 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString); 422 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString); 423 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data); 424 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 425 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 426 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 427 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 428 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 429 typedef 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 473 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences); 474 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences); 475 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence); 476 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence); 477 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params); 478 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence); 479 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition); 480 #endif 481 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 482 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 483 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 484 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 485 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 486 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 487 typedef 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 498 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 499 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString); 500 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 501 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 502 #endif 503 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 504 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString); 505 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 506 typedef 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