1 #ifndef __gl2ext_h_ 2 #define __gl2ext_h_ 3 4 /* $Revision: 19436 $ on $Date:: 2012-10-10 10:37:04 -0700 #$ */ 5 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 /* 11 * This document is licensed under the SGI Free Software B License Version 12 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 13 */ 14 15 #ifndef GL_APIENTRYP 16 # define GL_APIENTRYP GL_APIENTRY* 17 #endif 18 19 /*------------------------------------------------------------------------* 20 * OES extension tokens 21 *------------------------------------------------------------------------*/ 22 23 /* GL_OES_compressed_ETC1_RGB8_texture */ 24 #ifndef GL_OES_compressed_ETC1_RGB8_texture 25 #define GL_ETC1_RGB8_OES 0x8D64 26 #endif 27 28 /* GL_OES_compressed_paletted_texture */ 29 #ifndef GL_OES_compressed_paletted_texture 30 #define GL_PALETTE4_RGB8_OES 0x8B90 31 #define GL_PALETTE4_RGBA8_OES 0x8B91 32 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 33 #define GL_PALETTE4_RGBA4_OES 0x8B93 34 #define GL_PALETTE4_RGB5_A1_OES 0x8B94 35 #define GL_PALETTE8_RGB8_OES 0x8B95 36 #define GL_PALETTE8_RGBA8_OES 0x8B96 37 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 38 #define GL_PALETTE8_RGBA4_OES 0x8B98 39 #define GL_PALETTE8_RGB5_A1_OES 0x8B99 40 #endif 41 42 /* GL_OES_depth24 */ 43 #ifndef GL_OES_depth24 44 #define GL_DEPTH_COMPONENT24_OES 0x81A6 45 #endif 46 47 /* GL_OES_depth32 */ 48 #ifndef GL_OES_depth32 49 #define GL_DEPTH_COMPONENT32_OES 0x81A7 50 #endif 51 52 /* GL_OES_depth_texture */ 53 /* No new tokens introduced by this extension. */ 54 55 /* GL_OES_EGL_image */ 56 #ifndef GL_OES_EGL_image 57 typedef void* GLeglImageOES; 58 #endif 59 60 /* GL_OES_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_framebuffer_blit */ 298 #ifndef GL_ANGLE_framebuffer_blit 299 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 300 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 301 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 302 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA 303 #endif 304 305 /* GL_ANGLE_framebuffer_multisample */ 306 #ifndef GL_ANGLE_framebuffer_multisample 307 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB 308 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 309 #define GL_MAX_SAMPLES_ANGLE 0x8D57 310 #endif 311 312 /* GL_ANGLE_instanced_arrays */ 313 #ifndef GL_ANGLE_instanced_arrays 314 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE 315 #endif 316 317 /* GL_ANGLE_pack_reverse_row_order */ 318 #ifndef GL_ANGLE_pack_reverse_row_order 319 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 320 #endif 321 322 /* GL_ANGLE_texture_compression_dxt3 */ 323 #ifndef GL_ANGLE_texture_compression_dxt3 324 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 325 #endif 326 327 /* GL_ANGLE_texture_compression_dxt5 */ 328 #ifndef GL_ANGLE_texture_compression_dxt5 329 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 330 #endif 331 332 /* GL_ANGLE_texture_usage */ 333 #ifndef GL_ANGLE_texture_usage 334 #define GL_TEXTURE_USAGE_ANGLE 0x93A2 335 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 336 #endif 337 338 /* GL_ANGLE_translated_shader_source */ 339 #ifndef GL_ANGLE_translated_shader_source 340 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 341 #endif 342 343 /*------------------------------------------------------------------------* 344 * APPLE extension tokens 345 *------------------------------------------------------------------------*/ 346 347 /* GL_APPLE_copy_texture_levels */ 348 /* No new tokens introduced by this extension. */ 349 350 /* GL_APPLE_framebuffer_multisample */ 351 #ifndef GL_APPLE_framebuffer_multisample 352 #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB 353 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 354 #define GL_MAX_SAMPLES_APPLE 0x8D57 355 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 356 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 357 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 358 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA 359 #endif 360 361 /* GL_APPLE_rgb_422 */ 362 #ifndef GL_APPLE_rgb_422 363 #define GL_RGB_422_APPLE 0x8A1F 364 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 365 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 366 #endif 367 368 /* GL_APPLE_sync */ 369 #ifndef GL_APPLE_sync 370 371 #ifndef __gl3_h_ 372 /* These types are defined with reference to <inttypes.h> 373 * in the Apple extension spec, but here we use the Khronos 374 * portable types in khrplatform.h, and assume those types 375 * are always defined. 376 * If any other extensions using these types are defined, 377 * the typedefs must move out of this block and be shared. 378 */ 379 typedef khronos_int64_t GLint64; 380 typedef khronos_uint64_t GLuint64; 381 typedef struct __GLsync *GLsync; 382 #endif 383 384 #define GL_SYNC_OBJECT_APPLE 0x8A53 385 #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 386 #define GL_OBJECT_TYPE_APPLE 0x9112 387 #define GL_SYNC_CONDITION_APPLE 0x9113 388 #define GL_SYNC_STATUS_APPLE 0x9114 389 #define GL_SYNC_FLAGS_APPLE 0x9115 390 #define GL_SYNC_FENCE_APPLE 0x9116 391 #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 392 #define GL_UNSIGNALED_APPLE 0x9118 393 #define GL_SIGNALED_APPLE 0x9119 394 #define GL_ALREADY_SIGNALED_APPLE 0x911A 395 #define GL_TIMEOUT_EXPIRED_APPLE 0x911B 396 #define GL_CONDITION_SATISFIED_APPLE 0x911C 397 #define GL_WAIT_FAILED_APPLE 0x911D 398 #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 399 #define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull 400 #endif 401 402 /* GL_APPLE_texture_format_BGRA8888 */ 403 #ifndef GL_APPLE_texture_format_BGRA8888 404 #define GL_BGRA_EXT 0x80E1 405 #endif 406 407 /* GL_APPLE_texture_max_level */ 408 #ifndef GL_APPLE_texture_max_level 409 #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D 410 #endif 411 412 /*------------------------------------------------------------------------* 413 * ARM extension tokens 414 *------------------------------------------------------------------------*/ 415 416 /* GL_ARM_mali_program_binary */ 417 #ifndef GL_ARM_mali_program_binary 418 #define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 419 #endif 420 421 /* GL_ARM_mali_shader_binary */ 422 #ifndef GL_ARM_mali_shader_binary 423 #define GL_MALI_SHADER_BINARY_ARM 0x8F60 424 #endif 425 426 /* GL_ARM_rgba8 */ 427 /* No new tokens introduced by this extension. */ 428 429 /*------------------------------------------------------------------------* 430 * EXT extension tokens 431 *------------------------------------------------------------------------*/ 432 433 /* GL_EXT_blend_minmax */ 434 #ifndef GL_EXT_blend_minmax 435 #define GL_MIN_EXT 0x8007 436 #define GL_MAX_EXT 0x8008 437 #endif 438 439 /* GL_EXT_color_buffer_half_float */ 440 #ifndef GL_EXT_color_buffer_half_float 441 #define GL_RGBA16F_EXT 0x881A 442 #define GL_RGB16F_EXT 0x881B 443 #define GL_RG16F_EXT 0x822F 444 #define GL_R16F_EXT 0x822D 445 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 446 #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 447 #endif 448 449 /* GL_EXT_debug_label */ 450 #ifndef GL_EXT_debug_label 451 #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F 452 #define GL_PROGRAM_OBJECT_EXT 0x8B40 453 #define GL_SHADER_OBJECT_EXT 0x8B48 454 #define GL_BUFFER_OBJECT_EXT 0x9151 455 #define GL_QUERY_OBJECT_EXT 0x9153 456 #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 457 #endif 458 459 /* GL_EXT_debug_marker */ 460 /* No new tokens introduced by this extension. */ 461 462 /* GL_EXT_discard_framebuffer */ 463 #ifndef GL_EXT_discard_framebuffer 464 #define GL_COLOR_EXT 0x1800 465 #define GL_DEPTH_EXT 0x1801 466 #define GL_STENCIL_EXT 0x1802 467 #endif 468 469 /* GL_EXT_map_buffer_range */ 470 #ifndef GL_EXT_map_buffer_range 471 #define GL_MAP_READ_BIT_EXT 0x0001 472 #define GL_MAP_WRITE_BIT_EXT 0x0002 473 #define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 474 #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 475 #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 476 #define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 477 #endif 478 479 /* GL_EXT_multisampled_render_to_texture */ 480 #ifndef GL_EXT_multisampled_render_to_texture 481 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C 482 /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ 483 #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB 484 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 485 #define GL_MAX_SAMPLES_EXT 0x8D57 486 #endif 487 488 /* GL_EXT_multiview_draw_buffers */ 489 #ifndef GL_EXT_multiview_draw_buffers 490 #define GL_COLOR_ATTACHMENT_EXT 0x90F0 491 #define GL_MULTIVIEW_EXT 0x90F1 492 #define GL_DRAW_BUFFER_EXT 0x0C01 493 #define GL_READ_BUFFER_EXT 0x0C02 494 #define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 495 #endif 496 497 /* GL_EXT_multi_draw_arrays */ 498 /* No new tokens introduced by this extension. */ 499 500 /* GL_EXT_occlusion_query_boolean */ 501 #ifndef GL_EXT_occlusion_query_boolean 502 #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F 503 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A 504 #define GL_CURRENT_QUERY_EXT 0x8865 505 #define GL_QUERY_RESULT_EXT 0x8866 506 #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 507 #endif 508 509 /* GL_EXT_read_format_bgra */ 510 #ifndef GL_EXT_read_format_bgra 511 #define GL_BGRA_EXT 0x80E1 512 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 513 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 514 #endif 515 516 /* GL_EXT_robustness */ 517 #ifndef GL_EXT_robustness 518 /* reuse GL_NO_ERROR */ 519 #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 520 #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 521 #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 522 #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 523 #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 524 #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 525 #define GL_NO_RESET_NOTIFICATION_EXT 0x8261 526 #endif 527 528 /* GL_EXT_separate_shader_objects */ 529 #ifndef GL_EXT_separate_shader_objects 530 #define GL_VERTEX_SHADER_BIT_EXT 0x00000001 531 #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 532 #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF 533 #define GL_PROGRAM_SEPARABLE_EXT 0x8258 534 #define GL_ACTIVE_PROGRAM_EXT 0x8259 535 #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A 536 #endif 537 538 /* GL_EXT_shader_framebuffer_fetch */ 539 #ifndef GL_EXT_shader_framebuffer_fetch 540 #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 541 #endif 542 543 /* GL_EXT_shader_texture_lod */ 544 /* No new tokens introduced by this extension. */ 545 546 /* GL_EXT_shadow_samplers */ 547 #ifndef GL_EXT_shadow_samplers 548 #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C 549 #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D 550 #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E 551 #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 552 #endif 553 554 /* GL_EXT_sRGB */ 555 #ifndef GL_EXT_sRGB 556 #define GL_SRGB_EXT 0x8C40 557 #define GL_SRGB_ALPHA_EXT 0x8C42 558 #define GL_SRGB8_ALPHA8_EXT 0x8C43 559 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 560 #endif 561 562 /* GL_EXT_texture_compression_dxt1 */ 563 #ifndef GL_EXT_texture_compression_dxt1 564 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 565 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 566 #endif 567 568 /* GL_EXT_texture_filter_anisotropic */ 569 #ifndef GL_EXT_texture_filter_anisotropic 570 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 571 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 572 #endif 573 574 /* GL_EXT_texture_format_BGRA8888 */ 575 #ifndef GL_EXT_texture_format_BGRA8888 576 #define GL_BGRA_EXT 0x80E1 577 #endif 578 579 /* GL_EXT_texture_rg */ 580 #ifndef GL_EXT_texture_rg 581 #define GL_RED_EXT 0x1903 582 #define GL_RG_EXT 0x8227 583 #define GL_R8_EXT 0x8229 584 #define GL_RG8_EXT 0x822B 585 #endif 586 587 /* GL_EXT_texture_storage */ 588 #ifndef GL_EXT_texture_storage 589 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F 590 #define GL_ALPHA8_EXT 0x803C 591 #define GL_LUMINANCE8_EXT 0x8040 592 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045 593 #define GL_RGBA32F_EXT 0x8814 594 #define GL_RGB32F_EXT 0x8815 595 #define GL_ALPHA32F_EXT 0x8816 596 #define GL_LUMINANCE32F_EXT 0x8818 597 #define GL_LUMINANCE_ALPHA32F_EXT 0x8819 598 /* reuse GL_RGBA16F_EXT */ 599 /* reuse GL_RGB16F_EXT */ 600 #define GL_ALPHA16F_EXT 0x881C 601 #define GL_LUMINANCE16F_EXT 0x881E 602 #define GL_LUMINANCE_ALPHA16F_EXT 0x881F 603 #define GL_RGB10_A2_EXT 0x8059 604 #define GL_RGB10_EXT 0x8052 605 #define GL_BGRA8_EXT 0x93A1 606 #define GL_R8_EXT 0x8229 607 #define GL_RG8_EXT 0x822B 608 #define GL_R32F_EXT 0x822E 609 #define GL_RG32F_EXT 0x8230 610 #define GL_R16F_EXT 0x822D 611 #define GL_RG16F_EXT 0x822F 612 #endif 613 614 /* GL_EXT_texture_type_2_10_10_10_REV */ 615 #ifndef GL_EXT_texture_type_2_10_10_10_REV 616 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 617 #endif 618 619 /* GL_EXT_unpack_subimage */ 620 #ifndef GL_EXT_unpack_subimage 621 #define GL_UNPACK_ROW_LENGTH 0x0CF2 622 #define GL_UNPACK_SKIP_ROWS 0x0CF3 623 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 624 #endif 625 626 /*------------------------------------------------------------------------* 627 * DMP extension tokens 628 *------------------------------------------------------------------------*/ 629 630 /* GL_DMP_shader_binary */ 631 #ifndef GL_DMP_shader_binary 632 #define GL_SHADER_BINARY_DMP 0x9250 633 #endif 634 635 /*------------------------------------------------------------------------* 636 * FJ extension tokens 637 *------------------------------------------------------------------------*/ 638 639 /* GL_FJ_shader_binary_GCCSO */ 640 #ifndef GL_FJ_shader_binary_GCCSO 641 #define GCCSO_SHADER_BINARY_FJ 0x9260 642 #endif 643 644 /*------------------------------------------------------------------------* 645 * IMG extension tokens 646 *------------------------------------------------------------------------*/ 647 648 /* GL_IMG_program_binary */ 649 #ifndef GL_IMG_program_binary 650 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130 651 #endif 652 653 /* GL_IMG_read_format */ 654 #ifndef GL_IMG_read_format 655 #define GL_BGRA_IMG 0x80E1 656 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 657 #endif 658 659 /* GL_IMG_shader_binary */ 660 #ifndef GL_IMG_shader_binary 661 #define GL_SGX_BINARY_IMG 0x8C0A 662 #endif 663 664 /* GL_IMG_texture_compression_pvrtc */ 665 #ifndef GL_IMG_texture_compression_pvrtc 666 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 667 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 668 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 669 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 670 #endif 671 672 /* GL_IMG_multisampled_render_to_texture */ 673 #ifndef GL_IMG_multisampled_render_to_texture 674 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 675 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 676 #define GL_MAX_SAMPLES_IMG 0x9135 677 #define GL_TEXTURE_SAMPLES_IMG 0x9136 678 #endif 679 680 /*------------------------------------------------------------------------* 681 * NV extension tokens 682 *------------------------------------------------------------------------*/ 683 684 /* GL_NV_coverage_sample */ 685 #ifndef GL_NV_coverage_sample 686 #define GL_COVERAGE_COMPONENT_NV 0x8ED0 687 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1 688 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 689 #define GL_COVERAGE_BUFFERS_NV 0x8ED3 690 #define GL_COVERAGE_SAMPLES_NV 0x8ED4 691 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 692 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 693 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 694 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000 695 #endif 696 697 /* GL_NV_depth_nonlinear */ 698 #ifndef GL_NV_depth_nonlinear 699 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C 700 #endif 701 702 /* GL_NV_draw_buffers */ 703 #ifndef GL_NV_draw_buffers 704 #define GL_MAX_DRAW_BUFFERS_NV 0x8824 705 #define GL_DRAW_BUFFER0_NV 0x8825 706 #define GL_DRAW_BUFFER1_NV 0x8826 707 #define GL_DRAW_BUFFER2_NV 0x8827 708 #define GL_DRAW_BUFFER3_NV 0x8828 709 #define GL_DRAW_BUFFER4_NV 0x8829 710 #define GL_DRAW_BUFFER5_NV 0x882A 711 #define GL_DRAW_BUFFER6_NV 0x882B 712 #define GL_DRAW_BUFFER7_NV 0x882C 713 #define GL_DRAW_BUFFER8_NV 0x882D 714 #define GL_DRAW_BUFFER9_NV 0x882E 715 #define GL_DRAW_BUFFER10_NV 0x882F 716 #define GL_DRAW_BUFFER11_NV 0x8830 717 #define GL_DRAW_BUFFER12_NV 0x8831 718 #define GL_DRAW_BUFFER13_NV 0x8832 719 #define GL_DRAW_BUFFER14_NV 0x8833 720 #define GL_DRAW_BUFFER15_NV 0x8834 721 #define GL_COLOR_ATTACHMENT0_NV 0x8CE0 722 #define GL_COLOR_ATTACHMENT1_NV 0x8CE1 723 #define GL_COLOR_ATTACHMENT2_NV 0x8CE2 724 #define GL_COLOR_ATTACHMENT3_NV 0x8CE3 725 #define GL_COLOR_ATTACHMENT4_NV 0x8CE4 726 #define GL_COLOR_ATTACHMENT5_NV 0x8CE5 727 #define GL_COLOR_ATTACHMENT6_NV 0x8CE6 728 #define GL_COLOR_ATTACHMENT7_NV 0x8CE7 729 #define GL_COLOR_ATTACHMENT8_NV 0x8CE8 730 #define GL_COLOR_ATTACHMENT9_NV 0x8CE9 731 #define GL_COLOR_ATTACHMENT10_NV 0x8CEA 732 #define GL_COLOR_ATTACHMENT11_NV 0x8CEB 733 #define GL_COLOR_ATTACHMENT12_NV 0x8CEC 734 #define GL_COLOR_ATTACHMENT13_NV 0x8CED 735 #define GL_COLOR_ATTACHMENT14_NV 0x8CEE 736 #define GL_COLOR_ATTACHMENT15_NV 0x8CEF 737 #endif 738 739 /* GL_NV_fbo_color_attachments */ 740 #ifndef GL_NV_fbo_color_attachments 741 #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF 742 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ 743 #endif 744 745 /* GL_NV_fence */ 746 #ifndef GL_NV_fence 747 #define GL_ALL_COMPLETED_NV 0x84F2 748 #define GL_FENCE_STATUS_NV 0x84F3 749 #define GL_FENCE_CONDITION_NV 0x84F4 750 #endif 751 752 /* GL_NV_read_buffer */ 753 #ifndef GL_NV_read_buffer 754 #define GL_READ_BUFFER_NV 0x0C02 755 #endif 756 757 /* GL_NV_read_buffer_front */ 758 /* No new tokens introduced by this extension. */ 759 760 /* GL_NV_read_depth */ 761 /* No new tokens introduced by this extension. */ 762 763 /* GL_NV_read_depth_stencil */ 764 /* No new tokens introduced by this extension. */ 765 766 /* GL_NV_read_stencil */ 767 /* No new tokens introduced by this extension. */ 768 769 /* GL_NV_texture_compression_s3tc_update */ 770 /* No new tokens introduced by this extension. */ 771 772 /* GL_NV_texture_npot_2D_mipmap */ 773 /* No new tokens introduced by this extension. */ 774 775 /*------------------------------------------------------------------------* 776 * QCOM extension tokens 777 *------------------------------------------------------------------------*/ 778 779 /* GL_QCOM_alpha_test */ 780 #ifndef GL_QCOM_alpha_test 781 #define GL_ALPHA_TEST_QCOM 0x0BC0 782 #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 783 #define GL_ALPHA_TEST_REF_QCOM 0x0BC2 784 #endif 785 786 /* GL_QCOM_binning_control */ 787 #ifndef GL_QCOM_binning_control 788 #define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 789 #define GL_CPU_OPTIMIZED_QCOM 0x8FB1 790 #define GL_GPU_OPTIMIZED_QCOM 0x8FB2 791 #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 792 #endif 793 794 /* GL_QCOM_driver_control */ 795 /* No new tokens introduced by this extension. */ 796 797 /* GL_QCOM_extended_get */ 798 #ifndef GL_QCOM_extended_get 799 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2 800 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 801 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4 802 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 803 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6 804 #define GL_TEXTURE_TYPE_QCOM 0x8BD7 805 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 806 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 807 #define GL_TEXTURE_TARGET_QCOM 0x8BDA 808 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB 809 #define GL_STATE_RESTORE 0x8BDC 810 #endif 811 812 /* GL_QCOM_extended_get2 */ 813 /* No new tokens introduced by this extension. */ 814 815 /* GL_QCOM_perfmon_global_mode */ 816 #ifndef GL_QCOM_perfmon_global_mode 817 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 818 #endif 819 820 /* GL_QCOM_writeonly_rendering */ 821 #ifndef GL_QCOM_writeonly_rendering 822 #define GL_WRITEONLY_RENDERING_QCOM 0x8823 823 #endif 824 825 /* GL_QCOM_tiled_rendering */ 826 #ifndef GL_QCOM_tiled_rendering 827 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 828 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 829 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 830 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 831 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 832 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 833 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 834 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 835 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 836 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 837 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 838 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 839 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 840 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 841 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 842 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 843 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 844 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 845 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 846 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 847 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 848 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 849 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 850 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 851 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 852 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 853 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 854 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 855 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 856 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 857 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 858 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 859 #endif 860 861 /*------------------------------------------------------------------------* 862 * VIV extension tokens 863 *------------------------------------------------------------------------*/ 864 865 /* GL_VIV_shader_binary */ 866 #ifndef GL_VIV_shader_binary 867 #define GL_SHADER_BINARY_VIV 0x8FC4 868 #endif 869 870 /*------------------------------------------------------------------------* 871 * End of extension tokens, start of corresponding extension functions 872 *------------------------------------------------------------------------*/ 873 874 /*------------------------------------------------------------------------* 875 * OES extension functions 876 *------------------------------------------------------------------------*/ 877 878 /* GL_OES_compressed_ETC1_RGB8_texture */ 879 #ifndef GL_OES_compressed_ETC1_RGB8_texture 880 #define GL_OES_compressed_ETC1_RGB8_texture 1 881 #endif 882 883 /* GL_OES_compressed_paletted_texture */ 884 #ifndef GL_OES_compressed_paletted_texture 885 #define GL_OES_compressed_paletted_texture 1 886 #endif 887 888 /* GL_OES_depth24 */ 889 #ifndef GL_OES_depth24 890 #define GL_OES_depth24 1 891 #endif 892 893 /* GL_OES_depth32 */ 894 #ifndef GL_OES_depth32 895 #define GL_OES_depth32 1 896 #endif 897 898 /* GL_OES_depth_texture */ 899 #ifndef GL_OES_depth_texture 900 #define GL_OES_depth_texture 1 901 #endif 902 903 /* GL_OES_EGL_image */ 904 #ifndef GL_OES_EGL_image 905 #define GL_OES_EGL_image 1 906 #ifdef GL_GLEXT_PROTOTYPES 907 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 908 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 909 #endif 910 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 911 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 912 #endif 913 914 /* GL_OES_EGL_image_external */ 915 #ifndef GL_OES_EGL_image_external 916 #define GL_OES_EGL_image_external 1 917 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ 918 #endif 919 920 /* GL_OES_element_index_uint */ 921 #ifndef GL_OES_element_index_uint 922 #define GL_OES_element_index_uint 1 923 #endif 924 925 /* GL_OES_fbo_render_mipmap */ 926 #ifndef GL_OES_fbo_render_mipmap 927 #define GL_OES_fbo_render_mipmap 1 928 #endif 929 930 /* GL_OES_fragment_precision_high */ 931 #ifndef GL_OES_fragment_precision_high 932 #define GL_OES_fragment_precision_high 1 933 #endif 934 935 /* GL_OES_get_program_binary */ 936 #ifndef GL_OES_get_program_binary 937 #define GL_OES_get_program_binary 1 938 #ifdef GL_GLEXT_PROTOTYPES 939 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 940 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 941 #endif 942 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 943 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 944 #endif 945 946 /* GL_OES_mapbuffer */ 947 #ifndef GL_OES_mapbuffer 948 #define GL_OES_mapbuffer 1 949 #ifdef GL_GLEXT_PROTOTYPES 950 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 951 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 952 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 953 #endif 954 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 955 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 956 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); 957 #endif 958 959 /* GL_OES_packed_depth_stencil */ 960 #ifndef GL_OES_packed_depth_stencil 961 #define GL_OES_packed_depth_stencil 1 962 #endif 963 964 /* GL_OES_required_internalformat */ 965 #ifndef GL_OES_required_internalformat 966 #define GL_OES_required_internalformat 1 967 #endif 968 969 /* GL_OES_rgb8_rgba8 */ 970 #ifndef GL_OES_rgb8_rgba8 971 #define GL_OES_rgb8_rgba8 1 972 #endif 973 974 /* GL_OES_standard_derivatives */ 975 #ifndef GL_OES_standard_derivatives 976 #define GL_OES_standard_derivatives 1 977 #endif 978 979 /* GL_OES_stencil1 */ 980 #ifndef GL_OES_stencil1 981 #define GL_OES_stencil1 1 982 #endif 983 984 /* GL_OES_stencil4 */ 985 #ifndef GL_OES_stencil4 986 #define GL_OES_stencil4 1 987 #endif 988 989 #ifndef GL_OES_surfaceless_context 990 #define GL_OES_surfaceless_context 1 991 #endif 992 993 /* GL_OES_texture_3D */ 994 #ifndef GL_OES_texture_3D 995 #define GL_OES_texture_3D 1 996 #ifdef GL_GLEXT_PROTOTYPES 997 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); 998 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); 999 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 1000 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); 1001 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); 1002 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 1003 #endif 1004 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); 1005 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); 1006 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 1007 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 1008 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); 1009 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 1010 #endif 1011 1012 /* GL_OES_texture_float */ 1013 #ifndef GL_OES_texture_float 1014 #define GL_OES_texture_float 1 1015 #endif 1016 1017 /* GL_OES_texture_float_linear */ 1018 #ifndef GL_OES_texture_float_linear 1019 #define GL_OES_texture_float_linear 1 1020 #endif 1021 1022 /* GL_OES_texture_half_float */ 1023 #ifndef GL_OES_texture_half_float 1024 #define GL_OES_texture_half_float 1 1025 #endif 1026 1027 /* GL_OES_texture_half_float_linear */ 1028 #ifndef GL_OES_texture_half_float_linear 1029 #define GL_OES_texture_half_float_linear 1 1030 #endif 1031 1032 /* GL_OES_texture_npot */ 1033 #ifndef GL_OES_texture_npot 1034 #define GL_OES_texture_npot 1 1035 #endif 1036 1037 /* GL_OES_vertex_array_object */ 1038 #ifndef GL_OES_vertex_array_object 1039 #define GL_OES_vertex_array_object 1 1040 #ifdef GL_GLEXT_PROTOTYPES 1041 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 1042 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 1043 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 1044 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 1045 #endif 1046 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 1047 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 1048 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 1049 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); 1050 #endif 1051 1052 /* GL_OES_vertex_half_float */ 1053 #ifndef GL_OES_vertex_half_float 1054 #define GL_OES_vertex_half_float 1 1055 #endif 1056 1057 /* GL_OES_vertex_type_10_10_10_2 */ 1058 #ifndef GL_OES_vertex_type_10_10_10_2 1059 #define GL_OES_vertex_type_10_10_10_2 1 1060 #endif 1061 1062 /*------------------------------------------------------------------------* 1063 * KHR extension functions 1064 *------------------------------------------------------------------------*/ 1065 1066 #ifndef GL_KHR_debug 1067 #define GL_KHR_debug 1 1068 #ifdef GL_GLEXT_PROTOTYPES 1069 GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 1070 GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 1071 GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam); 1072 GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 1073 GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message); 1074 GL_APICALL void GL_APIENTRY glPopDebugGroup (void); 1075 GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 1076 GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 1077 GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label); 1078 GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 1079 GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params); 1080 #endif 1081 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 1082 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 1083 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); 1084 typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 1085 typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); 1086 typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void); 1087 typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 1088 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 1089 typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label); 1090 typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 1091 typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params); 1092 #endif 1093 1094 #ifndef GL_KHR_texture_compression_astc_ldr 1095 #define GL_KHR_texture_compression_astc_ldr 1 1096 #endif 1097 1098 1099 /*------------------------------------------------------------------------* 1100 * AMD extension functions 1101 *------------------------------------------------------------------------*/ 1102 1103 /* GL_AMD_compressed_3DC_texture */ 1104 #ifndef GL_AMD_compressed_3DC_texture 1105 #define GL_AMD_compressed_3DC_texture 1 1106 #endif 1107 1108 /* GL_AMD_compressed_ATC_texture */ 1109 #ifndef GL_AMD_compressed_ATC_texture 1110 #define GL_AMD_compressed_ATC_texture 1 1111 #endif 1112 1113 /* AMD_performance_monitor */ 1114 #ifndef GL_AMD_performance_monitor 1115 #define GL_AMD_performance_monitor 1 1116 #ifdef GL_GLEXT_PROTOTYPES 1117 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 1118 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 1119 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 1120 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 1121 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 1122 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 1123 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 1124 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 1125 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 1126 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 1127 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 1128 #endif 1129 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 1130 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 1131 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 1132 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 1133 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 1134 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 1135 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 1136 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 1137 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 1138 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 1139 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 1140 #endif 1141 1142 /* GL_AMD_program_binary_Z400 */ 1143 #ifndef GL_AMD_program_binary_Z400 1144 #define GL_AMD_program_binary_Z400 1 1145 #endif 1146 1147 /*------------------------------------------------------------------------* 1148 * ANGLE extension functions 1149 *------------------------------------------------------------------------*/ 1150 1151 /* GL_ANGLE_framebuffer_blit */ 1152 #ifndef GL_ANGLE_framebuffer_blit 1153 #define GL_ANGLE_framebuffer_blit 1 1154 #ifdef GL_GLEXT_PROTOTYPES 1155 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); 1156 #endif 1157 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); 1158 #endif 1159 1160 /* GL_ANGLE_framebuffer_multisample */ 1161 #ifndef GL_ANGLE_framebuffer_multisample 1162 #define GL_ANGLE_framebuffer_multisample 1 1163 #ifdef GL_GLEXT_PROTOTYPES 1164 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1165 #endif 1166 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1167 #endif 1168 1169 /* GL_ANGLE_instances_arrays */ 1170 #ifndef GL_ANGLE_instanced_arrays 1171 #define GL_ANGLE_instanced_arrays 1 1172 #ifdef GL_GLEXT_PROTOTYPES 1173 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1174 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 1175 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor); 1176 #endif 1177 typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1178 typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 1179 typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); 1180 #endif 1181 1182 /* GL_ANGLE_pack_reverse_row_order */ 1183 #ifndef GL_ANGLE_pack_reverse_row_order 1184 #define GL_ANGLE_pack_reverse_row_order 1 1185 #endif 1186 1187 /* GL_ANGLE_texture_compression_dxt3 */ 1188 #ifndef GL_ANGLE_texture_compression_dxt3 1189 #define GL_ANGLE_texture_compression_dxt3 1 1190 #endif 1191 1192 /* GL_ANGLE_texture_compression_dxt5 */ 1193 #ifndef GL_ANGLE_texture_compression_dxt5 1194 #define GL_ANGLE_texture_compression_dxt5 1 1195 #endif 1196 1197 /* GL_ANGLE_texture_usage */ 1198 #ifndef GL_ANGLE_texture_usage 1199 #define GL_ANGLE_texture_usage 1 1200 #endif 1201 1202 #ifndef GL_ANGLE_translated_shader_source 1203 #define GL_ANGLE_translated_shader_source 1 1204 #ifdef GL_GLEXT_PROTOTYPES 1205 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 1206 #endif 1207 typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 1208 #endif 1209 1210 /*------------------------------------------------------------------------* 1211 * APPLE extension functions 1212 *------------------------------------------------------------------------*/ 1213 1214 /* GL_APPLE_copy_texture_levels */ 1215 #ifndef GL_APPLE_copy_texture_levels 1216 #define GL_APPLE_copy_texture_levels 1 1217 #ifdef GL_GLEXT_PROTOTYPES 1218 GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 1219 #endif 1220 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 1221 #endif 1222 1223 /* GL_APPLE_framebuffer_multisample */ 1224 #ifndef GL_APPLE_framebuffer_multisample 1225 #define GL_APPLE_framebuffer_multisample 1 1226 #ifdef GL_GLEXT_PROTOTYPES 1227 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1228 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 1229 #endif /* GL_GLEXT_PROTOTYPES */ 1230 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1231 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); 1232 #endif 1233 1234 /* GL_APPLE_rgb_422 */ 1235 #ifndef GL_APPLE_rgb_422 1236 #define GL_APPLE_rgb_422 1 1237 #endif 1238 1239 /* GL_APPLE_sync */ 1240 #ifndef GL_APPLE_sync 1241 #define GL_APPLE_sync 1 1242 #ifdef GL_GLEXT_PROTOTYPES 1243 GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags); 1244 GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync); 1245 GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync); 1246 GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 1247 GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 1248 GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params); 1249 GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 1250 #endif 1251 typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); 1252 typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync); 1253 typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync); 1254 typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 1255 typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 1256 typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); 1257 typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 1258 #endif 1259 1260 /* GL_APPLE_texture_format_BGRA8888 */ 1261 #ifndef GL_APPLE_texture_format_BGRA8888 1262 #define GL_APPLE_texture_format_BGRA8888 1 1263 #endif 1264 1265 /* GL_APPLE_texture_max_level */ 1266 #ifndef GL_APPLE_texture_max_level 1267 #define GL_APPLE_texture_max_level 1 1268 #endif 1269 1270 /*------------------------------------------------------------------------* 1271 * ARM extension functions 1272 *------------------------------------------------------------------------*/ 1273 1274 /* GL_ARM_mali_program_binary */ 1275 #ifndef GL_ARM_mali_program_binary 1276 #define GL_ARM_mali_program_binary 1 1277 #endif 1278 1279 /* GL_ARM_mali_shader_binary */ 1280 #ifndef GL_ARM_mali_shader_binary 1281 #define GL_ARM_mali_shader_binary 1 1282 #endif 1283 1284 /* GL_ARM_rgba8 */ 1285 #ifndef GL_ARM_rgba8 1286 #define GL_ARM_rgba8 1 1287 #endif 1288 1289 /*------------------------------------------------------------------------* 1290 * EXT extension functions 1291 *------------------------------------------------------------------------*/ 1292 1293 /* GL_EXT_blend_minmax */ 1294 #ifndef GL_EXT_blend_minmax 1295 #define GL_EXT_blend_minmax 1 1296 #endif 1297 1298 /* GL_EXT_color_buffer_half_float */ 1299 #ifndef GL_EXT_color_buffer_half_float 1300 #define GL_EXT_color_buffer_half_float 1 1301 #endif 1302 1303 /* GL_EXT_debug_label */ 1304 #ifndef GL_EXT_debug_label 1305 #define GL_EXT_debug_label 1 1306 #ifdef GL_GLEXT_PROTOTYPES 1307 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1308 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1309 #endif 1310 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1311 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1312 #endif 1313 1314 /* GL_EXT_debug_marker */ 1315 #ifndef GL_EXT_debug_marker 1316 #define GL_EXT_debug_marker 1 1317 #ifdef GL_GLEXT_PROTOTYPES 1318 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); 1319 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); 1320 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); 1321 #endif 1322 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1323 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1324 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); 1325 #endif 1326 1327 /* GL_EXT_discard_framebuffer */ 1328 #ifndef GL_EXT_discard_framebuffer 1329 #define GL_EXT_discard_framebuffer 1 1330 #ifdef GL_GLEXT_PROTOTYPES 1331 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1332 #endif 1333 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1334 #endif 1335 1336 /* GL_EXT_map_buffer_range */ 1337 #ifndef GL_EXT_map_buffer_range 1338 #define GL_EXT_map_buffer_range 1 1339 #ifdef GL_GLEXT_PROTOTYPES 1340 GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 1341 GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length); 1342 #endif 1343 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 1344 typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); 1345 #endif 1346 1347 /* GL_EXT_multisampled_render_to_texture */ 1348 #ifndef GL_EXT_multisampled_render_to_texture 1349 #define GL_EXT_multisampled_render_to_texture 1 1350 #ifdef GL_GLEXT_PROTOTYPES 1351 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1352 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1353 #endif 1354 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1355 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1356 #endif 1357 1358 /* GL_EXT_multiview_draw_buffers */ 1359 #ifndef GL_EXT_multiview_draw_buffers 1360 #define GL_EXT_multiview_draw_buffers 1 1361 #ifdef GL_GLEXT_PROTOTYPES 1362 GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index); 1363 GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices); 1364 GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data); 1365 #endif 1366 typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); 1367 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices); 1368 typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data); 1369 #endif 1370 1371 #ifndef GL_EXT_multi_draw_arrays 1372 #define GL_EXT_multi_draw_arrays 1 1373 #ifdef GL_GLEXT_PROTOTYPES 1374 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); 1375 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 1376 #endif /* GL_GLEXT_PROTOTYPES */ 1377 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 1378 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 1379 #endif 1380 1381 /* GL_EXT_occlusion_query_boolean */ 1382 #ifndef GL_EXT_occlusion_query_boolean 1383 #define GL_EXT_occlusion_query_boolean 1 1384 #ifdef GL_GLEXT_PROTOTYPES 1385 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); 1386 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); 1387 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id); 1388 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id); 1389 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target); 1390 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); 1391 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); 1392 #endif 1393 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); 1394 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); 1395 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); 1396 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); 1397 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); 1398 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); 1399 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); 1400 #endif 1401 1402 /* GL_EXT_read_format_bgra */ 1403 #ifndef GL_EXT_read_format_bgra 1404 #define GL_EXT_read_format_bgra 1 1405 #endif 1406 1407 /* GL_EXT_robustness */ 1408 #ifndef GL_EXT_robustness 1409 #define GL_EXT_robustness 1 1410 #ifdef GL_GLEXT_PROTOTYPES 1411 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); 1412 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1413 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); 1414 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1415 #endif 1416 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); 1417 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1418 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); 1419 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1420 #endif 1421 1422 /* GL_EXT_separate_shader_objects */ 1423 #ifndef GL_EXT_separate_shader_objects 1424 #define GL_EXT_separate_shader_objects 1 1425 #ifdef GL_GLEXT_PROTOTYPES 1426 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); 1427 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); 1428 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); 1429 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); 1430 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); 1431 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); 1432 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); 1433 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); 1434 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); 1435 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); 1436 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); 1437 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); 1438 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1439 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); 1440 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); 1441 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1442 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1443 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1444 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1445 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1446 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1447 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1448 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1449 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1450 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1451 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1452 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1453 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1454 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); 1455 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1456 #endif 1457 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); 1458 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); 1459 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); 1460 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1461 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); 1462 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); 1463 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1464 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); 1465 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); 1466 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); 1467 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); 1468 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); 1469 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1470 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); 1471 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); 1472 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1473 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1474 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1475 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1476 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1477 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1478 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1479 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1480 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1481 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1482 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1483 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1484 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1485 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1486 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1487 #endif 1488 1489 /* GL_EXT_shader_framebuffer_fetch */ 1490 #ifndef GL_EXT_shader_framebuffer_fetch 1491 #define GL_EXT_shader_framebuffer_fetch 1 1492 #endif 1493 1494 /* GL_EXT_shader_texture_lod */ 1495 #ifndef GL_EXT_shader_texture_lod 1496 #define GL_EXT_shader_texture_lod 1 1497 #endif 1498 1499 /* GL_EXT_shadow_samplers */ 1500 #ifndef GL_EXT_shadow_samplers 1501 #define GL_EXT_shadow_samplers 1 1502 #endif 1503 1504 /* GL_EXT_sRGB */ 1505 #ifndef GL_EXT_sRGB 1506 #define GL_EXT_sRGB 1 1507 #endif 1508 1509 /* GL_EXT_texture_compression_dxt1 */ 1510 #ifndef GL_EXT_texture_compression_dxt1 1511 #define GL_EXT_texture_compression_dxt1 1 1512 #endif 1513 1514 /* GL_EXT_texture_filter_anisotropic */ 1515 #ifndef GL_EXT_texture_filter_anisotropic 1516 #define GL_EXT_texture_filter_anisotropic 1 1517 #endif 1518 1519 /* GL_EXT_texture_format_BGRA8888 */ 1520 #ifndef GL_EXT_texture_format_BGRA8888 1521 #define GL_EXT_texture_format_BGRA8888 1 1522 #endif 1523 1524 /* GL_EXT_texture_rg */ 1525 #ifndef GL_EXT_texture_rg 1526 #define GL_EXT_texture_rg 1 1527 #endif 1528 1529 /* GL_EXT_texture_storage */ 1530 #ifndef GL_EXT_texture_storage 1531 #define GL_EXT_texture_storage 1 1532 #ifdef GL_GLEXT_PROTOTYPES 1533 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1534 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1535 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1536 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1537 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1538 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1539 #endif 1540 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1541 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1542 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1543 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1544 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1545 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1546 #endif 1547 1548 /* GL_EXT_texture_type_2_10_10_10_REV */ 1549 #ifndef GL_EXT_texture_type_2_10_10_10_REV 1550 #define GL_EXT_texture_type_2_10_10_10_REV 1 1551 #endif 1552 1553 /* GL_EXT_unpack_subimage */ 1554 #ifndef GL_EXT_unpack_subimage 1555 #define GL_EXT_unpack_subimage 1 1556 #endif 1557 1558 /*------------------------------------------------------------------------* 1559 * DMP extension functions 1560 *------------------------------------------------------------------------*/ 1561 1562 /* GL_DMP_shader_binary */ 1563 #ifndef GL_DMP_shader_binary 1564 #define GL_DMP_shader_binary 1 1565 #endif 1566 1567 /*------------------------------------------------------------------------* 1568 * FJ extension functions 1569 *------------------------------------------------------------------------*/ 1570 1571 /* GL_FJ_shader_binary_GCCSO */ 1572 #ifndef GL_FJ_shader_binary_GCCSO 1573 #define GL_FJ_shader_binary_GCCSO 1 1574 #endif 1575 1576 /*------------------------------------------------------------------------* 1577 * IMG extension functions 1578 *------------------------------------------------------------------------*/ 1579 1580 /* GL_IMG_program_binary */ 1581 #ifndef GL_IMG_program_binary 1582 #define GL_IMG_program_binary 1 1583 #endif 1584 1585 /* GL_IMG_read_format */ 1586 #ifndef GL_IMG_read_format 1587 #define GL_IMG_read_format 1 1588 #endif 1589 1590 /* GL_IMG_shader_binary */ 1591 #ifndef GL_IMG_shader_binary 1592 #define GL_IMG_shader_binary 1 1593 #endif 1594 1595 /* GL_IMG_texture_compression_pvrtc */ 1596 #ifndef GL_IMG_texture_compression_pvrtc 1597 #define GL_IMG_texture_compression_pvrtc 1 1598 #endif 1599 1600 /* GL_IMG_multisampled_render_to_texture */ 1601 #ifndef GL_IMG_multisampled_render_to_texture 1602 #define GL_IMG_multisampled_render_to_texture 1 1603 #ifdef GL_GLEXT_PROTOTYPES 1604 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1605 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1606 #endif 1607 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1608 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1609 #endif 1610 1611 /*------------------------------------------------------------------------* 1612 * NV extension functions 1613 *------------------------------------------------------------------------*/ 1614 1615 /* GL_NV_coverage_sample */ 1616 #ifndef GL_NV_coverage_sample 1617 #define GL_NV_coverage_sample 1 1618 #ifdef GL_GLEXT_PROTOTYPES 1619 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 1620 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 1621 #endif 1622 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 1623 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); 1624 #endif 1625 1626 /* GL_NV_depth_nonlinear */ 1627 #ifndef GL_NV_depth_nonlinear 1628 #define GL_NV_depth_nonlinear 1 1629 #endif 1630 1631 /* GL_NV_draw_buffers */ 1632 #ifndef GL_NV_draw_buffers 1633 #define GL_NV_draw_buffers 1 1634 #ifdef GL_GLEXT_PROTOTYPES 1635 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); 1636 #endif 1637 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); 1638 #endif 1639 1640 /* GL_NV_fbo_color_attachments */ 1641 #ifndef GL_NV_fbo_color_attachments 1642 #define GL_NV_fbo_color_attachments 1 1643 #endif 1644 1645 /* GL_NV_fence */ 1646 #ifndef GL_NV_fence 1647 #define GL_NV_fence 1 1648 #ifdef GL_GLEXT_PROTOTYPES 1649 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 1650 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 1651 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 1652 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 1653 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 1654 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 1655 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 1656 #endif 1657 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 1658 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 1659 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 1660 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 1661 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 1662 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 1663 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 1664 #endif 1665 1666 /* GL_NV_read_buffer */ 1667 #ifndef GL_NV_read_buffer 1668 #define GL_NV_read_buffer 1 1669 #ifdef GL_GLEXT_PROTOTYPES 1670 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); 1671 #endif 1672 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); 1673 #endif 1674 1675 /* GL_NV_read_buffer_front */ 1676 #ifndef GL_NV_read_buffer_front 1677 #define GL_NV_read_buffer_front 1 1678 #endif 1679 1680 /* GL_NV_read_depth */ 1681 #ifndef GL_NV_read_depth 1682 #define GL_NV_read_depth 1 1683 #endif 1684 1685 /* GL_NV_read_depth_stencil */ 1686 #ifndef GL_NV_read_depth_stencil 1687 #define GL_NV_read_depth_stencil 1 1688 #endif 1689 1690 /* GL_NV_read_stencil */ 1691 #ifndef GL_NV_read_stencil 1692 #define GL_NV_read_stencil 1 1693 #endif 1694 1695 /* GL_NV_texture_compression_s3tc_update */ 1696 #ifndef GL_NV_texture_compression_s3tc_update 1697 #define GL_NV_texture_compression_s3tc_update 1 1698 #endif 1699 1700 /* GL_NV_texture_npot_2D_mipmap */ 1701 #ifndef GL_NV_texture_npot_2D_mipmap 1702 #define GL_NV_texture_npot_2D_mipmap 1 1703 #endif 1704 1705 /*------------------------------------------------------------------------* 1706 * QCOM extension functions 1707 *------------------------------------------------------------------------*/ 1708 1709 /* GL_QCOM_alpha_test */ 1710 #ifndef GL_QCOM_alpha_test 1711 #define GL_QCOM_alpha_test 1 1712 #ifdef GL_GLEXT_PROTOTYPES 1713 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); 1714 #endif 1715 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); 1716 #endif 1717 1718 /* GL_QCOM_binning_control */ 1719 #ifndef GL_QCOM_binning_control 1720 #define GL_QCOM_binning_control 1 1721 #endif 1722 1723 /* GL_QCOM_driver_control */ 1724 #ifndef GL_QCOM_driver_control 1725 #define GL_QCOM_driver_control 1 1726 #ifdef GL_GLEXT_PROTOTYPES 1727 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 1728 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1729 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 1730 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 1731 #endif 1732 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 1733 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1734 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1735 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1736 #endif 1737 1738 /* GL_QCOM_extended_get */ 1739 #ifndef GL_QCOM_extended_get 1740 #define GL_QCOM_extended_get 1 1741 #ifdef GL_GLEXT_PROTOTYPES 1742 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 1743 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1744 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1745 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1746 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1747 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 1748 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); 1749 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 1750 #endif 1751 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 1752 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1753 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1754 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1755 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1756 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 1757 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); 1758 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); 1759 #endif 1760 1761 /* GL_QCOM_extended_get2 */ 1762 #ifndef GL_QCOM_extended_get2 1763 #define GL_QCOM_extended_get2 1 1764 #ifdef GL_GLEXT_PROTOTYPES 1765 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1766 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1767 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 1768 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1769 #endif 1770 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1771 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1772 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 1773 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1774 #endif 1775 1776 /* GL_QCOM_perfmon_global_mode */ 1777 #ifndef GL_QCOM_perfmon_global_mode 1778 #define GL_QCOM_perfmon_global_mode 1 1779 #endif 1780 1781 /* GL_QCOM_writeonly_rendering */ 1782 #ifndef GL_QCOM_writeonly_rendering 1783 #define GL_QCOM_writeonly_rendering 1 1784 #endif 1785 1786 /* GL_QCOM_tiled_rendering */ 1787 #ifndef GL_QCOM_tiled_rendering 1788 #define GL_QCOM_tiled_rendering 1 1789 #ifdef GL_GLEXT_PROTOTYPES 1790 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1791 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 1792 #endif 1793 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1794 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); 1795 #endif 1796 1797 /*------------------------------------------------------------------------* 1798 * VIV extension tokens 1799 *------------------------------------------------------------------------*/ 1800 1801 /* GL_VIV_shader_binary */ 1802 #ifndef GL_VIV_shader_binary 1803 #define GL_VIV_shader_binary 1 1804 #endif 1805 1806 #ifdef __cplusplus 1807 } 1808 #endif 1809 1810 #endif /* __gl2ext_h_ */ 1811