4 /* $Revision: 18481 $ on $Date:: 2012-07-11 18:07:26 -0700 #$ */
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/ .
16 # define GL_APIENTRYP GL_APIENTRY*
19 /*------------------------------------------------------------------------*
20 * OES extension tokens
21 *------------------------------------------------------------------------*/
23 /* GL_OES_compressed_ETC1_RGB8_texture */
24 #ifndef GL_OES_compressed_ETC1_RGB8_texture
25 #define GL_ETC1_RGB8_OES 0x8D64
28 /* GL_OES_compressed_paletted_texture */
29 #ifndef GL_OES_compressed_paletted_texture
30 #define GL_PALETTE4_RGB8_OES 0x8B90
31 #define GL_PALETTE4_RGBA8_OES 0x8B91
32 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92
33 #define GL_PALETTE4_RGBA4_OES 0x8B93
34 #define GL_PALETTE4_RGB5_A1_OES 0x8B94
35 #define GL_PALETTE8_RGB8_OES 0x8B95
36 #define GL_PALETTE8_RGBA8_OES 0x8B96
37 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97
38 #define GL_PALETTE8_RGBA4_OES 0x8B98
39 #define GL_PALETTE8_RGB5_A1_OES 0x8B99
43 #ifndef GL_OES_depth24
44 #define GL_DEPTH_COMPONENT24_OES 0x81A6
48 #ifndef GL_OES_depth32
49 #define GL_DEPTH_COMPONENT32_OES 0x81A7
52 /* GL_OES_depth_texture */
53 /* No new tokens introduced by this extension. */
55 /* GL_OES_EGL_image */
56 #ifndef GL_OES_EGL_image
57 typedef void* GLeglImageOES;
60 /* GL_OES_EGL_image_external */
61 #ifndef GL_OES_EGL_image_external
62 /* GLeglImageOES defined in GL_OES_EGL_image already. */
63 #define GL_TEXTURE_EXTERNAL_OES 0x8D65
64 #define GL_SAMPLER_EXTERNAL_OES 0x8D66
65 #define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
66 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
69 /* GL_OES_element_index_uint */
70 #ifndef GL_OES_element_index_uint
71 #define GL_UNSIGNED_INT 0x1405
74 /* GL_OES_get_program_binary */
75 #ifndef GL_OES_get_program_binary
76 #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
77 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
78 #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
81 /* GL_OES_mapbuffer */
82 #ifndef GL_OES_mapbuffer
83 #define GL_WRITE_ONLY_OES 0x88B9
84 #define GL_BUFFER_ACCESS_OES 0x88BB
85 #define GL_BUFFER_MAPPED_OES 0x88BC
86 #define GL_BUFFER_MAP_POINTER_OES 0x88BD
89 /* GL_OES_packed_depth_stencil */
90 #ifndef GL_OES_packed_depth_stencil
91 #define GL_DEPTH_STENCIL_OES 0x84F9
92 #define GL_UNSIGNED_INT_24_8_OES 0x84FA
93 #define GL_DEPTH24_STENCIL8_OES 0x88F0
96 /* GL_OES_required_internalformat */
97 /* No new tokens introduced by this extension. */
99 /* GL_OES_rgb8_rgba8 */
100 #ifndef GL_OES_rgb8_rgba8
101 #define GL_RGB8_OES 0x8051
102 #define GL_RGBA8_OES 0x8058
105 /* GL_OES_standard_derivatives */
106 #ifndef GL_OES_standard_derivatives
107 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
110 /* GL_OES_stencil1 */
111 #ifndef GL_OES_stencil1
112 #define GL_STENCIL_INDEX1_OES 0x8D46
115 /* GL_OES_stencil4 */
116 #ifndef GL_OES_stencil4
117 #define GL_STENCIL_INDEX4_OES 0x8D47
120 /* GL_OES_texture_3D */
121 #ifndef GL_OES_texture_3D
122 #define GL_TEXTURE_WRAP_R_OES 0x8072
123 #define GL_TEXTURE_3D_OES 0x806F
124 #define GL_TEXTURE_BINDING_3D_OES 0x806A
125 #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
126 #define GL_SAMPLER_3D_OES 0x8B5F
127 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
130 /* GL_OES_texture_float */
131 /* No new tokens introduced by this extension. */
133 /* GL_OES_texture_float_linear */
134 /* No new tokens introduced by this extension. */
136 /* GL_OES_texture_half_float */
137 #ifndef GL_OES_texture_half_float
138 #define GL_HALF_FLOAT_OES 0x8D61
141 /* GL_OES_texture_half_float_linear */
142 /* No new tokens introduced by this extension. */
144 /* GL_OES_texture_npot */
145 /* No new tokens introduced by this extension. */
147 /* GL_OES_vertex_array_object */
148 #ifndef GL_OES_vertex_array_object
149 #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
152 /* GL_OES_vertex_half_float */
153 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
155 /* GL_OES_vertex_type_10_10_10_2 */
156 #ifndef GL_OES_vertex_type_10_10_10_2
157 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
158 #define GL_INT_10_10_10_2_OES 0x8DF7
161 /*------------------------------------------------------------------------*
162 * AMD extension tokens
163 *------------------------------------------------------------------------*/
165 /* GL_AMD_compressed_3DC_texture */
166 #ifndef GL_AMD_compressed_3DC_texture
167 #define GL_3DC_X_AMD 0x87F9
168 #define GL_3DC_XY_AMD 0x87FA
171 /* GL_AMD_compressed_ATC_texture */
172 #ifndef GL_AMD_compressed_ATC_texture
173 #define GL_ATC_RGB_AMD 0x8C92
174 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
175 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
178 /* GL_AMD_performance_monitor */
179 #ifndef GL_AMD_performance_monitor
180 #define GL_COUNTER_TYPE_AMD 0x8BC0
181 #define GL_COUNTER_RANGE_AMD 0x8BC1
182 #define GL_UNSIGNED_INT64_AMD 0x8BC2
183 #define GL_PERCENTAGE_AMD 0x8BC3
184 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
185 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
186 #define GL_PERFMON_RESULT_AMD 0x8BC6
189 /* GL_AMD_program_binary_Z400 */
190 #ifndef GL_AMD_program_binary_Z400
191 #define GL_Z400_BINARY_AMD 0x8740
194 /*------------------------------------------------------------------------*
195 * ANGLE extension tokens
196 *------------------------------------------------------------------------*/
198 /* GL_ANGLE_framebuffer_blit */
199 #ifndef GL_ANGLE_framebuffer_blit
200 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
201 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
202 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
203 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
206 /* GL_ANGLE_framebuffer_multisample */
207 #ifndef GL_ANGLE_framebuffer_multisample
208 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
209 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
210 #define GL_MAX_SAMPLES_ANGLE 0x8D57
213 /* GL_ANGLE_instanced_arrays */
214 #ifndef GL_ANGLE_instanced_arrays
215 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
218 /* GL_ANGLE_pack_reverse_row_order */
219 #ifndef GL_ANGLE_pack_reverse_row_order
220 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
223 /* GL_ANGLE_texture_compression_dxt3 */
224 #ifndef GL_ANGLE_texture_compression_dxt3
225 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
228 /* GL_ANGLE_texture_compression_dxt5 */
229 #ifndef GL_ANGLE_texture_compression_dxt5
230 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
233 /* GL_ANGLE_texture_usage */
234 #ifndef GL_ANGLE_texture_usage
235 #define GL_TEXTURE_USAGE_ANGLE 0x93A2
236 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
239 /* GL_ANGLE_translated_shader_source */
240 #ifndef GL_ANGLE_translated_shader_source
241 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
244 /*------------------------------------------------------------------------*
245 * APPLE extension tokens
246 *------------------------------------------------------------------------*/
248 /* GL_APPLE_rgb_422 */
249 #ifndef GL_APPLE_rgb_422
250 #define GL_RGB_422_APPLE 0x8A1F
251 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
252 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
255 /* GL_APPLE_framebuffer_multisample */
256 #ifndef GL_APPLE_framebuffer_multisample
257 #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
258 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
259 #define GL_MAX_SAMPLES_APPLE 0x8D57
260 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
261 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
262 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
263 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
266 /* GL_APPLE_texture_format_BGRA8888 */
267 #ifndef GL_APPLE_texture_format_BGRA8888
268 #define GL_BGRA_EXT 0x80E1
271 /* GL_APPLE_texture_max_level */
272 #ifndef GL_APPLE_texture_max_level
273 #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
276 /*------------------------------------------------------------------------*
277 * ARM extension tokens
278 *------------------------------------------------------------------------*/
280 /* GL_ARM_mali_shader_binary */
281 #ifndef GL_ARM_mali_shader_binary
282 #define GL_MALI_SHADER_BINARY_ARM 0x8F60
286 /* No new tokens introduced by this extension. */
288 /*------------------------------------------------------------------------*
289 * EXT extension tokens
290 *------------------------------------------------------------------------*/
292 /* GL_EXT_blend_minmax */
293 #ifndef GL_EXT_blend_minmax
294 #define GL_MIN_EXT 0x8007
295 #define GL_MAX_EXT 0x8008
298 /* GL_EXT_color_buffer_half_float */
299 #ifndef GL_EXT_color_buffer_half_float
300 #define GL_RGBA16F_EXT 0x881A
301 #define GL_RGB16F_EXT 0x881B
302 #define GL_RG16F_EXT 0x822F
303 #define GL_R16F_EXT 0x822D
304 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
305 #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
308 /* GL_EXT_debug_label */
309 #ifndef GL_EXT_debug_label
310 #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
311 #define GL_PROGRAM_OBJECT_EXT 0x8B40
312 #define GL_SHADER_OBJECT_EXT 0x8B48
313 #define GL_BUFFER_OBJECT_EXT 0x9151
314 #define GL_QUERY_OBJECT_EXT 0x9153
315 #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
318 /* GL_EXT_debug_marker */
319 /* No new tokens introduced by this extension. */
321 /* GL_EXT_discard_framebuffer */
322 #ifndef GL_EXT_discard_framebuffer
323 #define GL_COLOR_EXT 0x1800
324 #define GL_DEPTH_EXT 0x1801
325 #define GL_STENCIL_EXT 0x1802
328 /* GL_EXT_multisampled_render_to_texture */
329 #ifndef GL_EXT_multisampled_render_to_texture
330 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
331 /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
332 #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
333 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
334 #define GL_MAX_SAMPLES_EXT 0x8D57
337 /* GL_EXT_multi_draw_arrays */
338 /* No new tokens introduced by this extension. */
340 /* GL_EXT_occlusion_query_boolean */
341 #ifndef GL_EXT_occlusion_query_boolean
342 #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
343 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
344 #define GL_CURRENT_QUERY_EXT 0x8865
345 #define GL_QUERY_RESULT_EXT 0x8866
346 #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
349 /* GL_EXT_read_format_bgra */
350 #ifndef GL_EXT_read_format_bgra
351 #define GL_BGRA_EXT 0x80E1
352 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
353 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
356 /* GL_EXT_robustness */
357 #ifndef GL_EXT_robustness
358 /* reuse GL_NO_ERROR */
359 #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
360 #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
361 #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
362 #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
363 #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
364 #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
365 #define GL_NO_RESET_NOTIFICATION_EXT 0x8261
368 /* GL_EXT_separate_shader_objects */
369 #ifndef GL_EXT_separate_shader_objects
370 #define GL_VERTEX_SHADER_BIT_EXT 0x00000001
371 #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
372 #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
373 #define GL_PROGRAM_SEPARABLE_EXT 0x8258
374 #define GL_ACTIVE_PROGRAM_EXT 0x8259
375 #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
378 /* GL_EXT_shader_texture_lod */
379 /* No new tokens introduced by this extension. */
381 /* GL_EXT_shadow_samplers */
382 #ifndef GL_EXT_shadow_samplers
383 #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
384 #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
385 #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
386 #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
391 #define GL_SRGB_EXT 0x8C40
392 #define GL_SRGB_ALPHA_EXT 0x8C42
393 #define GL_SRGB8_ALPHA8_EXT 0x8C43
394 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
397 /* GL_EXT_texture_compression_dxt1 */
398 #ifndef GL_EXT_texture_compression_dxt1
399 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
400 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
403 /* GL_EXT_texture_filter_anisotropic */
404 #ifndef GL_EXT_texture_filter_anisotropic
405 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
406 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
409 /* GL_EXT_texture_format_BGRA8888 */
410 #ifndef GL_EXT_texture_format_BGRA8888
411 #define GL_BGRA_EXT 0x80E1
414 /* GL_EXT_texture_rg */
415 #ifndef GL_EXT_texture_rg
416 #define GL_RED_EXT 0x1903
417 #define GL_RG_EXT 0x8227
418 #define GL_R8_EXT 0x8229
419 #define GL_RG8_EXT 0x822B
422 /* GL_EXT_texture_storage */
423 #ifndef GL_EXT_texture_storage
424 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
425 #define GL_ALPHA8_EXT 0x803C
426 #define GL_LUMINANCE8_EXT 0x8040
427 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045
428 #define GL_RGBA32F_EXT 0x8814
429 #define GL_RGB32F_EXT 0x8815
430 #define GL_ALPHA32F_EXT 0x8816
431 #define GL_LUMINANCE32F_EXT 0x8818
432 #define GL_LUMINANCE_ALPHA32F_EXT 0x8819
433 /* reuse GL_RGBA16F_EXT */
434 /* reuse GL_RGB16F_EXT */
435 #define GL_ALPHA16F_EXT 0x881C
436 #define GL_LUMINANCE16F_EXT 0x881E
437 #define GL_LUMINANCE_ALPHA16F_EXT 0x881F
438 #define GL_RGB10_A2_EXT 0x8059
439 #define GL_RGB10_EXT 0x8052
440 #define GL_BGRA8_EXT 0x93A1
441 #define GL_R8_EXT 0x8229
442 #define GL_RG8_EXT 0x822B
443 #define GL_R32F_EXT 0x822E
444 #define GL_RG32F_EXT 0x8230
445 #define GL_R16F_EXT 0x822D
446 #define GL_RG16F_EXT 0x822F
449 /* GL_EXT_texture_type_2_10_10_10_REV */
450 #ifndef GL_EXT_texture_type_2_10_10_10_REV
451 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
454 /* GL_EXT_unpack_subimage */
455 #ifndef GL_EXT_unpack_subimage
456 #define GL_UNPACK_ROW_LENGTH 0x0CF2
457 #define GL_UNPACK_SKIP_ROWS 0x0CF3
458 #define GL_UNPACK_SKIP_PIXELS 0x0CF4
461 /*------------------------------------------------------------------------*
462 * DMP extension tokens
463 *------------------------------------------------------------------------*/
465 /* GL_DMP_shader_binary */
466 #ifndef GL_DMP_shader_binary
467 #define GL_SHADER_BINARY_DMP 0x9250
470 /*------------------------------------------------------------------------*
471 * FJ extension tokens
472 *------------------------------------------------------------------------*/
474 /* GL_FJ_shader_binary_GCCSO */
475 #ifndef GL_FJ_shader_binary_GCCSO
476 #define GCCSO_SHADER_BINARY_FJ 0x9260
479 /*------------------------------------------------------------------------*
480 * IMG extension tokens
481 *------------------------------------------------------------------------*/
483 /* GL_IMG_program_binary */
484 #ifndef GL_IMG_program_binary
485 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130
488 /* GL_IMG_read_format */
489 #ifndef GL_IMG_read_format
490 #define GL_BGRA_IMG 0x80E1
491 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
494 /* GL_IMG_shader_binary */
495 #ifndef GL_IMG_shader_binary
496 #define GL_SGX_BINARY_IMG 0x8C0A
499 /* GL_IMG_texture_compression_pvrtc */
500 #ifndef GL_IMG_texture_compression_pvrtc
501 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
502 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
503 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
504 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
507 /* GL_IMG_multisampled_render_to_texture */
508 #ifndef GL_IMG_multisampled_render_to_texture
509 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
510 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
511 #define GL_MAX_SAMPLES_IMG 0x9135
512 #define GL_TEXTURE_SAMPLES_IMG 0x9136
515 /*------------------------------------------------------------------------*
516 * NV extension tokens
517 *------------------------------------------------------------------------*/
519 /* GL_NV_coverage_sample */
520 #ifndef GL_NV_coverage_sample
521 #define GL_COVERAGE_COMPONENT_NV 0x8ED0
522 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1
523 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
524 #define GL_COVERAGE_BUFFERS_NV 0x8ED3
525 #define GL_COVERAGE_SAMPLES_NV 0x8ED4
526 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
527 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
528 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
529 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000
532 /* GL_NV_depth_nonlinear */
533 #ifndef GL_NV_depth_nonlinear
534 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
537 /* GL_NV_draw_buffers */
538 #ifndef GL_NV_draw_buffers
539 #define GL_MAX_DRAW_BUFFERS_NV 0x8824
540 #define GL_DRAW_BUFFER0_NV 0x8825
541 #define GL_DRAW_BUFFER1_NV 0x8826
542 #define GL_DRAW_BUFFER2_NV 0x8827
543 #define GL_DRAW_BUFFER3_NV 0x8828
544 #define GL_DRAW_BUFFER4_NV 0x8829
545 #define GL_DRAW_BUFFER5_NV 0x882A
546 #define GL_DRAW_BUFFER6_NV 0x882B
547 #define GL_DRAW_BUFFER7_NV 0x882C
548 #define GL_DRAW_BUFFER8_NV 0x882D
549 #define GL_DRAW_BUFFER9_NV 0x882E
550 #define GL_DRAW_BUFFER10_NV 0x882F
551 #define GL_DRAW_BUFFER11_NV 0x8830
552 #define GL_DRAW_BUFFER12_NV 0x8831
553 #define GL_DRAW_BUFFER13_NV 0x8832
554 #define GL_DRAW_BUFFER14_NV 0x8833
555 #define GL_DRAW_BUFFER15_NV 0x8834
556 #define GL_COLOR_ATTACHMENT0_NV 0x8CE0
557 #define GL_COLOR_ATTACHMENT1_NV 0x8CE1
558 #define GL_COLOR_ATTACHMENT2_NV 0x8CE2
559 #define GL_COLOR_ATTACHMENT3_NV 0x8CE3
560 #define GL_COLOR_ATTACHMENT4_NV 0x8CE4
561 #define GL_COLOR_ATTACHMENT5_NV 0x8CE5
562 #define GL_COLOR_ATTACHMENT6_NV 0x8CE6
563 #define GL_COLOR_ATTACHMENT7_NV 0x8CE7
564 #define GL_COLOR_ATTACHMENT8_NV 0x8CE8
565 #define GL_COLOR_ATTACHMENT9_NV 0x8CE9
566 #define GL_COLOR_ATTACHMENT10_NV 0x8CEA
567 #define GL_COLOR_ATTACHMENT11_NV 0x8CEB
568 #define GL_COLOR_ATTACHMENT12_NV 0x8CEC
569 #define GL_COLOR_ATTACHMENT13_NV 0x8CED
570 #define GL_COLOR_ATTACHMENT14_NV 0x8CEE
571 #define GL_COLOR_ATTACHMENT15_NV 0x8CEF
574 /* GL_NV_fbo_color_attachments */
575 #ifndef GL_NV_fbo_color_attachments
576 #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
577 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
582 #define GL_ALL_COMPLETED_NV 0x84F2
583 #define GL_FENCE_STATUS_NV 0x84F3
584 #define GL_FENCE_CONDITION_NV 0x84F4
587 /* GL_NV_read_buffer */
588 #ifndef GL_NV_read_buffer
589 #define GL_READ_BUFFER_NV 0x0C02
592 /* GL_NV_read_buffer_front */
593 /* No new tokens introduced by this extension. */
595 /* GL_NV_read_depth */
596 /* No new tokens introduced by this extension. */
598 /* GL_NV_read_depth_stencil */
599 /* No new tokens introduced by this extension. */
601 /* GL_NV_read_stencil */
602 /* No new tokens introduced by this extension. */
604 /* GL_NV_texture_compression_s3tc_update */
605 /* No new tokens introduced by this extension. */
607 /* GL_NV_texture_npot_2D_mipmap */
608 /* No new tokens introduced by this extension. */
610 /*------------------------------------------------------------------------*
611 * QCOM extension tokens
612 *------------------------------------------------------------------------*/
614 /* GL_QCOM_alpha_test */
615 #ifndef GL_QCOM_alpha_test
616 #define GL_ALPHA_TEST_QCOM 0x0BC0
617 #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
618 #define GL_ALPHA_TEST_REF_QCOM 0x0BC2
621 /* GL_QCOM_driver_control */
622 /* No new tokens introduced by this extension. */
624 /* GL_QCOM_extended_get */
625 #ifndef GL_QCOM_extended_get
626 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2
627 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
628 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4
629 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
630 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6
631 #define GL_TEXTURE_TYPE_QCOM 0x8BD7
632 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
633 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
634 #define GL_TEXTURE_TARGET_QCOM 0x8BDA
635 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
636 #define GL_STATE_RESTORE 0x8BDC
639 /* GL_QCOM_extended_get2 */
640 /* No new tokens introduced by this extension. */
642 /* GL_QCOM_perfmon_global_mode */
643 #ifndef GL_QCOM_perfmon_global_mode
644 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
647 /* GL_QCOM_writeonly_rendering */
648 #ifndef GL_QCOM_writeonly_rendering
649 #define GL_WRITEONLY_RENDERING_QCOM 0x8823
652 /* GL_QCOM_tiled_rendering */
653 #ifndef GL_QCOM_tiled_rendering
654 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
655 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
656 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
657 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
658 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
659 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
660 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
661 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
662 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
663 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
664 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
665 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
666 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
667 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
668 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
669 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
670 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
671 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
672 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
673 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
674 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
675 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
676 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
677 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
678 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
679 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
680 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
681 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
682 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
683 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
684 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
685 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
688 /*------------------------------------------------------------------------*
689 * VIV extension tokens
690 *------------------------------------------------------------------------*/
692 /* GL_VIV_shader_binary */
693 #ifndef GL_VIV_shader_binary
694 #define GL_SHADER_BINARY_VIV 0x8FC4
697 /*------------------------------------------------------------------------*
698 * End of extension tokens, start of corresponding extension functions
699 *------------------------------------------------------------------------*/
701 /*------------------------------------------------------------------------*
702 * OES extension functions
703 *------------------------------------------------------------------------*/
705 /* GL_OES_compressed_ETC1_RGB8_texture */
706 #ifndef GL_OES_compressed_ETC1_RGB8_texture
707 #define GL_OES_compressed_ETC1_RGB8_texture 1
710 /* GL_OES_compressed_paletted_texture */
711 #ifndef GL_OES_compressed_paletted_texture
712 #define GL_OES_compressed_paletted_texture 1
716 #ifndef GL_OES_depth24
717 #define GL_OES_depth24 1
721 #ifndef GL_OES_depth32
722 #define GL_OES_depth32 1
725 /* GL_OES_depth_texture */
726 #ifndef GL_OES_depth_texture
727 #define GL_OES_depth_texture 1
730 /* GL_OES_EGL_image */
731 #ifndef GL_OES_EGL_image
732 #define GL_OES_EGL_image 1
733 #ifdef GL_GLEXT_PROTOTYPES
734 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
735 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
737 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
738 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
741 /* GL_OES_EGL_image_external */
742 #ifndef GL_OES_EGL_image_external
743 #define GL_OES_EGL_image_external 1
744 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
747 /* GL_OES_element_index_uint */
748 #ifndef GL_OES_element_index_uint
749 #define GL_OES_element_index_uint 1
752 /* GL_OES_fbo_render_mipmap */
753 #ifndef GL_OES_fbo_render_mipmap
754 #define GL_OES_fbo_render_mipmap 1
757 /* GL_OES_fragment_precision_high */
758 #ifndef GL_OES_fragment_precision_high
759 #define GL_OES_fragment_precision_high 1
762 /* GL_OES_get_program_binary */
763 #ifndef GL_OES_get_program_binary
764 #define GL_OES_get_program_binary 1
765 #ifdef GL_GLEXT_PROTOTYPES
766 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
767 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
769 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
770 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
773 /* GL_OES_mapbuffer */
774 #ifndef GL_OES_mapbuffer
775 #define GL_OES_mapbuffer 1
776 #ifdef GL_GLEXT_PROTOTYPES
777 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
778 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
779 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
781 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
782 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
783 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
786 /* GL_OES_packed_depth_stencil */
787 #ifndef GL_OES_packed_depth_stencil
788 #define GL_OES_packed_depth_stencil 1
791 /* GL_OES_required_internalformat */
792 #ifndef GL_OES_required_internalformat
793 #define GL_OES_required_internalformat 1
796 /* GL_OES_rgb8_rgba8 */
797 #ifndef GL_OES_rgb8_rgba8
798 #define GL_OES_rgb8_rgba8 1
801 /* GL_OES_standard_derivatives */
802 #ifndef GL_OES_standard_derivatives
803 #define GL_OES_standard_derivatives 1
806 /* GL_OES_stencil1 */
807 #ifndef GL_OES_stencil1
808 #define GL_OES_stencil1 1
811 /* GL_OES_stencil4 */
812 #ifndef GL_OES_stencil4
813 #define GL_OES_stencil4 1
816 /* GL_OES_texture_3D */
817 #ifndef GL_OES_texture_3D
818 #define GL_OES_texture_3D 1
819 #ifdef GL_GLEXT_PROTOTYPES
820 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);
821 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);
822 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
823 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);
824 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);
825 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
827 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);
828 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);
829 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
830 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
831 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);
832 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
835 /* GL_OES_texture_float */
836 #ifndef GL_OES_texture_float
837 #define GL_OES_texture_float 1
840 /* GL_OES_texture_float_linear */
841 #ifndef GL_OES_texture_float_linear
842 #define GL_OES_texture_float_linear 1
845 /* GL_OES_texture_half_float */
846 #ifndef GL_OES_texture_half_float
847 #define GL_OES_texture_half_float 1
850 /* GL_OES_texture_half_float_linear */
851 #ifndef GL_OES_texture_half_float_linear
852 #define GL_OES_texture_half_float_linear 1
855 /* GL_OES_texture_npot */
856 #ifndef GL_OES_texture_npot
857 #define GL_OES_texture_npot 1
860 /* GL_OES_vertex_array_object */
861 #ifndef GL_OES_vertex_array_object
862 #define GL_OES_vertex_array_object 1
863 #ifdef GL_GLEXT_PROTOTYPES
864 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
865 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
866 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
867 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
869 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
870 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
871 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
872 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
875 /* GL_OES_vertex_half_float */
876 #ifndef GL_OES_vertex_half_float
877 #define GL_OES_vertex_half_float 1
880 /* GL_OES_vertex_type_10_10_10_2 */
881 #ifndef GL_OES_vertex_type_10_10_10_2
882 #define GL_OES_vertex_type_10_10_10_2 1
885 /*------------------------------------------------------------------------*
886 * AMD extension functions
887 *------------------------------------------------------------------------*/
889 /* GL_AMD_compressed_3DC_texture */
890 #ifndef GL_AMD_compressed_3DC_texture
891 #define GL_AMD_compressed_3DC_texture 1
894 /* GL_AMD_compressed_ATC_texture */
895 #ifndef GL_AMD_compressed_ATC_texture
896 #define GL_AMD_compressed_ATC_texture 1
899 /* AMD_performance_monitor */
900 #ifndef GL_AMD_performance_monitor
901 #define GL_AMD_performance_monitor 1
902 #ifdef GL_GLEXT_PROTOTYPES
903 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
904 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
905 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
906 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
907 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
908 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
909 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
910 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
911 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
912 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
913 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
915 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
916 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
917 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
918 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
919 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
920 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
921 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
922 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
923 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
924 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
925 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
928 /* GL_AMD_program_binary_Z400 */
929 #ifndef GL_AMD_program_binary_Z400
930 #define GL_AMD_program_binary_Z400 1
933 /*------------------------------------------------------------------------*
934 * ANGLE extension functions
935 *------------------------------------------------------------------------*/
937 /* GL_ANGLE_framebuffer_blit */
938 #ifndef GL_ANGLE_framebuffer_blit
939 #define GL_ANGLE_framebuffer_blit 1
940 #ifdef GL_GLEXT_PROTOTYPES
941 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);
943 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);
946 /* GL_ANGLE_framebuffer_multisample */
947 #ifndef GL_ANGLE_framebuffer_multisample
948 #define GL_ANGLE_framebuffer_multisample 1
949 #ifdef GL_GLEXT_PROTOTYPES
950 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
952 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
955 #ifndef GL_ANGLE_instanced_arrays
956 #ifdef GL_GLEXT_PROTOTYPES
957 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
958 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
959 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
961 typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
962 typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
963 typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
966 /* GL_ANGLE_pack_reverse_row_order */
967 #ifndef GL_ANGLE_pack_reverse_row_order
968 #define GL_ANGLE_pack_reverse_row_order 1
971 /* GL_ANGLE_texture_compression_dxt3 */
972 #ifndef GL_ANGLE_texture_compression_dxt3
973 #define GL_ANGLE_texture_compression_dxt3 1
976 /* GL_ANGLE_texture_compression_dxt5 */
977 #ifndef GL_ANGLE_texture_compression_dxt5
978 #define GL_ANGLE_texture_compression_dxt5 1
981 /* GL_ANGLE_texture_usage */
982 #ifndef GL_ANGLE_texture_usage
983 #define GL_ANGLE_texture_usage 1
986 #ifndef GL_ANGLE_translated_shader_source
987 #define GL_ANGLE_translated_shader_source 1
988 #ifdef GL_GLEXT_PROTOTYPES
989 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
991 typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
994 /*------------------------------------------------------------------------*
995 * APPLE extension functions
996 *------------------------------------------------------------------------*/
998 /* GL_APPLE_rgb_422 */
999 #ifndef GL_APPLE_rgb_422
1000 #define GL_APPLE_rgb_422 1
1003 /* GL_APPLE_framebuffer_multisample */
1004 #ifndef GL_APPLE_framebuffer_multisample
1005 #define GL_APPLE_framebuffer_multisample 1
1006 #ifdef GL_GLEXT_PROTOTYPES
1007 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1008 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
1009 #endif /* GL_GLEXT_PROTOTYPES */
1010 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1011 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
1014 /* GL_APPLE_texture_format_BGRA8888 */
1015 #ifndef GL_APPLE_texture_format_BGRA8888
1016 #define GL_APPLE_texture_format_BGRA8888 1
1019 /* GL_APPLE_texture_max_level */
1020 #ifndef GL_APPLE_texture_max_level
1021 #define GL_APPLE_texture_max_level 1
1024 /*------------------------------------------------------------------------*
1025 * ARM extension functions
1026 *------------------------------------------------------------------------*/
1028 /* GL_ARM_mali_shader_binary */
1029 #ifndef GL_ARM_mali_shader_binary
1030 #define GL_ARM_mali_shader_binary 1
1034 #ifndef GL_ARM_rgba8
1035 #define GL_ARM_rgba8 1
1038 /*------------------------------------------------------------------------*
1039 * EXT extension functions
1040 *------------------------------------------------------------------------*/
1042 /* GL_EXT_blend_minmax */
1043 #ifndef GL_EXT_blend_minmax
1044 #define GL_EXT_blend_minmax 1
1047 /* GL_EXT_color_buffer_half_float */
1048 #ifndef GL_EXT_color_buffer_half_float
1049 #define GL_EXT_color_buffer_half_float 1
1052 /* GL_EXT_debug_label */
1053 #ifndef GL_EXT_debug_label
1054 #define GL_EXT_debug_label 1
1055 #ifdef GL_GLEXT_PROTOTYPES
1056 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1057 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
1059 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1060 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
1063 /* GL_EXT_debug_marker */
1064 #ifndef GL_EXT_debug_marker
1065 #define GL_EXT_debug_marker 1
1066 #ifdef GL_GLEXT_PROTOTYPES
1067 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
1068 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
1069 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
1071 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1072 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1073 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
1076 /* GL_EXT_discard_framebuffer */
1077 #ifndef GL_EXT_discard_framebuffer
1078 #define GL_EXT_discard_framebuffer 1
1079 #ifdef GL_GLEXT_PROTOTYPES
1080 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1082 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1085 /* GL_EXT_multisampled_render_to_texture */
1086 #ifndef GL_EXT_multisampled_render_to_texture
1087 #define GL_EXT_multisampled_render_to_texture 1
1088 #ifdef GL_GLEXT_PROTOTYPES
1089 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1090 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
1092 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1093 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1096 #ifndef GL_EXT_multi_draw_arrays
1097 #define GL_EXT_multi_draw_arrays 1
1098 #ifdef GL_GLEXT_PROTOTYPES
1099 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
1100 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
1101 #endif /* GL_GLEXT_PROTOTYPES */
1102 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
1103 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
1106 /* GL_EXT_occlusion_query_boolean */
1107 #ifndef GL_EXT_occlusion_query_boolean
1108 #define GL_EXT_occlusion_query_boolean 1
1109 #ifdef GL_GLEXT_PROTOTYPES
1110 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
1111 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
1112 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
1113 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
1114 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
1115 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
1116 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
1118 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
1119 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
1120 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
1121 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
1122 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
1123 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
1124 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
1127 /* GL_EXT_read_format_bgra */
1128 #ifndef GL_EXT_read_format_bgra
1129 #define GL_EXT_read_format_bgra 1
1132 /* GL_EXT_robustness */
1133 #ifndef GL_EXT_robustness
1134 #define GL_EXT_robustness 1
1135 #ifdef GL_GLEXT_PROTOTYPES
1136 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
1137 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1138 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
1139 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1141 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
1142 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1143 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
1144 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1147 /* GL_EXT_separate_shader_objects */
1148 #ifndef GL_EXT_separate_shader_objects
1149 #define GL_EXT_separate_shader_objects 1
1150 #ifdef GL_GLEXT_PROTOTYPES
1151 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
1152 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
1153 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
1154 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
1155 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
1156 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
1157 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
1158 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
1159 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
1160 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
1161 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
1162 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
1163 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
1164 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
1165 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
1166 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
1167 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1168 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1169 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1170 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1171 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1172 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1173 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1174 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1175 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1176 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1177 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1178 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1179 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
1180 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1182 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
1183 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
1184 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
1185 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1186 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
1187 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
1188 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1189 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
1190 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
1191 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
1192 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
1193 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
1194 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
1195 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
1196 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
1197 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
1198 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1199 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1200 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1201 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1202 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1203 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1204 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1205 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1206 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1207 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1208 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1209 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1210 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1211 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1214 /* GL_EXT_shader_texture_lod */
1215 #ifndef GL_EXT_shader_texture_lod
1216 #define GL_EXT_shader_texture_lod 1
1219 /* GL_EXT_shadow_samplers */
1220 #ifndef GL_EXT_shadow_samplers
1221 #define GL_EXT_shadow_samplers 1
1226 #define GL_EXT_sRGB 1
1229 /* GL_EXT_texture_compression_dxt1 */
1230 #ifndef GL_EXT_texture_compression_dxt1
1231 #define GL_EXT_texture_compression_dxt1 1
1234 /* GL_EXT_texture_filter_anisotropic */
1235 #ifndef GL_EXT_texture_filter_anisotropic
1236 #define GL_EXT_texture_filter_anisotropic 1
1239 /* GL_EXT_texture_format_BGRA8888 */
1240 #ifndef GL_EXT_texture_format_BGRA8888
1241 #define GL_EXT_texture_format_BGRA8888 1
1244 /* GL_EXT_texture_rg */
1245 #ifndef GL_EXT_texture_rg
1246 #define GL_EXT_texture_rg 1
1249 /* GL_EXT_texture_storage */
1250 #ifndef GL_EXT_texture_storage
1251 #define GL_EXT_texture_storage 1
1252 #ifdef GL_GLEXT_PROTOTYPES
1253 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1254 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1255 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1256 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1257 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1258 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1260 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1261 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1262 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1263 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1264 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1265 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1268 /* GL_EXT_texture_type_2_10_10_10_REV */
1269 #ifndef GL_EXT_texture_type_2_10_10_10_REV
1270 #define GL_EXT_texture_type_2_10_10_10_REV 1
1273 /* GL_EXT_unpack_subimage */
1274 #ifndef GL_EXT_unpack_subimage
1275 #define GL_EXT_unpack_subimage 1
1278 /*------------------------------------------------------------------------*
1279 * DMP extension functions
1280 *------------------------------------------------------------------------*/
1282 /* GL_DMP_shader_binary */
1283 #ifndef GL_DMP_shader_binary
1284 #define GL_DMP_shader_binary 1
1287 /*------------------------------------------------------------------------*
1288 * FJ extension functions
1289 *------------------------------------------------------------------------*/
1291 /* GL_FJ_shader_binary_GCCSO */
1292 #ifndef GL_FJ_shader_binary_GCCSO
1293 #define GL_FJ_shader_binary_GCCSO 1
1296 /*------------------------------------------------------------------------*
1297 * IMG extension functions
1298 *------------------------------------------------------------------------*/
1300 /* GL_IMG_program_binary */
1301 #ifndef GL_IMG_program_binary
1302 #define GL_IMG_program_binary 1
1305 /* GL_IMG_read_format */
1306 #ifndef GL_IMG_read_format
1307 #define GL_IMG_read_format 1
1310 /* GL_IMG_shader_binary */
1311 #ifndef GL_IMG_shader_binary
1312 #define GL_IMG_shader_binary 1
1315 /* GL_IMG_texture_compression_pvrtc */
1316 #ifndef GL_IMG_texture_compression_pvrtc
1317 #define GL_IMG_texture_compression_pvrtc 1
1320 /* GL_IMG_multisampled_render_to_texture */
1321 #ifndef GL_IMG_multisampled_render_to_texture
1322 #define GL_IMG_multisampled_render_to_texture 1
1323 #ifdef GL_GLEXT_PROTOTYPES
1324 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1325 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
1327 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1328 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1331 /*------------------------------------------------------------------------*
1332 * NV extension functions
1333 *------------------------------------------------------------------------*/
1335 /* GL_NV_coverage_sample */
1336 #ifndef GL_NV_coverage_sample
1337 #define GL_NV_coverage_sample 1
1338 #ifdef GL_GLEXT_PROTOTYPES
1339 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
1340 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
1342 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
1343 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
1346 /* GL_NV_depth_nonlinear */
1347 #ifndef GL_NV_depth_nonlinear
1348 #define GL_NV_depth_nonlinear 1
1351 /* GL_NV_draw_buffers */
1352 #ifndef GL_NV_draw_buffers
1353 #define GL_NV_draw_buffers 1
1354 #ifdef GL_GLEXT_PROTOTYPES
1355 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
1357 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
1360 /* GL_NV_fbo_color_attachments */
1361 #ifndef GL_NV_fbo_color_attachments
1362 #define GL_NV_fbo_color_attachments 1
1367 #define GL_NV_fence 1
1368 #ifdef GL_GLEXT_PROTOTYPES
1369 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
1370 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
1371 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
1372 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
1373 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
1374 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
1375 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
1377 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
1378 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
1379 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
1380 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
1381 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
1382 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
1383 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
1386 /* GL_NV_read_buffer */
1387 #ifndef GL_NV_read_buffer
1388 #define GL_NV_read_buffer 1
1389 #ifdef GL_GLEXT_PROTOTYPES
1390 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
1392 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
1395 /* GL_NV_read_buffer_front */
1396 #ifndef GL_NV_read_buffer_front
1397 #define GL_NV_read_buffer_front 1
1400 /* GL_NV_read_depth */
1401 #ifndef GL_NV_read_depth
1402 #define GL_NV_read_depth 1
1405 /* GL_NV_read_depth_stencil */
1406 #ifndef GL_NV_read_depth_stencil
1407 #define GL_NV_read_depth_stencil 1
1410 /* GL_NV_read_stencil */
1411 #ifndef GL_NV_read_stencil
1412 #define GL_NV_read_stencil 1
1415 /* GL_NV_texture_compression_s3tc_update */
1416 #ifndef GL_NV_texture_compression_s3tc_update
1417 #define GL_NV_texture_compression_s3tc_update 1
1420 /* GL_NV_texture_npot_2D_mipmap */
1421 #ifndef GL_NV_texture_npot_2D_mipmap
1422 #define GL_NV_texture_npot_2D_mipmap 1
1425 /*------------------------------------------------------------------------*
1426 * QCOM extension functions
1427 *------------------------------------------------------------------------*/
1429 /* GL_QCOM_alpha_test */
1430 #ifndef GL_QCOM_alpha_test
1431 #define GL_QCOM_alpha_test 1
1432 #ifdef GL_GLEXT_PROTOTYPES
1433 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
1435 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
1438 /* GL_QCOM_driver_control */
1439 #ifndef GL_QCOM_driver_control
1440 #define GL_QCOM_driver_control 1
1441 #ifdef GL_GLEXT_PROTOTYPES
1442 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
1443 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1444 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1445 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1447 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1448 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1449 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1450 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1453 /* GL_QCOM_extended_get */
1454 #ifndef GL_QCOM_extended_get
1455 #define GL_QCOM_extended_get 1
1456 #ifdef GL_GLEXT_PROTOTYPES
1457 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1458 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1459 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1460 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1461 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1462 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
1463 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);
1464 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
1466 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1467 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1468 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1469 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1470 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1471 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1472 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);
1473 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
1476 /* GL_QCOM_extended_get2 */
1477 #ifndef GL_QCOM_extended_get2
1478 #define GL_QCOM_extended_get2 1
1479 #ifdef GL_GLEXT_PROTOTYPES
1480 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1481 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1482 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1483 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1485 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1486 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1487 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1488 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1491 /* GL_QCOM_perfmon_global_mode */
1492 #ifndef GL_QCOM_perfmon_global_mode
1493 #define GL_QCOM_perfmon_global_mode 1
1496 /* GL_QCOM_writeonly_rendering */
1497 #ifndef GL_QCOM_writeonly_rendering
1498 #define GL_QCOM_writeonly_rendering 1
1501 /* GL_QCOM_tiled_rendering */
1502 #ifndef GL_QCOM_tiled_rendering
1503 #define GL_QCOM_tiled_rendering 1
1504 #ifdef GL_GLEXT_PROTOTYPES
1505 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1506 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1508 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1509 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1512 /*------------------------------------------------------------------------*
1513 * VIV extension tokens
1514 *------------------------------------------------------------------------*/
1516 /* GL_VIV_shader_binary */
1517 #ifndef GL_VIV_shader_binary
1518 #define GL_VIV_shader_binary 1
1525 #endif /* __gl2ext_h_ */