1 #ifndef __gl2ext_h_ 2 #define __gl2ext_h_ 3 4 /* $Revision: 13239 $ on $Date:: 2010-12-17 15:13:56 -0800 #$ */ 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_rgb8_rgba8 */ 97 #ifndef GL_OES_rgb8_rgba8 98 #define GL_RGB8_OES 0x8051 99 #define GL_RGBA8_OES 0x8058 100 #endif 101 102 /* GL_OES_standard_derivatives */ 103 #ifndef GL_OES_standard_derivatives 104 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B 105 #endif 106 107 /* GL_OES_stencil1 */ 108 #ifndef GL_OES_stencil1 109 #define GL_STENCIL_INDEX1_OES 0x8D46 110 #endif 111 112 /* GL_OES_stencil4 */ 113 #ifndef GL_OES_stencil4 114 #define GL_STENCIL_INDEX4_OES 0x8D47 115 #endif 116 117 /* GL_OES_texture_3D */ 118 #ifndef GL_OES_texture_3D 119 #define GL_TEXTURE_WRAP_R_OES 0x8072 120 #define GL_TEXTURE_3D_OES 0x806F 121 #define GL_TEXTURE_BINDING_3D_OES 0x806A 122 #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 123 #define GL_SAMPLER_3D_OES 0x8B5F 124 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 125 #endif 126 127 /* GL_OES_texture_float */ 128 /* No new tokens introduced by this extension. */ 129 130 /* GL_OES_texture_float_linear */ 131 /* No new tokens introduced by this extension. */ 132 133 /* GL_OES_texture_half_float */ 134 #ifndef GL_OES_texture_half_float 135 #define GL_HALF_FLOAT_OES 0x8D61 136 #endif 137 138 /* GL_OES_texture_half_float_linear */ 139 /* No new tokens introduced by this extension. */ 140 141 /* GL_OES_texture_npot */ 142 /* No new tokens introduced by this extension. */ 143 144 /* GL_OES_vertex_array_object */ 145 #ifndef GL_OES_vertex_array_object 146 #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 147 #endif 148 149 /* GL_OES_vertex_half_float */ 150 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ 151 152 /* GL_OES_vertex_type_10_10_10_2 */ 153 #ifndef GL_OES_vertex_type_10_10_10_2 154 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 155 #define GL_INT_10_10_10_2_OES 0x8DF7 156 #endif 157 158 /*------------------------------------------------------------------------* 159 * AMD extension tokens 160 *------------------------------------------------------------------------*/ 161 162 /* GL_AMD_compressed_3DC_texture */ 163 #ifndef GL_AMD_compressed_3DC_texture 164 #define GL_3DC_X_AMD 0x87F9 165 #define GL_3DC_XY_AMD 0x87FA 166 #endif 167 168 /* GL_AMD_compressed_ATC_texture */ 169 #ifndef GL_AMD_compressed_ATC_texture 170 #define GL_ATC_RGB_AMD 0x8C92 171 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 172 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE 173 #endif 174 175 /* GL_AMD_performance_monitor */ 176 #ifndef GL_AMD_performance_monitor 177 #define GL_COUNTER_TYPE_AMD 0x8BC0 178 #define GL_COUNTER_RANGE_AMD 0x8BC1 179 #define GL_UNSIGNED_INT64_AMD 0x8BC2 180 #define GL_PERCENTAGE_AMD 0x8BC3 181 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 182 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 183 #define GL_PERFMON_RESULT_AMD 0x8BC6 184 #endif 185 186 /* GL_AMD_program_binary_Z400 */ 187 #ifndef GL_AMD_program_binary_Z400 188 #define GL_Z400_BINARY_AMD 0x8740 189 #endif 190 191 /*------------------------------------------------------------------------* 192 * ANGLE extension tokens 193 *------------------------------------------------------------------------*/ 194 195 /* GL_ANGLE_framebuffer_blit */ 196 #ifndef GL_ANGLE_framebuffer_blit 197 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 198 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 199 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 200 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA 201 #endif 202 203 /* GL_ANGLE_framebuffer_multisample */ 204 #ifndef GL_ANGLE_framebuffer_multisample 205 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB 206 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 207 #define GL_MAX_SAMPLES_ANGLE 0x8D57 208 #endif 209 210 /*------------------------------------------------------------------------* 211 * APPLE extension tokens 212 *------------------------------------------------------------------------*/ 213 214 /* GL_APPLE_rgb_422 */ 215 #ifndef GL_APPLE_rgb_422 216 #define GL_RGB_422_APPLE 0x8A1F 217 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 218 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 219 #endif 220 221 /* GL_APPLE_framebuffer_multisample */ 222 #ifndef GL_APPLE_framebuffer_multisample 223 #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB 224 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 225 #define GL_MAX_SAMPLES_APPLE 0x8D57 226 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 227 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 228 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 229 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA 230 #endif 231 232 /* GL_APPLE_texture_format_BGRA8888 */ 233 #ifndef GL_APPLE_texture_format_BGRA8888 234 #define GL_BGRA_EXT 0x80E1 235 #endif 236 237 /* GL_APPLE_texture_max_level */ 238 #ifndef GL_APPLE_texture_max_level 239 #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D 240 #endif 241 242 /*------------------------------------------------------------------------* 243 * ARM extension tokens 244 *------------------------------------------------------------------------*/ 245 246 /* GL_ARM_mali_shader_binary */ 247 #ifndef GL_ARM_mali_shader_binary 248 #define GL_MALI_SHADER_BINARY_ARM 0x8F60 249 #endif 250 251 /* GL_ARM_rgba8 */ 252 /* No new tokens introduced by this extension. */ 253 254 /*------------------------------------------------------------------------* 255 * EXT extension tokens 256 *------------------------------------------------------------------------*/ 257 258 /* GL_EXT_blend_minmax */ 259 #ifndef GL_EXT_blend_minmax 260 #define GL_MIN_EXT 0x8007 261 #define GL_MAX_EXT 0x8008 262 #endif 263 264 /* GL_EXT_discard_framebuffer */ 265 #ifndef GL_EXT_discard_framebuffer 266 #define GL_COLOR_EXT 0x1800 267 #define GL_DEPTH_EXT 0x1801 268 #define GL_STENCIL_EXT 0x1802 269 #endif 270 271 /* GL_EXT_multi_draw_arrays */ 272 /* No new tokens introduced by this extension. */ 273 274 /* GL_EXT_read_format_bgra */ 275 #ifndef GL_EXT_read_format_bgra 276 #define GL_BGRA_EXT 0x80E1 277 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 278 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 279 #endif 280 281 /* GL_EXT_texture_filter_anisotropic */ 282 #ifndef GL_EXT_texture_filter_anisotropic 283 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 284 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 285 #endif 286 287 /* GL_EXT_texture_format_BGRA8888 */ 288 #ifndef GL_EXT_texture_format_BGRA8888 289 #define GL_BGRA_EXT 0x80E1 290 #endif 291 292 /* GL_EXT_texture_type_2_10_10_10_REV */ 293 #ifndef GL_EXT_texture_type_2_10_10_10_REV 294 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 295 #endif 296 297 /* GL_EXT_texture_compression_dxt1 */ 298 #ifndef GL_EXT_texture_compression_dxt1 299 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 300 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 301 #endif 302 303 /* GL_EXT_shader_texture_lod */ 304 /* No new tokens introduced by this extension. */ 305 306 /*------------------------------------------------------------------------* 307 * IMG extension tokens 308 *------------------------------------------------------------------------*/ 309 310 /* GL_IMG_program_binary */ 311 #ifndef GL_IMG_program_binary 312 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130 313 #endif 314 315 /* GL_IMG_read_format */ 316 #ifndef GL_IMG_read_format 317 #define GL_BGRA_IMG 0x80E1 318 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 319 #endif 320 321 /* GL_IMG_shader_binary */ 322 #ifndef GL_IMG_shader_binary 323 #define GL_SGX_BINARY_IMG 0x8C0A 324 #endif 325 326 /* GL_IMG_texture_compression_pvrtc */ 327 #ifndef GL_IMG_texture_compression_pvrtc 328 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 329 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 330 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 331 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 332 #endif 333 334 /* GL_IMG_multisampled_render_to_texture */ 335 #ifndef GL_IMG_multisampled_render_to_texture 336 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 337 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 338 #define GL_MAX_SAMPLES_IMG 0x9135 339 #define GL_TEXTURE_SAMPLES_IMG 0x9136 340 #endif 341 342 /*------------------------------------------------------------------------* 343 * NV extension tokens 344 *------------------------------------------------------------------------*/ 345 346 /* GL_NV_fence */ 347 #ifndef GL_NV_fence 348 #define GL_ALL_COMPLETED_NV 0x84F2 349 #define GL_FENCE_STATUS_NV 0x84F3 350 #define GL_FENCE_CONDITION_NV 0x84F4 351 #endif 352 353 /* GL_NV_coverage_sample */ 354 #ifndef GL_NV_coverage_sample 355 #define GL_COVERAGE_COMPONENT_NV 0x8ED0 356 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1 357 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 358 #define GL_COVERAGE_BUFFERS_NV 0x8ED3 359 #define GL_COVERAGE_SAMPLES_NV 0x8ED4 360 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 361 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 362 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 363 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000 364 #endif 365 366 /* GL_NV_depth_nonlinear */ 367 #ifndef GL_NV_depth_nonlinear 368 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C 369 #endif 370 371 /*------------------------------------------------------------------------* 372 * QCOM extension tokens 373 *------------------------------------------------------------------------*/ 374 375 /* GL_QCOM_driver_control */ 376 /* No new tokens introduced by this extension. */ 377 378 /* GL_QCOM_extended_get */ 379 #ifndef GL_QCOM_extended_get 380 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2 381 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 382 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4 383 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 384 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6 385 #define GL_TEXTURE_TYPE_QCOM 0x8BD7 386 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 387 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 388 #define GL_TEXTURE_TARGET_QCOM 0x8BDA 389 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB 390 #define GL_STATE_RESTORE 0x8BDC 391 #endif 392 393 /* GL_QCOM_extended_get2 */ 394 /* No new tokens introduced by this extension. */ 395 396 /* GL_QCOM_perfmon_global_mode */ 397 #ifndef GL_QCOM_perfmon_global_mode 398 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 399 #endif 400 401 /* GL_QCOM_writeonly_rendering */ 402 #ifndef GL_QCOM_writeonly_rendering 403 #define GL_WRITEONLY_RENDERING_QCOM 0x8823 404 #endif 405 406 /* GL_QCOM_tiled_rendering */ 407 #ifndef GL_QCOM_tiled_rendering 408 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 409 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 410 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 411 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 412 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 413 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 414 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 415 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 416 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 417 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 418 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 419 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 420 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 421 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 422 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 423 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 424 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 425 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 426 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 427 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 428 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 429 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 430 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 431 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 432 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 433 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 434 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 435 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 436 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 437 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 438 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 439 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 440 #endif 441 442 /*------------------------------------------------------------------------* 443 * VIV extension tokens 444 *------------------------------------------------------------------------*/ 445 446 /* GL_VIV_shader_binary */ 447 #ifndef GL_VIV_shader_binary 448 #define GL_SHADER_BINARY_VIV 0x8FC4 449 #endif 450 451 /*------------------------------------------------------------------------* 452 * End of extension tokens, start of corresponding extension functions 453 *------------------------------------------------------------------------*/ 454 455 /*------------------------------------------------------------------------* 456 * OES extension functions 457 *------------------------------------------------------------------------*/ 458 459 /* GL_OES_compressed_ETC1_RGB8_texture */ 460 #ifndef GL_OES_compressed_ETC1_RGB8_texture 461 #define GL_OES_compressed_ETC1_RGB8_texture 1 462 #endif 463 464 /* GL_OES_compressed_paletted_texture */ 465 #ifndef GL_OES_compressed_paletted_texture 466 #define GL_OES_compressed_paletted_texture 1 467 #endif 468 469 /* GL_OES_depth24 */ 470 #ifndef GL_OES_depth24 471 #define GL_OES_depth24 1 472 #endif 473 474 /* GL_OES_depth32 */ 475 #ifndef GL_OES_depth32 476 #define GL_OES_depth32 1 477 #endif 478 479 /* GL_OES_depth_texture */ 480 #ifndef GL_OES_depth_texture 481 #define GL_OES_depth_texture 1 482 #endif 483 484 /* GL_OES_EGL_image */ 485 #ifndef GL_OES_EGL_image 486 #define GL_OES_EGL_image 1 487 #ifdef GL_GLEXT_PROTOTYPES 488 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 489 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 490 #endif 491 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 492 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 493 #endif 494 495 /* GL_OES_EGL_image_external */ 496 #ifndef GL_OES_EGL_image_external 497 #define GL_OES_EGL_image_external 1 498 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ 499 #endif 500 501 /* GL_OES_element_index_uint */ 502 #ifndef GL_OES_element_index_uint 503 #define GL_OES_element_index_uint 1 504 #endif 505 506 /* GL_OES_fbo_render_mipmap */ 507 #ifndef GL_OES_fbo_render_mipmap 508 #define GL_OES_fbo_render_mipmap 1 509 #endif 510 511 /* GL_OES_fragment_precision_high */ 512 #ifndef GL_OES_fragment_precision_high 513 #define GL_OES_fragment_precision_high 1 514 #endif 515 516 /* GL_OES_get_program_binary */ 517 #ifndef GL_OES_get_program_binary 518 #define GL_OES_get_program_binary 1 519 #ifdef GL_GLEXT_PROTOTYPES 520 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 521 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 522 #endif 523 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 524 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 525 #endif 526 527 /* GL_OES_mapbuffer */ 528 #ifndef GL_OES_mapbuffer 529 #define GL_OES_mapbuffer 1 530 #ifdef GL_GLEXT_PROTOTYPES 531 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 532 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 533 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 534 #endif 535 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 536 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 537 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); 538 #endif 539 540 /* GL_OES_packed_depth_stencil */ 541 #ifndef GL_OES_packed_depth_stencil 542 #define GL_OES_packed_depth_stencil 1 543 #endif 544 545 /* GL_OES_rgb8_rgba8 */ 546 #ifndef GL_OES_rgb8_rgba8 547 #define GL_OES_rgb8_rgba8 1 548 #endif 549 550 /* GL_OES_standard_derivatives */ 551 #ifndef GL_OES_standard_derivatives 552 #define GL_OES_standard_derivatives 1 553 #endif 554 555 /* GL_OES_stencil1 */ 556 #ifndef GL_OES_stencil1 557 #define GL_OES_stencil1 1 558 #endif 559 560 /* GL_OES_stencil4 */ 561 #ifndef GL_OES_stencil4 562 #define GL_OES_stencil4 1 563 #endif 564 565 /* GL_OES_texture_3D */ 566 #ifndef GL_OES_texture_3D 567 #define GL_OES_texture_3D 1 568 #ifdef GL_GLEXT_PROTOTYPES 569 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); 570 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); 571 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 572 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); 573 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); 574 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 575 #endif 576 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); 577 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); 578 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 579 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 580 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); 581 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 582 #endif 583 584 /* GL_OES_texture_float */ 585 #ifndef GL_OES_texture_float 586 #define GL_OES_texture_float 1 587 #endif 588 589 /* GL_OES_texture_float_linear */ 590 #ifndef GL_OES_texture_float_linear 591 #define GL_OES_texture_float_linear 1 592 #endif 593 594 /* GL_OES_texture_half_float */ 595 #ifndef GL_OES_texture_half_float 596 #define GL_OES_texture_half_float 1 597 #endif 598 599 /* GL_OES_texture_half_float_linear */ 600 #ifndef GL_OES_texture_half_float_linear 601 #define GL_OES_texture_half_float_linear 1 602 #endif 603 604 /* GL_OES_texture_npot */ 605 #ifndef GL_OES_texture_npot 606 #define GL_OES_texture_npot 1 607 #endif 608 609 /* GL_OES_vertex_array_object */ 610 #ifndef GL_OES_vertex_array_object 611 #define GL_OES_vertex_array_object 1 612 #ifdef GL_GLEXT_PROTOTYPES 613 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 614 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 615 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 616 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 617 #endif 618 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 619 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 620 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 621 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); 622 #endif 623 624 /* GL_OES_vertex_half_float */ 625 #ifndef GL_OES_vertex_half_float 626 #define GL_OES_vertex_half_float 1 627 #endif 628 629 /* GL_OES_vertex_type_10_10_10_2 */ 630 #ifndef GL_OES_vertex_type_10_10_10_2 631 #define GL_OES_vertex_type_10_10_10_2 1 632 #endif 633 634 /*------------------------------------------------------------------------* 635 * AMD extension functions 636 *------------------------------------------------------------------------*/ 637 638 /* GL_AMD_compressed_3DC_texture */ 639 #ifndef GL_AMD_compressed_3DC_texture 640 #define GL_AMD_compressed_3DC_texture 1 641 #endif 642 643 /* GL_AMD_compressed_ATC_texture */ 644 #ifndef GL_AMD_compressed_ATC_texture 645 #define GL_AMD_compressed_ATC_texture 1 646 #endif 647 648 /* AMD_performance_monitor */ 649 #ifndef GL_AMD_performance_monitor 650 #define GL_AMD_performance_monitor 1 651 #ifdef GL_GLEXT_PROTOTYPES 652 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 653 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 654 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 655 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 656 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 657 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 658 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 659 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 660 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 661 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 662 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 663 #endif 664 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 665 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 666 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 667 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 668 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 669 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 670 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 671 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 672 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 673 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 674 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 675 #endif 676 677 /* GL_AMD_program_binary_Z400 */ 678 #ifndef GL_AMD_program_binary_Z400 679 #define GL_AMD_program_binary_Z400 1 680 #endif 681 682 /*------------------------------------------------------------------------* 683 * ANGLE extension functions 684 *------------------------------------------------------------------------*/ 685 686 /* GL_ANGLE_framebuffer_blit */ 687 #ifndef GL_ANGLE_framebuffer_blit 688 #define GL_ANGLE_framebuffer_blit 1 689 #ifdef GL_GLEXT_PROTOTYPES 690 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); 691 #endif 692 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); 693 #endif 694 695 /* GL_ANGLE_framebuffer_multisample */ 696 #ifndef GL_ANGLE_framebuffer_multisample 697 #define GL_ANGLE_framebuffer_multisample 1 698 #ifdef GL_GLEXT_PROTOTYPES 699 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 700 #endif 701 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 702 #endif 703 704 /*------------------------------------------------------------------------* 705 * APPLE extension functions 706 *------------------------------------------------------------------------*/ 707 708 /* GL_APPLE_rgb_422 */ 709 #ifndef GL_APPLE_rgb_422 710 #define GL_APPLE_rgb_422 1 711 #endif 712 713 /* GL_APPLE_framebuffer_multisample */ 714 #ifndef GL_APPLE_framebuffer_multisample 715 #define GL_APPLE_framebuffer_multisample 1 716 #ifdef GL_GLEXT_PROTOTYPES 717 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 718 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 719 #endif /* GL_GLEXT_PROTOTYPES */ 720 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 721 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); 722 #endif 723 724 /* GL_APPLE_texture_format_BGRA8888 */ 725 #ifndef GL_APPLE_texture_format_BGRA8888 726 #define GL_APPLE_texture_format_BGRA8888 1 727 #endif 728 729 /* GL_APPLE_texture_max_level */ 730 #ifndef GL_APPLE_texture_max_level 731 #define GL_APPLE_texture_max_level 1 732 #endif 733 734 /*------------------------------------------------------------------------* 735 * ARM extension functions 736 *------------------------------------------------------------------------*/ 737 738 /* GL_ARM_mali_shader_binary */ 739 #ifndef GL_ARM_mali_shader_binary 740 #define GL_ARM_mali_shader_binary 1 741 #endif 742 743 /* GL_ARM_rgba8 */ 744 #ifndef GL_ARM_rgba8 745 #define GL_ARM_rgba8 1 746 #endif 747 748 /*------------------------------------------------------------------------* 749 * EXT extension functions 750 *------------------------------------------------------------------------*/ 751 752 /* GL_EXT_blend_minmax */ 753 #ifndef GL_EXT_blend_minmax 754 #define GL_EXT_blend_minmax 1 755 #endif 756 757 /* GL_EXT_discard_framebuffer */ 758 #ifndef GL_EXT_discard_framebuffer 759 #define GL_EXT_discard_framebuffer 1 760 #ifdef GL_GLEXT_PROTOTYPES 761 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 762 #endif 763 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); 764 #endif 765 766 #ifndef GL_EXT_multi_draw_arrays 767 #define GL_EXT_multi_draw_arrays 1 768 #ifdef GL_GLEXT_PROTOTYPES 769 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); 770 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 771 #endif /* GL_GLEXT_PROTOTYPES */ 772 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 773 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 774 #endif 775 776 /* GL_EXT_read_format_bgra */ 777 #ifndef GL_EXT_read_format_bgra 778 #define GL_EXT_read_format_bgra 1 779 #endif 780 781 /* GL_EXT_texture_filter_anisotropic */ 782 #ifndef GL_EXT_texture_filter_anisotropic 783 #define GL_EXT_texture_filter_anisotropic 1 784 #endif 785 786 /* GL_EXT_texture_format_BGRA8888 */ 787 #ifndef GL_EXT_texture_format_BGRA8888 788 #define GL_EXT_texture_format_BGRA8888 1 789 #endif 790 791 /* GL_EXT_texture_type_2_10_10_10_REV */ 792 #ifndef GL_EXT_texture_type_2_10_10_10_REV 793 #define GL_EXT_texture_type_2_10_10_10_REV 1 794 #endif 795 796 /* GL_EXT_texture_compression_dxt1 */ 797 #ifndef GL_EXT_texture_compression_dxt1 798 #define GL_EXT_texture_compression_dxt1 1 799 #endif 800 801 /* GL_EXT_shader_texture_lod */ 802 #ifndef GL_EXT_shader_texture_lod 803 #define GL_EXT_shader_texture_lod 1 804 #endif 805 806 /*------------------------------------------------------------------------* 807 * IMG extension functions 808 *------------------------------------------------------------------------*/ 809 810 /* GL_IMG_program_binary */ 811 #ifndef GL_IMG_program_binary 812 #define GL_IMG_program_binary 1 813 #endif 814 815 /* GL_IMG_read_format */ 816 #ifndef GL_IMG_read_format 817 #define GL_IMG_read_format 1 818 #endif 819 820 /* GL_IMG_shader_binary */ 821 #ifndef GL_IMG_shader_binary 822 #define GL_IMG_shader_binary 1 823 #endif 824 825 /* GL_IMG_texture_compression_pvrtc */ 826 #ifndef GL_IMG_texture_compression_pvrtc 827 #define GL_IMG_texture_compression_pvrtc 1 828 #endif 829 830 /* GL_IMG_multisampled_render_to_texture */ 831 #ifndef GL_IMG_multisampled_render_to_texture 832 #define GL_IMG_multisampled_render_to_texture 1 833 #ifdef GL_GLEXT_PROTOTYPES 834 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 835 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 836 #endif 837 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 838 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 839 #endif 840 841 /*------------------------------------------------------------------------* 842 * NV extension functions 843 *------------------------------------------------------------------------*/ 844 845 /* GL_NV_fence */ 846 #ifndef GL_NV_fence 847 #define GL_NV_fence 1 848 #ifdef GL_GLEXT_PROTOTYPES 849 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 850 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 851 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 852 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 853 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 854 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 855 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 856 #endif 857 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 858 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 859 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 860 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 861 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 862 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 863 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 864 #endif 865 866 /* GL_NV_coverage_sample */ 867 #ifndef GL_NV_coverage_sample 868 #define GL_NV_coverage_sample 1 869 #ifdef GL_GLEXT_PROTOTYPES 870 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 871 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 872 #endif 873 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 874 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); 875 #endif 876 877 /* GL_NV_depth_nonlinear */ 878 #ifndef GL_NV_depth_nonlinear 879 #define GL_NV_depth_nonlinear 1 880 #endif 881 882 /*------------------------------------------------------------------------* 883 * QCOM extension functions 884 *------------------------------------------------------------------------*/ 885 886 /* GL_QCOM_driver_control */ 887 #ifndef GL_QCOM_driver_control 888 #define GL_QCOM_driver_control 1 889 #ifdef GL_GLEXT_PROTOTYPES 890 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 891 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 892 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 893 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 894 #endif 895 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 896 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 897 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 898 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 899 #endif 900 901 /* GL_QCOM_extended_get */ 902 #ifndef GL_QCOM_extended_get 903 #define GL_QCOM_extended_get 1 904 #ifdef GL_GLEXT_PROTOTYPES 905 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 906 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 907 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 908 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 909 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 910 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 911 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); 912 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 913 #endif 914 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 915 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 916 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 917 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 918 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 919 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 920 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); 921 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); 922 #endif 923 924 /* GL_QCOM_extended_get2 */ 925 #ifndef GL_QCOM_extended_get2 926 #define GL_QCOM_extended_get2 1 927 #ifdef GL_GLEXT_PROTOTYPES 928 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 929 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 930 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 931 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 932 #endif 933 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 934 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 935 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 936 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 937 #endif 938 939 /* GL_QCOM_perfmon_global_mode */ 940 #ifndef GL_QCOM_perfmon_global_mode 941 #define GL_QCOM_perfmon_global_mode 1 942 #endif 943 944 /* GL_QCOM_writeonly_rendering */ 945 #ifndef GL_QCOM_writeonly_rendering 946 #define GL_QCOM_writeonly_rendering 1 947 #endif 948 949 /* GL_QCOM_tiled_rendering */ 950 #ifndef GL_QCOM_tiled_rendering 951 #define GL_QCOM_tiled_rendering 1 952 #ifdef GL_GLEXT_PROTOTYPES 953 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 954 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 955 #endif 956 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 957 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); 958 #endif 959 960 /*------------------------------------------------------------------------* 961 * VIV extension tokens 962 *------------------------------------------------------------------------*/ 963 964 /* GL_VIV_shader_binary */ 965 #ifndef GL_VIV_shader_binary 966 #define GL_VIV_shader_binary 1 967 #endif 968 969 #ifdef __cplusplus 970 } 971 #endif 972 973 #endif /* __gl2ext_h_ */ 974