1 #ifndef __gl2ext_h_ 2 #define __gl2ext_h_ 3 4 /* $Revision: 20795 $ on $Date:: 2013-03-07 01:01:58 -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_required_internalformat */ 97 #ifndef GL_OES_required_internalformat 98 #define GL_ALPHA8_OES 0x803C 99 #define GL_DEPTH_COMPONENT16_OES 0x81A5 100 /* reuse GL_DEPTH_COMPONENT24_OES */ 101 /* reuse GL_DEPTH24_STENCIL8_OES */ 102 /* reuse GL_DEPTH_COMPONENT32_OES */ 103 #define GL_LUMINANCE4_ALPHA4_OES 0x8043 104 #define GL_LUMINANCE8_ALPHA8_OES 0x8045 105 #define GL_LUMINANCE8_OES 0x8040 106 #define GL_RGBA4_OES 0x8056 107 #define GL_RGB5_A1_OES 0x8057 108 #define GL_RGB565_OES 0x8D62 109 /* reuse GL_RGB8_OES */ 110 /* reuse GL_RGBA8_OES */ 111 /* reuse GL_RGB10_EXT */ 112 /* reuse GL_RGB10_A2_EXT */ 113 #endif 114 115 /* GL_OES_rgb8_rgba8 */ 116 #ifndef GL_OES_rgb8_rgba8 117 #define GL_RGB8_OES 0x8051 118 #define GL_RGBA8_OES 0x8058 119 #endif 120 121 /* GL_OES_standard_derivatives */ 122 #ifndef GL_OES_standard_derivatives 123 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B 124 #endif 125 126 /* GL_OES_stencil1 */ 127 #ifndef GL_OES_stencil1 128 #define GL_STENCIL_INDEX1_OES 0x8D46 129 #endif 130 131 /* GL_OES_stencil4 */ 132 #ifndef GL_OES_stencil4 133 #define GL_STENCIL_INDEX4_OES 0x8D47 134 #endif 135 136 #ifndef GL_OES_surfaceless_context 137 #define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219 138 #endif 139 140 /* GL_OES_texture_3D */ 141 #ifndef GL_OES_texture_3D 142 #define GL_TEXTURE_WRAP_R_OES 0x8072 143 #define GL_TEXTURE_3D_OES 0x806F 144 #define GL_TEXTURE_BINDING_3D_OES 0x806A 145 #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 146 #define GL_SAMPLER_3D_OES 0x8B5F 147 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 148 #endif 149 150 /* GL_OES_texture_float */ 151 /* No new tokens introduced by this extension. */ 152 153 /* GL_OES_texture_float_linear */ 154 /* No new tokens introduced by this extension. */ 155 156 /* GL_OES_texture_half_float */ 157 #ifndef GL_OES_texture_half_float 158 #define GL_HALF_FLOAT_OES 0x8D61 159 #endif 160 161 /* GL_OES_texture_half_float_linear */ 162 /* No new tokens introduced by this extension. */ 163 164 /* GL_OES_texture_npot */ 165 /* No new tokens introduced by this extension. */ 166 167 /* GL_OES_vertex_array_object */ 168 #ifndef GL_OES_vertex_array_object 169 #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 170 #endif 171 172 /* GL_OES_vertex_half_float */ 173 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ 174 175 /* GL_OES_vertex_type_10_10_10_2 */ 176 #ifndef GL_OES_vertex_type_10_10_10_2 177 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 178 #define GL_INT_10_10_10_2_OES 0x8DF7 179 #endif 180 181 /*------------------------------------------------------------------------* 182 * KHR extension tokens 183 *------------------------------------------------------------------------*/ 184 185 #ifndef GL_KHR_debug 186 typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam); 187 #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 188 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 189 #define GL_DEBUG_CALLBACK_FUNCTION 0x8244 190 #define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 191 #define GL_DEBUG_SOURCE_API 0x8246 192 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 193 #define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 194 #define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 195 #define GL_DEBUG_SOURCE_APPLICATION 0x824A 196 #define GL_DEBUG_SOURCE_OTHER 0x824B 197 #define GL_DEBUG_TYPE_ERROR 0x824C 198 #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D 199 #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E 200 #define GL_DEBUG_TYPE_PORTABILITY 0x824F 201 #define GL_DEBUG_TYPE_PERFORMANCE 0x8250 202 #define GL_DEBUG_TYPE_OTHER 0x8251 203 #define GL_DEBUG_TYPE_MARKER 0x8268 204 #define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 205 #define GL_DEBUG_TYPE_POP_GROUP 0x826A 206 #define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B 207 #define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C 208 #define GL_DEBUG_GROUP_STACK_DEPTH 0x826D 209 #define GL_BUFFER 0x82E0 210 #define GL_SHADER 0x82E1 211 #define GL_PROGRAM 0x82E2 212 #define GL_QUERY 0x82E3 213 /* PROGRAM_PIPELINE only in GL */ 214 #define GL_SAMPLER 0x82E6 215 /* DISPLAY_LIST only in GL */ 216 #define GL_MAX_LABEL_LENGTH 0x82E8 217 #define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 218 #define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 219 #define GL_DEBUG_LOGGED_MESSAGES 0x9145 220 #define GL_DEBUG_SEVERITY_HIGH 0x9146 221 #define GL_DEBUG_SEVERITY_MEDIUM 0x9147 222 #define GL_DEBUG_SEVERITY_LOW 0x9148 223 #define GL_DEBUG_OUTPUT 0x92E0 224 #define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 225 #define GL_STACK_OVERFLOW 0x0503 226 #define GL_STACK_UNDERFLOW 0x0504 227 #endif 228 229 #ifndef GL_KHR_texture_compression_astc_ldr 230 #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 231 #define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 232 #define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 233 #define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 234 #define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 235 #define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 236 #define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 237 #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 238 #define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 239 #define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 240 #define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA 241 #define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB 242 #define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC 243 #define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD 244 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 245 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 246 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 247 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 248 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 249 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 250 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 251 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 252 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 253 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 254 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA 255 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB 256 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC 257 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD 258 #endif 259 260 /*------------------------------------------------------------------------* 261 * AMD extension tokens 262 *------------------------------------------------------------------------*/ 263 264 /* GL_AMD_compressed_3DC_texture */ 265 #ifndef GL_AMD_compressed_3DC_texture 266 #define GL_3DC_X_AMD 0x87F9 267 #define GL_3DC_XY_AMD 0x87FA 268 #endif 269 270 /* GL_AMD_compressed_ATC_texture */ 271 #ifndef GL_AMD_compressed_ATC_texture 272 #define GL_ATC_RGB_AMD 0x8C92 273 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 274 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE 275 #endif 276 277 /* GL_AMD_performance_monitor */ 278 #ifndef GL_AMD_performance_monitor 279 #define GL_COUNTER_TYPE_AMD 0x8BC0 280 #define GL_COUNTER_RANGE_AMD 0x8BC1 281 #define GL_UNSIGNED_INT64_AMD 0x8BC2 282 #define GL_PERCENTAGE_AMD 0x8BC3 283 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 284 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 285 #define GL_PERFMON_RESULT_AMD 0x8BC6 286 #endif 287 288 /* GL_AMD_program_binary_Z400 */ 289 #ifndef GL_AMD_program_binary_Z400 290 #define GL_Z400_BINARY_AMD 0x8740 291 #endif 292 293 /*------------------------------------------------------------------------* 294 * ANGLE extension tokens 295 *------------------------------------------------------------------------*/ 296 297 /* GL_ANGLE_depth_texture */ 298 #ifndef GL_ANGLE_depth_texture 299 #define GL_DEPTH_COMPONENT 0x1902 300 #define GL_DEPTH_STENCIL_OES 0x84F9 301 #define GL_UNSIGNED_SHORT 0x1403 302 #define GL_UNSIGNED_INT 0x1405 303 #define GL_UNSIGNED_INT_24_8_OES 0x84FA 304 #define GL_DEPTH_COMPONENT16 0x81A5 305 #define GL_DEPTH_COMPONENT32_OES 0x81A7 306 #define GL_DEPTH24_STENCIL8_OES 0x88F0 307 #endif 308 309 /* GL_ANGLE_framebuffer_blit */ 310 #ifndef GL_ANGLE_framebuffer_blit 311 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 312 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 313 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 314 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA 315 #endif 316 317 /* GL_ANGLE_framebuffer_multisample */ 318 #ifndef GL_ANGLE_framebuffer_multisample 319 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB 320 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 321 #define GL_MAX_SAMPLES_ANGLE 0x8D57 322 #endif 323 324 /* GL_ANGLE_instanced_arrays */ 325 #ifndef GL_ANGLE_instanced_arrays 326 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE 327 #endif 328 329 /* GL_ANGLE_pack_reverse_row_order */ 330 #ifndef GL_ANGLE_pack_reverse_row_order 331 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 332 #endif 333 334 /* GL_ANGLE_program_binary */ 335 #ifndef GL_ANGLE_program_binary 336 #define GL_PROGRAM_BINARY_ANGLE 0x93A6 337 #endif 338 339 /* GL_ANGLE_texture_compression_dxt3 */ 340 #ifndef GL_ANGLE_texture_compression_dxt3 341 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 342 #endif 343 344 /* GL_ANGLE_texture_compression_dxt5 */ 345 #ifndef GL_ANGLE_texture_compression_dxt5 346 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 347 #endif 348 349 /* GL_ANGLE_texture_usage */ 350 #ifndef GL_ANGLE_texture_usage 351 #define GL_TEXTURE_USAGE_ANGLE 0x93A2 352 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 353 #endif 354 355 /* GL_ANGLE_translated_shader_source */ 356 #ifndef GL_ANGLE_translated_shader_source 357 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 358 #endif 359 360 /*------------------------------------------------------------------------* 361 * APPLE extension tokens 362 *------------------------------------------------------------------------*/ 363 364 /* GL_APPLE_copy_texture_levels */ 365 /* No new tokens introduced by this extension. */ 366 367 /* GL_APPLE_framebuffer_multisample */ 368 #ifndef GL_APPLE_framebuffer_multisample 369 #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB 370 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 371 #define GL_MAX_SAMPLES_APPLE 0x8D57 372 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 373 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 374 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 375 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA 376 #endif 377 378 /* GL_APPLE_rgb_422 */ 379 #ifndef GL_APPLE_rgb_422 380 #define GL_RGB_422_APPLE 0x8A1F 381 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 382 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 383 #endif 384 385 /* GL_APPLE_sync */ 386 #ifndef GL_APPLE_sync 387 388 #ifndef __gl3_h_ 389 /* These types are defined with reference to <inttypes.h> 390 * in the Apple extension spec, but here we use the Khronos 391 * portable types in khrplatform.h, and assume those types 392 * are always defined. 393 * If any other extensions using these types are defined, 394 * the typedefs must move out of this block and be shared. 395 */ 396 typedef khronos_int64_t GLint64; 397 typedef khronos_uint64_t GLuint64; 398 typedef struct __GLsync *GLsync; 399 #endif 400 401 #define GL_SYNC_OBJECT_APPLE 0x8A53 402 #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 403 #define GL_OBJECT_TYPE_APPLE 0x9112 404 #define GL_SYNC_CONDITION_APPLE 0x9113 405 #define GL_SYNC_STATUS_APPLE 0x9114 406 #define GL_SYNC_FLAGS_APPLE 0x9115 407 #define GL_SYNC_FENCE_APPLE 0x9116 408 #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 409 #define GL_UNSIGNALED_APPLE 0x9118 410 #define GL_SIGNALED_APPLE 0x9119 411 #define GL_ALREADY_SIGNALED_APPLE 0x911A 412 #define GL_TIMEOUT_EXPIRED_APPLE 0x911B 413 #define GL_CONDITION_SATISFIED_APPLE 0x911C 414 #define GL_WAIT_FAILED_APPLE 0x911D 415 #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 416 #define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull 417 #endif 418 419 /* GL_APPLE_texture_format_BGRA8888 */ 420 #ifndef GL_APPLE_texture_format_BGRA8888 421 #define GL_BGRA_EXT 0x80E1 422 #endif 423 424 /* GL_APPLE_texture_max_level */ 425 #ifndef GL_APPLE_texture_max_level 426 #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D 427 #endif 428 429 /*------------------------------------------------------------------------* 430 * ARM extension tokens 431 *------------------------------------------------------------------------*/ 432 433 /* GL_ARM_mali_program_binary */ 434 #ifndef GL_ARM_mali_program_binary 435 #define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 436 #endif 437 438 /* GL_ARM_mali_shader_binary */ 439 #ifndef GL_ARM_mali_shader_binary 440 #define GL_MALI_SHADER_BINARY_ARM 0x8F60 441 #endif 442 443 /* GL_ARM_rgba8 */ 444 /* No new tokens introduced by this extension. */ 445 446 /*------------------------------------------------------------------------* 447 * EXT extension tokens 448 *------------------------------------------------------------------------*/ 449 450 /* GL_EXT_blend_minmax */ 451 #ifndef GL_EXT_blend_minmax 452 #define GL_MIN_EXT 0x8007 453 #define GL_MAX_EXT 0x8008 454 #endif 455 456 /* GL_EXT_color_buffer_half_float */ 457 #ifndef GL_EXT_color_buffer_half_float 458 #define GL_RGBA16F_EXT 0x881A 459 #define GL_RGB16F_EXT 0x881B 460 #define GL_RG16F_EXT 0x822F 461 #define GL_R16F_EXT 0x822D 462 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 463 #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 464 #endif 465 466 /* GL_EXT_debug_label */ 467 #ifndef GL_EXT_debug_label 468 #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F 469 #define GL_PROGRAM_OBJECT_EXT 0x8B40 470 #define GL_SHADER_OBJECT_EXT 0x8B48 471 #define GL_BUFFER_OBJECT_EXT 0x9151 472 #define GL_QUERY_OBJECT_EXT 0x9153 473 #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 474 #endif 475 476 /* GL_EXT_debug_marker */ 477 /* No new tokens introduced by this extension. */ 478 479 /* GL_EXT_discard_framebuffer */ 480 #ifndef GL_EXT_discard_framebuffer 481 #define GL_COLOR_EXT 0x1800 482 #define GL_DEPTH_EXT 0x1801 483 #define GL_STENCIL_EXT 0x1802 484 #endif 485 486 /* GL_EXT_map_buffer_range */ 487 #ifndef GL_EXT_map_buffer_range 488 #define GL_MAP_READ_BIT_EXT 0x0001 489 #define GL_MAP_WRITE_BIT_EXT 0x0002 490 #define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 491 #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 492 #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 493 #define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 494 #endif 495 496 /* GL_EXT_multisampled_render_to_texture */ 497 #ifndef GL_EXT_multisampled_render_to_texture 498 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C 499 /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ 500 #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB 501 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 502 #define GL_MAX_SAMPLES_EXT 0x8D57 503 #endif 504 505 /* GL_EXT_multiview_draw_buffers */ 506 #ifndef GL_EXT_multiview_draw_buffers 507 #define GL_COLOR_ATTACHMENT_EXT 0x90F0 508 #define GL_MULTIVIEW_EXT 0x90F1 509 #define GL_DRAW_BUFFER_EXT 0x0C01 510 #define GL_READ_BUFFER_EXT 0x0C02 511 #define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 512 #endif 513 514 /* GL_EXT_multi_draw_arrays */ 515 /* No new tokens introduced by this extension. */ 516 517 /* GL_EXT_occlusion_query_boolean */ 518 #ifndef GL_EXT_occlusion_query_boolean 519 #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F 520 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A 521 #define GL_CURRENT_QUERY_EXT 0x8865 522 #define GL_QUERY_RESULT_EXT 0x8866 523 #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 524 #endif 525 526 /* GL_EXT_read_format_bgra */ 527 #ifndef GL_EXT_read_format_bgra 528 #define GL_BGRA_EXT 0x80E1 529 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 530 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 531 #endif 532 533 /* GL_EXT_robustness */ 534 #ifndef GL_EXT_robustness 535 /* reuse GL_NO_ERROR */ 536 #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 537 #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 538 #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 539 #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 540 #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 541 #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 542 #define GL_NO_RESET_NOTIFICATION_EXT 0x8261 543 #endif 544 545 /* GL_EXT_separate_shader_objects */ 546 #ifndef GL_EXT_separate_shader_objects 547 #define GL_VERTEX_SHADER_BIT_EXT 0x00000001 548 #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 549 #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF 550 #define GL_PROGRAM_SEPARABLE_EXT 0x8258 551 #define GL_ACTIVE_PROGRAM_EXT 0x8259 552 #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A 553 #endif 554 555 /* GL_EXT_shader_framebuffer_fetch */ 556 #ifndef GL_EXT_shader_framebuffer_fetch 557 #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 558 #endif 559 560 /* GL_EXT_shader_texture_lod */ 561 /* No new tokens introduced by this extension. */ 562 563 /* GL_EXT_shadow_samplers */ 564 #ifndef GL_EXT_shadow_samplers 565 #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C 566 #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D 567 #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E 568 #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 569 #endif 570 571 /* GL_EXT_sRGB */ 572 #ifndef GL_EXT_sRGB 573 #define GL_SRGB_EXT 0x8C40 574 #define GL_SRGB_ALPHA_EXT 0x8C42 575 #define GL_SRGB8_ALPHA8_EXT 0x8C43 576 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 577 #endif 578 579 /* GL_EXT_texture_compression_dxt1 */ 580 #ifndef GL_EXT_texture_compression_dxt1 581 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 582 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 583 #endif 584 585 /* GL_EXT_texture_filter_anisotropic */ 586 #ifndef GL_EXT_texture_filter_anisotropic 587 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 588 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 589 #endif 590 591 /* GL_EXT_texture_format_BGRA8888 */ 592 #ifndef GL_EXT_texture_format_BGRA8888 593 #define GL_BGRA_EXT 0x80E1 594 #endif 595 596 /* GL_EXT_texture_rg */ 597 #ifndef GL_EXT_texture_rg 598 #define GL_RED_EXT 0x1903 599 #define GL_RG_EXT 0x8227 600 #define GL_R8_EXT 0x8229 601 #define GL_RG8_EXT 0x822B 602 #endif 603 604 /* GL_EXT_texture_storage */ 605 #ifndef GL_EXT_texture_storage 606 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F 607 #define GL_ALPHA8_EXT 0x803C 608 #define GL_LUMINANCE8_EXT 0x8040 609 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045 610 #define GL_RGBA32F_EXT 0x8814 611 #define GL_RGB32F_EXT 0x8815 612 #define GL_ALPHA32F_EXT 0x8816 613 #define GL_LUMINANCE32F_EXT 0x8818 614 #define GL_LUMINANCE_ALPHA32F_EXT 0x8819 615 /* reuse GL_RGBA16F_EXT */ 616 /* reuse GL_RGB16F_EXT */ 617 #define GL_ALPHA16F_EXT 0x881C 618 #define GL_LUMINANCE16F_EXT 0x881E 619 #define GL_LUMINANCE_ALPHA16F_EXT 0x881F 620 #define GL_RGB10_A2_EXT 0x8059 621 #define GL_RGB10_EXT 0x8052 622 #define GL_BGRA8_EXT 0x93A1 623 #define GL_R8_EXT 0x8229 624 #define GL_RG8_EXT 0x822B 625 #define GL_R32F_EXT 0x822E 626 #define GL_RG32F_EXT 0x8230 627 #define GL_R16F_EXT 0x822D 628 #define GL_RG16F_EXT 0x822F 629 #endif 630 631 /* GL_EXT_texture_type_2_10_10_10_REV */ 632 #ifndef GL_EXT_texture_type_2_10_10_10_REV 633 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 634 #endif 635 636 /* GL_EXT_unpack_subimage */ 637 #ifndef GL_EXT_unpack_subimage 638 #define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2 639 #define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3 640 #define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4 641 #endif 642 643 /*------------------------------------------------------------------------* 644 * DMP extension tokens 645 *------------------------------------------------------------------------*/ 646 647 /* GL_DMP_shader_binary */ 648 #ifndef GL_DMP_shader_binary 649 #define GL_SHADER_BINARY_DMP 0x9250 650 #endif 651 652 /*------------------------------------------------------------------------* 653 * FJ extension tokens 654 *------------------------------------------------------------------------*/ 655 656 /* GL_FJ_shader_binary_GCCSO */ 657 #ifndef GL_FJ_shader_binary_GCCSO 658 #define GL_GCCSO_SHADER_BINARY_F 0x9260 659 #endif 660 661 /*------------------------------------------------------------------------* 662 * IMG extension tokens 663 *------------------------------------------------------------------------*/ 664 665 /* GL_IMG_program_binary */ 666 #ifndef GL_IMG_program_binary 667 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130 668 #endif 669 670 /* GL_IMG_read_format */ 671 #ifndef GL_IMG_read_format 672 #define GL_BGRA_IMG 0x80E1 673 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 674 #endif 675 676 /* GL_IMG_shader_binary */ 677 #ifndef GL_IMG_shader_binary 678 #define GL_SGX_BINARY_IMG 0x8C0A 679 #endif 680 681 /* GL_IMG_texture_compression_pvrtc */ 682 #ifndef GL_IMG_texture_compression_pvrtc 683 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 684 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 685 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 686 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 687 #endif 688 689 /* GL_IMG_texture_compression_pvrtc2 */ 690 #ifndef GL_IMG_texture_compression_pvrtc2 691 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137 692 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138 693 #endif 694 695 /* GL_IMG_multisampled_render_to_texture */ 696 #ifndef GL_IMG_multisampled_render_to_texture 697 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 698 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 699 #define GL_MAX_SAMPLES_IMG 0x9135 700 #define GL_TEXTURE_SAMPLES_IMG 0x9136 701 #endif 702 703 /*------------------------------------------------------------------------* 704 * NV extension tokens 705 *------------------------------------------------------------------------*/ 706 707 /* GL_NV_coverage_sample */ 708 #ifndef GL_NV_coverage_sample 709 #define GL_COVERAGE_COMPONENT_NV 0x8ED0 710 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1 711 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 712 #define GL_COVERAGE_BUFFERS_NV 0x8ED3 713 #define GL_COVERAGE_SAMPLES_NV 0x8ED4 714 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 715 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 716 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 717 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000 718 #endif 719 720 /* GL_NV_depth_nonlinear */ 721 #ifndef GL_NV_depth_nonlinear 722 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C 723 #endif 724 725 /* GL_NV_draw_buffers */ 726 #ifndef GL_NV_draw_buffers 727 #define GL_MAX_DRAW_BUFFERS_NV 0x8824 728 #define GL_DRAW_BUFFER0_NV 0x8825 729 #define GL_DRAW_BUFFER1_NV 0x8826 730 #define GL_DRAW_BUFFER2_NV 0x8827 731 #define GL_DRAW_BUFFER3_NV 0x8828 732 #define GL_DRAW_BUFFER4_NV 0x8829 733 #define GL_DRAW_BUFFER5_NV 0x882A 734 #define GL_DRAW_BUFFER6_NV 0x882B 735 #define GL_DRAW_BUFFER7_NV 0x882C 736 #define GL_DRAW_BUFFER8_NV 0x882D 737 #define GL_DRAW_BUFFER9_NV 0x882E 738 #define GL_DRAW_BUFFER10_NV 0x882F 739 #define GL_DRAW_BUFFER11_NV 0x8830 740 #define GL_DRAW_BUFFER12_NV 0x8831 741 #define GL_DRAW_BUFFER13_NV 0x8832 742 #define GL_DRAW_BUFFER14_NV 0x8833 743 #define GL_DRAW_BUFFER15_NV 0x8834 744 #define GL_COLOR_ATTACHMENT0_NV 0x8CE0 745 #define GL_COLOR_ATTACHMENT1_NV 0x8CE1 746 #define GL_COLOR_ATTACHMENT2_NV 0x8CE2 747 #define GL_COLOR_ATTACHMENT3_NV 0x8CE3 748 #define GL_COLOR_ATTACHMENT4_NV 0x8CE4 749 #define GL_COLOR_ATTACHMENT5_NV 0x8CE5 750 #define GL_COLOR_ATTACHMENT6_NV 0x8CE6 751 #define GL_COLOR_ATTACHMENT7_NV 0x8CE7 752 #define GL_COLOR_ATTACHMENT8_NV 0x8CE8 753 #define GL_COLOR_ATTACHMENT9_NV 0x8CE9 754 #define GL_COLOR_ATTACHMENT10_NV 0x8CEA 755 #define GL_COLOR_ATTACHMENT11_NV 0x8CEB 756 #define GL_COLOR_ATTACHMENT12_NV 0x8CEC 757 #define GL_COLOR_ATTACHMENT13_NV 0x8CED 758 #define GL_COLOR_ATTACHMENT14_NV 0x8CEE 759 #define GL_COLOR_ATTACHMENT15_NV 0x8CEF 760 #endif 761 762 /* GL_EXT_draw_buffers */ 763 #ifndef GL_EXT_draw_buffers 764 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824 765 #define GL_DRAW_BUFFER0_EXT 0x8825 766 #define GL_DRAW_BUFFER1_EXT 0x8826 767 #define GL_DRAW_BUFFER2_EXT 0x8827 768 #define GL_DRAW_BUFFER3_EXT 0x8828 769 #define GL_DRAW_BUFFER4_EXT 0x8829 770 #define GL_DRAW_BUFFER5_EXT 0x882A 771 #define GL_DRAW_BUFFER6_EXT 0x882B 772 #define GL_DRAW_BUFFER7_EXT 0x882C 773 #define GL_DRAW_BUFFER8_EXT 0x882D 774 #define GL_DRAW_BUFFER9_EXT 0x882E 775 #define GL_DRAW_BUFFER10_EXT 0x882F 776 #define GL_DRAW_BUFFER11_EXT 0x8830 777 #define GL_DRAW_BUFFER12_EXT 0x8831 778 #define GL_DRAW_BUFFER13_EXT 0x8832 779 #define GL_DRAW_BUFFER14_EXT 0x8833 780 #define GL_DRAW_BUFFER15_EXT 0x8834 781 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 782 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 783 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 784 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 785 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 786 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 787 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 788 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 789 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 790 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 791 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA 792 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB 793 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC 794 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED 795 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE 796 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF 797 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF 798 #endif 799 800 /* GL_NV_draw_instanced */ 801 /* No new tokens introduced by this extension. */ 802 803 /* GL_NV_fbo_color_attachments */ 804 #ifndef GL_NV_fbo_color_attachments 805 #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF 806 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ 807 #endif 808 809 /* GL_NV_fence */ 810 #ifndef GL_NV_fence 811 #define GL_ALL_COMPLETED_NV 0x84F2 812 #define GL_FENCE_STATUS_NV 0x84F3 813 #define GL_FENCE_CONDITION_NV 0x84F4 814 #endif 815 816 /* GL_NV_framebuffer_blit */ 817 #ifndef GL_NV_framebuffer_blit 818 #define GL_READ_FRAMEBUFFER_NV 0x8CA8 819 #define GL_DRAW_FRAMEBUFFER_NV 0x8CA9 820 #define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6 821 #define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA 822 #endif 823 824 /* GL_NV_framebuffer_multisample */ 825 #ifndef GL_NV_framebuffer_multisample 826 #define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB 827 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56 828 #define GL_MAX_SAMPLES_NV 0x8D57 829 #endif 830 831 /* GL_NV_generate_mipmap_sRGB */ 832 /* No new tokens introduced by this extension. */ 833 834 /* GL_NV_instanced_arrays */ 835 #ifndef GL_NV_instanced_arrays 836 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE 837 #endif 838 839 /* GL_NV_read_buffer */ 840 #ifndef GL_NV_read_buffer 841 #define GL_READ_BUFFER_NV 0x0C02 842 #endif 843 844 /* GL_NV_read_buffer_front */ 845 /* No new tokens introduced by this extension. */ 846 847 /* GL_NV_read_depth */ 848 /* No new tokens introduced by this extension. */ 849 850 /* GL_NV_read_depth_stencil */ 851 /* No new tokens introduced by this extension. */ 852 853 /* GL_NV_read_stencil */ 854 /* No new tokens introduced by this extension. */ 855 856 /* GL_NV_shadow_samplers_array */ 857 #ifndef GL_NV_shadow_samplers_array 858 #define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4 859 #endif 860 861 /* GL_NV_shadow_samplers_cube */ 862 #ifndef GL_NV_shadow_samplers_cube 863 #define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5 864 #endif 865 866 /* GL_NV_sRGB_formats */ 867 #ifndef GL_NV_sRGB_formats 868 #define GL_SLUMINANCE_NV 0x8C46 869 #define GL_SLUMINANCE_ALPHA_NV 0x8C44 870 #define GL_SRGB8_NV 0x8C41 871 #define GL_SLUMINANCE8_NV 0x8C47 872 #define GL_SLUMINANCE8_ALPHA8_NV 0x8C45 873 #define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C 874 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D 875 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E 876 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F 877 #define GL_ETC1_SRGB8_NV 0x88EE 878 #endif 879 880 /* GL_NV_texture_border_clamp */ 881 #ifndef GL_NV_texture_border_clamp 882 #define GL_TEXTURE_BORDER_COLOR_NV 0x1004 883 #define GL_CLAMP_TO_BORDER_NV 0x812D 884 #endif 885 886 /* GL_NV_texture_compression_s3tc_update */ 887 /* No new tokens introduced by this extension. */ 888 889 /* GL_NV_texture_npot_2D_mipmap */ 890 /* No new tokens introduced by this extension. */ 891 892 /*------------------------------------------------------------------------* 893 * QCOM extension tokens 894 *------------------------------------------------------------------------*/ 895 896 /* GL_QCOM_alpha_test */ 897 #ifndef GL_QCOM_alpha_test 898 #define GL_ALPHA_TEST_QCOM 0x0BC0 899 #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 900 #define GL_ALPHA_TEST_REF_QCOM 0x0BC2 901 #endif 902 903 /* GL_QCOM_binning_control */ 904 #ifndef GL_QCOM_binning_control 905 #define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 906 #define GL_CPU_OPTIMIZED_QCOM 0x8FB1 907 #define GL_GPU_OPTIMIZED_QCOM 0x8FB2 908 #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 909 #endif 910 911 /* GL_QCOM_driver_control */ 912 /* No new tokens introduced by this extension. */ 913 914 /* GL_QCOM_extended_get */ 915 #ifndef GL_QCOM_extended_get 916 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2 917 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 918 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4 919 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 920 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6 921 #define GL_TEXTURE_TYPE_QCOM 0x8BD7 922 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 923 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 924 #define GL_TEXTURE_TARGET_QCOM 0x8BDA 925 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB 926 #define GL_STATE_RESTORE 0x8BDC 927 #endif 928 929 /* GL_QCOM_extended_get2 */ 930 /* No new tokens introduced by this extension. */ 931 932 /* GL_QCOM_perfmon_global_mode */ 933 #ifndef GL_QCOM_perfmon_global_mode 934 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 935 #endif 936 937 /* GL_QCOM_writeonly_rendering */ 938 #ifndef GL_QCOM_writeonly_rendering 939 #define GL_WRITEONLY_RENDERING_QCOM 0x8823 940 #endif 941 942 /* GL_QCOM_tiled_rendering */ 943 #ifndef GL_QCOM_tiled_rendering 944 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 945 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 946 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 947 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 948 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 949 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 950 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 951 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 952 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 953 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 954 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 955 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 956 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 957 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 958 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 959 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 960 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 961 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 962 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 963 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 964 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 965 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 966 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 967 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 968 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 969 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 970 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 971 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 972 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 973 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 974 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 975 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 976 #endif 977 978 /*------------------------------------------------------------------------* 979 * VIV extension tokens 980 *------------------------------------------------------------------------*/ 981 982 /* GL_VIV_shader_binary */ 983 #ifndef GL_VIV_shader_binary 984 #define GL_SHADER_BINARY_VIV 0x8FC4 985 #endif 986 987 /*------------------------------------------------------------------------* 988 * End of extension tokens, start of corresponding extension functions 989 *------------------------------------------------------------------------*/ 990 991 /*------------------------------------------------------------------------* 992 * OES extension functions 993 *------------------------------------------------------------------------*/ 994 995 /* GL_OES_compressed_ETC1_RGB8_texture */ 996 #ifndef GL_OES_compressed_ETC1_RGB8_texture 997 #define GL_OES_compressed_ETC1_RGB8_texture 1 998 #endif 999 1000 /* GL_OES_compressed_paletted_texture */ 1001 #ifndef GL_OES_compressed_paletted_texture 1002 #define GL_OES_compressed_paletted_texture 1 1003 #endif 1004 1005 /* GL_OES_depth24 */ 1006 #ifndef GL_OES_depth24 1007 #define GL_OES_depth24 1 1008 #endif 1009 1010 /* GL_OES_depth32 */ 1011 #ifndef GL_OES_depth32 1012 #define GL_OES_depth32 1 1013 #endif 1014 1015 /* GL_OES_depth_texture */ 1016 #ifndef GL_OES_depth_texture 1017 #define GL_OES_depth_texture 1 1018 #endif 1019 1020 /* GL_OES_EGL_image */ 1021 #ifndef GL_OES_EGL_image 1022 #define GL_OES_EGL_image 1 1023 #ifdef GL_GLEXT_PROTOTYPES 1024 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 1025 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 1026 #endif 1027 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 1028 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 1029 #endif 1030 1031 /* GL_OES_EGL_image_external */ 1032 #ifndef GL_OES_EGL_image_external 1033 #define GL_OES_EGL_image_external 1 1034 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ 1035 #endif 1036 1037 /* GL_OES_element_index_uint */ 1038 #ifndef GL_OES_element_index_uint 1039 #define GL_OES_element_index_uint 1 1040 #endif 1041 1042 /* GL_OES_fbo_render_mipmap */ 1043 #ifndef GL_OES_fbo_render_mipmap 1044 #define GL_OES_fbo_render_mipmap 1 1045 #endif 1046 1047 /* GL_OES_fragment_precision_high */ 1048 #ifndef GL_OES_fragment_precision_high 1049 #define GL_OES_fragment_precision_high 1 1050 #endif 1051 1052 /* GL_OES_get_program_binary */ 1053 #ifndef GL_OES_get_program_binary 1054 #define GL_OES_get_program_binary 1 1055 #ifdef GL_GLEXT_PROTOTYPES 1056 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 1057 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 1058 #endif 1059 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 1060 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 1061 #endif 1062 1063 /* GL_OES_mapbuffer */ 1064 #ifndef GL_OES_mapbuffer 1065 #define GL_OES_mapbuffer 1 1066 #ifdef GL_GLEXT_PROTOTYPES 1067 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 1068 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 1069 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 1070 #endif 1071 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 1072 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 1073 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); 1074 #endif 1075 1076 /* GL_OES_packed_depth_stencil */ 1077 #ifndef GL_OES_packed_depth_stencil 1078 #define GL_OES_packed_depth_stencil 1 1079 #endif 1080 1081 /* GL_OES_required_internalformat */ 1082 #ifndef GL_OES_required_internalformat 1083 #define GL_OES_required_internalformat 1 1084 #endif 1085 1086 /* GL_OES_rgb8_rgba8 */ 1087 #ifndef GL_OES_rgb8_rgba8 1088 #define GL_OES_rgb8_rgba8 1 1089 #endif 1090 1091 /* GL_OES_standard_derivatives */ 1092 #ifndef GL_OES_standard_derivatives 1093 #define GL_OES_standard_derivatives 1 1094 #endif 1095 1096 /* GL_OES_stencil1 */ 1097 #ifndef GL_OES_stencil1 1098 #define GL_OES_stencil1 1 1099 #endif 1100 1101 /* GL_OES_stencil4 */ 1102 #ifndef GL_OES_stencil4 1103 #define GL_OES_stencil4 1 1104 #endif 1105 1106 #ifndef GL_OES_surfaceless_context 1107 #define GL_OES_surfaceless_context 1 1108 #endif 1109 1110 /* GL_OES_texture_3D */ 1111 #ifndef GL_OES_texture_3D 1112 #define GL_OES_texture_3D 1 1113 #ifdef GL_GLEXT_PROTOTYPES 1114 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); 1115 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); 1116 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 1117 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); 1118 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); 1119 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 1120 #endif 1121 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); 1122 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); 1123 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 1124 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 1125 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); 1126 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 1127 #endif 1128 1129 /* GL_OES_texture_float */ 1130 #ifndef GL_OES_texture_float 1131 #define GL_OES_texture_float 1 1132 #endif 1133 1134 /* GL_OES_texture_float_linear */ 1135 #ifndef GL_OES_texture_float_linear 1136 #define GL_OES_texture_float_linear 1 1137 #endif 1138 1139 /* GL_OES_texture_half_float */ 1140 #ifndef GL_OES_texture_half_float 1141 #define GL_OES_texture_half_float 1 1142 #endif 1143 1144 /* GL_OES_texture_half_float_linear */ 1145 #ifndef GL_OES_texture_half_float_linear 1146 #define GL_OES_texture_half_float_linear 1 1147 #endif 1148 1149 /* GL_OES_texture_npot */ 1150 #ifndef GL_OES_texture_npot 1151 #define GL_OES_texture_npot 1 1152 #endif 1153 1154 /* GL_OES_vertex_array_object */ 1155 #ifndef GL_OES_vertex_array_object 1156 #define GL_OES_vertex_array_object 1 1157 #ifdef GL_GLEXT_PROTOTYPES 1158 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 1159 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 1160 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 1161 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 1162 #endif 1163 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 1164 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 1165 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 1166 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); 1167 #endif 1168 1169 /* GL_OES_vertex_half_float */ 1170 #ifndef GL_OES_vertex_half_float 1171 #define GL_OES_vertex_half_float 1 1172 #endif 1173 1174 /* GL_OES_vertex_type_10_10_10_2 */ 1175 #ifndef GL_OES_vertex_type_10_10_10_2 1176 #define GL_OES_vertex_type_10_10_10_2 1 1177 #endif 1178 1179 /*------------------------------------------------------------------------* 1180 * KHR extension functions 1181 *------------------------------------------------------------------------*/ 1182 1183 #ifndef GL_KHR_debug 1184 #define GL_KHR_debug 1 1185 #ifdef GL_GLEXT_PROTOTYPES 1186 GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 1187 GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 1188 GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam); 1189 GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 1190 GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message); 1191 GL_APICALL void GL_APIENTRY glPopDebugGroup (void); 1192 GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 1193 GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 1194 GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label); 1195 GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 1196 GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params); 1197 #endif 1198 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 1199 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 1200 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); 1201 typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 1202 typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); 1203 typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void); 1204 typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 1205 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 1206 typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label); 1207 typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 1208 typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params); 1209 #endif 1210 1211 #ifndef GL_KHR_texture_compression_astc_ldr 1212 #define GL_KHR_texture_compression_astc_ldr 1 1213 #endif 1214 1215 1216 /*------------------------------------------------------------------------* 1217 * AMD extension functions 1218 *------------------------------------------------------------------------*/ 1219 1220 /* GL_AMD_compressed_3DC_texture */ 1221 #ifndef GL_AMD_compressed_3DC_texture 1222 #define GL_AMD_compressed_3DC_texture 1 1223 #endif 1224 1225 /* GL_AMD_compressed_ATC_texture */ 1226 #ifndef GL_AMD_compressed_ATC_texture 1227 #define GL_AMD_compressed_ATC_texture 1 1228 #endif 1229 1230 /* AMD_performance_monitor */ 1231 #ifndef GL_AMD_performance_monitor 1232 #define GL_AMD_performance_monitor 1 1233 #ifdef GL_GLEXT_PROTOTYPES 1234 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 1235 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 1236 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 1237 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 1238 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 1239 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 1240 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 1241 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 1242 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 1243 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 1244 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 1245 #endif 1246 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 1247 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 1248 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 1249 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 1250 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 1251 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 1252 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 1253 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 1254 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 1255 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 1256 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 1257 #endif 1258 1259 /* GL_AMD_program_binary_Z400 */ 1260 #ifndef GL_AMD_program_binary_Z400 1261 #define GL_AMD_program_binary_Z400 1 1262 #endif 1263 1264 /*------------------------------------------------------------------------* 1265 * ANGLE extension functions 1266 *------------------------------------------------------------------------*/ 1267 1268 /* GL_ANGLE_depth_texture */ 1269 #ifndef GL_ANGLE_depth_texture 1270 #define GL_ANGLE_depth_texture 1 1271 #endif 1272 1273 /* GL_ANGLE_framebuffer_blit */ 1274 #ifndef GL_ANGLE_framebuffer_blit 1275 #define GL_ANGLE_framebuffer_blit 1 1276 #ifdef GL_GLEXT_PROTOTYPES 1277 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); 1278 #endif 1279 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); 1280 #endif 1281 1282 /* GL_ANGLE_framebuffer_multisample */ 1283 #ifndef GL_ANGLE_framebuffer_multisample 1284 #define GL_ANGLE_framebuffer_multisample 1 1285 #ifdef GL_GLEXT_PROTOTYPES 1286 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1287 #endif 1288 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1289 #endif 1290 1291 #ifndef GL_ANGLE_instanced_arrays 1292 #define GL_ANGLE_instanced_arrays 1 1293 #ifdef GL_GLEXT_PROTOTYPES 1294 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1295 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 1296 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor); 1297 #endif 1298 typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1299 typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 1300 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); 1301 #endif 1302 1303 /* GL_ANGLE_pack_reverse_row_order */ 1304 #ifndef GL_ANGLE_pack_reverse_row_order 1305 #define GL_ANGLE_pack_reverse_row_order 1 1306 #endif 1307 1308 /* GL_ANGLE_program_binary */ 1309 #ifndef GL_ANGLE_program_binary 1310 #define GL_ANGLE_program_binary 1 1311 #endif 1312 1313 /* GL_ANGLE_texture_compression_dxt3 */ 1314 #ifndef GL_ANGLE_texture_compression_dxt3 1315 #define GL_ANGLE_texture_compression_dxt3 1 1316 #endif 1317 1318 /* GL_ANGLE_texture_compression_dxt5 */ 1319 #ifndef GL_ANGLE_texture_compression_dxt5 1320 #define GL_ANGLE_texture_compression_dxt5 1 1321 #endif 1322 1323 /* GL_ANGLE_texture_usage */ 1324 #ifndef GL_ANGLE_texture_usage 1325 #define GL_ANGLE_texture_usage 1 1326 #endif 1327 1328 #ifndef GL_ANGLE_translated_shader_source 1329 #define GL_ANGLE_translated_shader_source 1 1330 #ifdef GL_GLEXT_PROTOTYPES 1331 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 1332 #endif 1333 typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 1334 #endif 1335 1336 /*------------------------------------------------------------------------* 1337 * APPLE extension functions 1338 *------------------------------------------------------------------------*/ 1339 1340 /* GL_APPLE_copy_texture_levels */ 1341 #ifndef GL_APPLE_copy_texture_levels 1342 #define GL_APPLE_copy_texture_levels 1 1343 #ifdef GL_GLEXT_PROTOTYPES 1344 GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 1345 #endif 1346 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 1347 #endif 1348 1349 /* GL_APPLE_framebuffer_multisample */ 1350 #ifndef GL_APPLE_framebuffer_multisample 1351 #define GL_APPLE_framebuffer_multisample 1 1352 #ifdef GL_GLEXT_PROTOTYPES 1353 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1354 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 1355 #endif /* GL_GLEXT_PROTOTYPES */ 1356 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1357 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); 1358 #endif 1359 1360 /* GL_APPLE_rgb_422 */ 1361 #ifndef GL_APPLE_rgb_422 1362 #define GL_APPLE_rgb_422 1 1363 #endif 1364 1365 /* GL_APPLE_sync */ 1366 #ifndef GL_APPLE_sync 1367 #define GL_APPLE_sync 1 1368 #ifdef GL_GLEXT_PROTOTYPES 1369 GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags); 1370 GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync); 1371 GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync); 1372 GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 1373 GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 1374 GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params); 1375 GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 1376 #endif 1377 typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); 1378 typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync); 1379 typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync); 1380 typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 1381 typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 1382 typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); 1383 typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 1384 #endif 1385 1386 /* GL_APPLE_texture_format_BGRA8888 */ 1387 #ifndef GL_APPLE_texture_format_BGRA8888 1388 #define GL_APPLE_texture_format_BGRA8888 1 1389 #endif 1390 1391 /* GL_APPLE_texture_max_level */ 1392 #ifndef GL_APPLE_texture_max_level 1393 #define GL_APPLE_texture_max_level 1 1394 #endif 1395 1396 /*------------------------------------------------------------------------* 1397 * ARM extension functions 1398 *------------------------------------------------------------------------*/ 1399 1400 /* GL_ARM_mali_program_binary */ 1401 #ifndef GL_ARM_mali_program_binary 1402 #define GL_ARM_mali_program_binary 1 1403 #endif 1404 1405 /* GL_ARM_mali_shader_binary */ 1406 #ifndef GL_ARM_mali_shader_binary 1407 #define GL_ARM_mali_shader_binary 1 1408 #endif 1409 1410 /* GL_ARM_rgba8 */ 1411 #ifndef GL_ARM_rgba8 1412 #define GL_ARM_rgba8 1 1413 #endif 1414 1415 /*------------------------------------------------------------------------* 1416 * EXT extension functions 1417 *------------------------------------------------------------------------*/ 1418 1419 /* GL_EXT_blend_minmax */ 1420 #ifndef GL_EXT_blend_minmax 1421 #define GL_EXT_blend_minmax 1 1422 #endif 1423 1424 /* GL_EXT_color_buffer_half_float */ 1425 #ifndef GL_EXT_color_buffer_half_float 1426 #define GL_EXT_color_buffer_half_float 1 1427 #endif 1428 1429 /* GL_EXT_debug_label */ 1430 #ifndef GL_EXT_debug_label 1431 #define GL_EXT_debug_label 1 1432 #ifdef GL_GLEXT_PROTOTYPES 1433 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1434 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1435 #endif 1436 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1437 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1438 #endif 1439 1440 /* GL_EXT_debug_marker */ 1441 #ifndef GL_EXT_debug_marker 1442 #define GL_EXT_debug_marker 1 1443 #ifdef GL_GLEXT_PROTOTYPES 1444 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); 1445 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); 1446 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); 1447 #endif 1448 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1449 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1450 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); 1451 #endif 1452 1453 /* GL_EXT_discard_framebuffer */ 1454 #ifndef GL_EXT_discard_framebuffer 1455 #define GL_EXT_discard_framebuffer 1 1456 #ifdef GL_GLEXT_PROTOTYPES 1457 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1458 #endif 1459 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1460 #endif 1461 1462 /* GL_EXT_map_buffer_range */ 1463 #ifndef GL_EXT_map_buffer_range 1464 #define GL_EXT_map_buffer_range 1 1465 #ifdef GL_GLEXT_PROTOTYPES 1466 GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 1467 GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length); 1468 #endif 1469 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 1470 typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); 1471 #endif 1472 1473 /* GL_EXT_multisampled_render_to_texture */ 1474 #ifndef GL_EXT_multisampled_render_to_texture 1475 #define GL_EXT_multisampled_render_to_texture 1 1476 #ifdef GL_GLEXT_PROTOTYPES 1477 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1478 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1479 #endif 1480 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1481 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1482 #endif 1483 1484 /* GL_EXT_multiview_draw_buffers */ 1485 #ifndef GL_EXT_multiview_draw_buffers 1486 #define GL_EXT_multiview_draw_buffers 1 1487 #ifdef GL_GLEXT_PROTOTYPES 1488 GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index); 1489 GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices); 1490 GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data); 1491 #endif 1492 typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); 1493 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices); 1494 typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data); 1495 #endif 1496 1497 #ifndef GL_EXT_multi_draw_arrays 1498 #define GL_EXT_multi_draw_arrays 1 1499 #ifdef GL_GLEXT_PROTOTYPES 1500 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *, const GLsizei *, GLsizei); 1501 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 1502 #endif /* GL_GLEXT_PROTOTYPES */ 1503 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 1504 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 1505 #endif 1506 1507 /* GL_EXT_occlusion_query_boolean */ 1508 #ifndef GL_EXT_occlusion_query_boolean 1509 #define GL_EXT_occlusion_query_boolean 1 1510 #ifdef GL_GLEXT_PROTOTYPES 1511 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); 1512 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); 1513 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id); 1514 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id); 1515 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target); 1516 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); 1517 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); 1518 #endif 1519 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); 1520 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); 1521 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); 1522 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); 1523 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); 1524 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); 1525 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); 1526 #endif 1527 1528 /* GL_EXT_read_format_bgra */ 1529 #ifndef GL_EXT_read_format_bgra 1530 #define GL_EXT_read_format_bgra 1 1531 #endif 1532 1533 /* GL_EXT_robustness */ 1534 #ifndef GL_EXT_robustness 1535 #define GL_EXT_robustness 1 1536 #ifdef GL_GLEXT_PROTOTYPES 1537 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); 1538 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1539 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); 1540 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1541 #endif 1542 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); 1543 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1544 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); 1545 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1546 #endif 1547 1548 /* GL_EXT_separate_shader_objects */ 1549 #ifndef GL_EXT_separate_shader_objects 1550 #define GL_EXT_separate_shader_objects 1 1551 #ifdef GL_GLEXT_PROTOTYPES 1552 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); 1553 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); 1554 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); 1555 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); 1556 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); 1557 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); 1558 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); 1559 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); 1560 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); 1561 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); 1562 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); 1563 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); 1564 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1565 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); 1566 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); 1567 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1568 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1569 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1570 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1571 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1572 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1573 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1574 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1575 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1576 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1577 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1578 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1579 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1580 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); 1581 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1582 #endif 1583 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); 1584 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); 1585 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); 1586 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1587 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); 1588 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); 1589 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1590 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); 1591 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); 1592 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); 1593 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); 1594 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); 1595 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1596 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); 1597 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); 1598 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1599 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1600 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1601 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1602 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1603 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1604 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1605 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1606 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1607 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1608 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1609 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1610 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1611 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1612 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1613 #endif 1614 1615 /* GL_EXT_shader_framebuffer_fetch */ 1616 #ifndef GL_EXT_shader_framebuffer_fetch 1617 #define GL_EXT_shader_framebuffer_fetch 1 1618 #endif 1619 1620 /* GL_EXT_shader_texture_lod */ 1621 #ifndef GL_EXT_shader_texture_lod 1622 #define GL_EXT_shader_texture_lod 1 1623 #endif 1624 1625 /* GL_EXT_shadow_samplers */ 1626 #ifndef GL_EXT_shadow_samplers 1627 #define GL_EXT_shadow_samplers 1 1628 #endif 1629 1630 /* GL_EXT_sRGB */ 1631 #ifndef GL_EXT_sRGB 1632 #define GL_EXT_sRGB 1 1633 #endif 1634 1635 /* GL_EXT_texture_compression_dxt1 */ 1636 #ifndef GL_EXT_texture_compression_dxt1 1637 #define GL_EXT_texture_compression_dxt1 1 1638 #endif 1639 1640 /* GL_EXT_texture_filter_anisotropic */ 1641 #ifndef GL_EXT_texture_filter_anisotropic 1642 #define GL_EXT_texture_filter_anisotropic 1 1643 #endif 1644 1645 /* GL_EXT_texture_format_BGRA8888 */ 1646 #ifndef GL_EXT_texture_format_BGRA8888 1647 #define GL_EXT_texture_format_BGRA8888 1 1648 #endif 1649 1650 /* GL_EXT_texture_rg */ 1651 #ifndef GL_EXT_texture_rg 1652 #define GL_EXT_texture_rg 1 1653 #endif 1654 1655 /* GL_EXT_texture_storage */ 1656 #ifndef GL_EXT_texture_storage 1657 #define GL_EXT_texture_storage 1 1658 #ifdef GL_GLEXT_PROTOTYPES 1659 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1660 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1661 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1662 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1663 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1664 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1665 #endif 1666 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1667 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1668 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1669 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1670 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1671 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1672 #endif 1673 1674 /* GL_EXT_texture_type_2_10_10_10_REV */ 1675 #ifndef GL_EXT_texture_type_2_10_10_10_REV 1676 #define GL_EXT_texture_type_2_10_10_10_REV 1 1677 #endif 1678 1679 /* GL_EXT_unpack_subimage */ 1680 #ifndef GL_EXT_unpack_subimage 1681 #define GL_EXT_unpack_subimage 1 1682 #endif 1683 1684 /*------------------------------------------------------------------------* 1685 * DMP extension functions 1686 *------------------------------------------------------------------------*/ 1687 1688 /* GL_DMP_shader_binary */ 1689 #ifndef GL_DMP_shader_binary 1690 #define GL_DMP_shader_binary 1 1691 #endif 1692 1693 /*------------------------------------------------------------------------* 1694 * FJ extension functions 1695 *------------------------------------------------------------------------*/ 1696 1697 /* GL_FJ_shader_binary_GCCSO */ 1698 #ifndef GL_FJ_shader_binary_GCCSO 1699 #define GL_FJ_shader_binary_GCCSO 1 1700 #endif 1701 1702 /*------------------------------------------------------------------------* 1703 * IMG extension functions 1704 *------------------------------------------------------------------------*/ 1705 1706 /* GL_IMG_program_binary */ 1707 #ifndef GL_IMG_program_binary 1708 #define GL_IMG_program_binary 1 1709 #endif 1710 1711 /* GL_IMG_read_format */ 1712 #ifndef GL_IMG_read_format 1713 #define GL_IMG_read_format 1 1714 #endif 1715 1716 /* GL_IMG_shader_binary */ 1717 #ifndef GL_IMG_shader_binary 1718 #define GL_IMG_shader_binary 1 1719 #endif 1720 1721 /* GL_IMG_texture_compression_pvrtc */ 1722 #ifndef GL_IMG_texture_compression_pvrtc 1723 #define GL_IMG_texture_compression_pvrtc 1 1724 #endif 1725 1726 /* GL_IMG_texture_compression_pvrtc2 */ 1727 #ifndef GL_IMG_texture_compression_pvrtc2 1728 #define GL_IMG_texture_compression_pvrtc2 1 1729 #endif 1730 1731 /* GL_IMG_multisampled_render_to_texture */ 1732 #ifndef GL_IMG_multisampled_render_to_texture 1733 #define GL_IMG_multisampled_render_to_texture 1 1734 #ifdef GL_GLEXT_PROTOTYPES 1735 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1736 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1737 #endif 1738 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1739 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1740 #endif 1741 1742 /*------------------------------------------------------------------------* 1743 * NV extension functions 1744 *------------------------------------------------------------------------*/ 1745 1746 /* GL_NV_coverage_sample */ 1747 #ifndef GL_NV_coverage_sample 1748 #define GL_NV_coverage_sample 1 1749 #ifdef GL_GLEXT_PROTOTYPES 1750 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 1751 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 1752 #endif 1753 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 1754 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); 1755 #endif 1756 1757 /* GL_NV_depth_nonlinear */ 1758 #ifndef GL_NV_depth_nonlinear 1759 #define GL_NV_depth_nonlinear 1 1760 #endif 1761 1762 /* GL_NV_draw_buffers */ 1763 #ifndef GL_NV_draw_buffers 1764 #define GL_NV_draw_buffers 1 1765 #ifdef GL_GLEXT_PROTOTYPES 1766 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); 1767 #endif 1768 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); 1769 #endif 1770 1771 /* GL_EXT_draw_buffers */ 1772 #ifndef GL_EXT_draw_buffers 1773 #define GL_EXT_draw_buffers 1 1774 #ifdef GL_GLEXT_PROTOTYPES 1775 GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs); 1776 #endif 1777 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs); 1778 #endif 1779 1780 /* GL_NV_draw_instanced */ 1781 #ifndef GL_NV_draw_instanced 1782 #define GL_NV_draw_instanced 1 1783 #ifdef GL_GLEXT_PROTOTYPES 1784 GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1785 GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); 1786 #endif 1787 typedef void (GL_APIENTRYP PFNDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1788 typedef void (GL_APIENTRYP PFNDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); 1789 #endif 1790 1791 /* GL_NV_fbo_color_attachments */ 1792 #ifndef GL_NV_fbo_color_attachments 1793 #define GL_NV_fbo_color_attachments 1 1794 #endif 1795 1796 /* GL_NV_fence */ 1797 #ifndef GL_NV_fence 1798 #define GL_NV_fence 1 1799 #ifdef GL_GLEXT_PROTOTYPES 1800 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 1801 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 1802 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 1803 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 1804 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 1805 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 1806 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 1807 #endif 1808 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 1809 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 1810 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 1811 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 1812 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 1813 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 1814 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 1815 #endif 1816 1817 /* GL_NV_framebuffer_blit */ 1818 #ifndef GL_NV_framebuffer_blit 1819 #define GL_NV_framebuffer_blit 1 1820 #ifdef GL_GLEXT_PROTOTYPES 1821 GL_APICALL void GL_APIENTRY glBlitFramebufferNV (int srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1822 #endif 1823 typedef void (GL_APIENTRYP PFNBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1824 #endif 1825 1826 /* GL_NV_framebuffer_multisample */ 1827 #ifndef GL_NV_framebuffer_multisample 1828 #define GL_NV_framebuffer_multisample 1 1829 #ifdef GL_GLEXT_PROTOTYPES 1830 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1831 #endif 1832 typedef void (GL_APIENTRYP PFNRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1833 #endif 1834 1835 /* GL_NV_generate_mipmap_sRGB */ 1836 #ifndef GL_NV_generate_mipmap_sRGB 1837 #define GL_NV_generate_mipmap_sRGB 1 1838 #endif 1839 1840 /* GL_NV_instanced_arrays */ 1841 #ifndef GL_NV_instanced_arrays 1842 #define GL_NV_instanced_arrays 1 1843 #ifdef GL_GLEXT_PROTOTYPES 1844 GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor); 1845 #endif 1846 typedef void (GL_APIENTRYP PFNVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor); 1847 #endif 1848 1849 /* GL_NV_read_buffer */ 1850 #ifndef GL_NV_read_buffer 1851 #define GL_NV_read_buffer 1 1852 #ifdef GL_GLEXT_PROTOTYPES 1853 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); 1854 #endif 1855 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); 1856 #endif 1857 1858 /* GL_NV_read_buffer_front */ 1859 #ifndef GL_NV_read_buffer_front 1860 #define GL_NV_read_buffer_front 1 1861 #endif 1862 1863 /* GL_NV_read_depth */ 1864 #ifndef GL_NV_read_depth 1865 #define GL_NV_read_depth 1 1866 #endif 1867 1868 /* GL_NV_read_depth_stencil */ 1869 #ifndef GL_NV_read_depth_stencil 1870 #define GL_NV_read_depth_stencil 1 1871 #endif 1872 1873 /* GL_NV_read_stencil */ 1874 #ifndef GL_NV_read_stencil 1875 #define GL_NV_read_stencil 1 1876 #endif 1877 1878 /* GL_NV_shadow_samplers_array */ 1879 #ifndef GL_NV_shadow_samplers_array 1880 #define GL_NV_shadow_samplers_array 1 1881 #endif 1882 1883 /* GL_NV_shadow_samplers_cube */ 1884 #ifndef GL_NV_shadow_samplers_cube 1885 #define GL_NV_shadow_samplers_cube 1 1886 #endif 1887 1888 /* GL_NV_sRGB_formats */ 1889 #ifndef GL_NV_sRGB_formats 1890 #define GL_NV_sRGB_formats 1 1891 #endif 1892 1893 /* GL_NV_texture_border_clamp */ 1894 #ifndef GL_NV_texture_border_clamp 1895 #define GL_NV_texture_border_clamp 1 1896 #endif 1897 1898 /* GL_NV_texture_compression_s3tc_update */ 1899 #ifndef GL_NV_texture_compression_s3tc_update 1900 #define GL_NV_texture_compression_s3tc_update 1 1901 #endif 1902 1903 /* GL_NV_texture_npot_2D_mipmap */ 1904 #ifndef GL_NV_texture_npot_2D_mipmap 1905 #define GL_NV_texture_npot_2D_mipmap 1 1906 #endif 1907 1908 /*------------------------------------------------------------------------* 1909 * QCOM extension functions 1910 *------------------------------------------------------------------------*/ 1911 1912 /* GL_QCOM_alpha_test */ 1913 #ifndef GL_QCOM_alpha_test 1914 #define GL_QCOM_alpha_test 1 1915 #ifdef GL_GLEXT_PROTOTYPES 1916 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); 1917 #endif 1918 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); 1919 #endif 1920 1921 /* GL_QCOM_binning_control */ 1922 #ifndef GL_QCOM_binning_control 1923 #define GL_QCOM_binning_control 1 1924 #endif 1925 1926 /* GL_QCOM_driver_control */ 1927 #ifndef GL_QCOM_driver_control 1928 #define GL_QCOM_driver_control 1 1929 #ifdef GL_GLEXT_PROTOTYPES 1930 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 1931 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1932 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 1933 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 1934 #endif 1935 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 1936 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1937 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1938 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1939 #endif 1940 1941 /* GL_QCOM_extended_get */ 1942 #ifndef GL_QCOM_extended_get 1943 #define GL_QCOM_extended_get 1 1944 #ifdef GL_GLEXT_PROTOTYPES 1945 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 1946 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1947 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1948 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1949 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1950 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 1951 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); 1952 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 1953 #endif 1954 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 1955 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1956 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1957 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1958 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1959 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 1960 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); 1961 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); 1962 #endif 1963 1964 /* GL_QCOM_extended_get2 */ 1965 #ifndef GL_QCOM_extended_get2 1966 #define GL_QCOM_extended_get2 1 1967 #ifdef GL_GLEXT_PROTOTYPES 1968 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1969 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1970 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 1971 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1972 #endif 1973 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1974 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1975 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 1976 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1977 #endif 1978 1979 /* GL_QCOM_perfmon_global_mode */ 1980 #ifndef GL_QCOM_perfmon_global_mode 1981 #define GL_QCOM_perfmon_global_mode 1 1982 #endif 1983 1984 /* GL_QCOM_writeonly_rendering */ 1985 #ifndef GL_QCOM_writeonly_rendering 1986 #define GL_QCOM_writeonly_rendering 1 1987 #endif 1988 1989 /* GL_QCOM_tiled_rendering */ 1990 #ifndef GL_QCOM_tiled_rendering 1991 #define GL_QCOM_tiled_rendering 1 1992 #ifdef GL_GLEXT_PROTOTYPES 1993 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1994 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 1995 #endif 1996 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1997 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); 1998 #endif 1999 2000 /*------------------------------------------------------------------------* 2001 * VIV extension tokens 2002 *------------------------------------------------------------------------*/ 2003 2004 /* GL_VIV_shader_binary */ 2005 #ifndef GL_VIV_shader_binary 2006 #define GL_VIV_shader_binary 1 2007 #endif 2008 2009 #ifdef __cplusplus 2010 } 2011 #endif 2012 2013 #endif /* __gl2ext_h_ */ 2014