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