Ticket #30886: glext.h

File glext.h, 269.0 KB (added by macports@…, 13 years ago)

glext.h from Lion

Line 
1/*
2    Copyright:  (c) 1999-2011 Apple Inc. All rights reserved.
3*/
4
5#ifndef __glext_h_
6#define __glext_h_
7
8#include <inttypes.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14/*
15** License Applicability. Except to the extent portions of this file are
16** made subject to an alternative license as permitted in the SGI Free
17** Software License B, Version 1.1 (the "License"), the contents of this
18** file are subject only to the provisions of the License. You may not use
19** this file except in compliance with the License. You may obtain a copy
20** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
21** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
22**
23** http://oss.sgi.com/projects/FreeB
24**
25** Note that, as provided in the License, the Software is distributed on an
26** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
27** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
28** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
29** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
30**
31** Original Code. The Original Code is: OpenGL Sample Implementation,
32** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
33** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
34** Copyright in any portions created by third parties is as indicated
35** elsewhere herein. All Rights Reserved.
36**
37** Additional Notice Provisions: This software was created using the
38** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
39** not been independently verified as being compliant with the OpenGL(R)
40** version 1.2.1 Specification.
41*/
42
43/* switches to providing function pointers */
44/* #define GL_GLEXT_FUNCTION_POINTERS 1 */
45
46#define GL_ARB_imaging                      1
47#define GL_ARB_transpose_matrix             1
48#define GL_ARB_multitexture                 1
49#define GL_ARB_texture_env_add              1
50#define GL_ARB_texture_env_combine          1
51#define GL_ARB_texture_env_dot3             1
52#define GL_ARB_texture_env_crossbar         1
53#define GL_ARB_texture_cube_map             1
54#define GL_ARB_texture_compression          1
55#define GL_ARB_multisample                  1
56#define GL_ARB_texture_border_clamp         1
57#define GL_ARB_point_parameters             1
58#define GL_ARB_vertex_program               1
59#define GL_ARB_fragment_program             1
60#define GL_ARB_fragment_program_shadow      1
61#define GL_ARB_texture_mirrored_repeat      1
62#define GL_ARB_depth_texture                1
63#define GL_ARB_shadow                       1
64#define GL_ARB_shadow_ambient               1
65#define GL_ARB_vertex_blend                 1
66#define GL_ARB_window_pos                   1
67#define GL_ARB_occlusion_query              1
68#define GL_ARB_shader_objects               1
69#define GL_ARB_vertex_shader                1
70#define GL_ARB_fragment_shader              1
71#define GL_ARB_shading_language_100         1
72#define GL_ARB_vertex_buffer_object         1
73#define GL_ARB_point_sprite                 1
74#define GL_ARB_texture_non_power_of_two     1
75#define GL_ARB_texture_rectangle            1
76#define GL_ARB_draw_buffers                 1
77#define GL_ARB_pixel_buffer_object          1
78#define GL_ARB_shader_texture_lod           1
79#define GL_ARB_texture_float                1
80#define GL_ARB_half_float_pixel             1
81#define GL_ARB_color_buffer_float           1
82#define GL_ARB_half_float_vertex            1
83#define GL_ARB_texture_compression_rgtc     1
84#define GL_ARB_texture_rg                   1
85#define GL_ARB_framebuffer_object           1
86#define GL_ARB_framebuffer_sRGB             1
87#define GL_ARB_instanced_arrays             1
88#define GL_ARB_draw_instanced               1
89#define GL_ARB_depth_buffer_float           1
90#define GL_ARB_seamless_cube_map            1
91#define GL_ARB_draw_elements_base_vertex    1
92#define GL_ARB_provoking_vertex             1
93#define GL_ARB_vertex_array_bgra            1
94#define GL_ARB_depth_clamp                  1
95#define GL_ARB_sync                         1
96#define GL_ARB_cl_event                     1
97#define GL_EXT_clip_volume_hint             1
98#define GL_EXT_rescale_normal               1
99#define GL_EXT_blend_color                  1
100#define GL_EXT_blend_minmax                 1
101#define GL_EXT_blend_subtract               1
102#define GL_EXT_texture_array                1
103#define GL_EXT_texture_lod_bias             1
104#define GL_EXT_texture_env_add              1
105#define GL_EXT_abgr                         1
106#define GL_EXT_bgra                         1
107#define GL_EXT_texture_filter_anisotropic   1
108#define GL_EXT_secondary_color              1
109#define GL_EXT_separate_specular_color      1
110#define GL_EXT_texture_compression_s3tc     1
111#define GL_EXT_texture_rectangle            1
112#define GL_EXT_fog_coord                    1
113#define GL_EXT_draw_range_elements          1
114#define GL_EXT_stencil_wrap                 1
115#define GL_EXT_blend_func_separate          1
116#define GL_EXT_multi_draw_arrays            1
117#define GL_EXT_shadow_funcs                 1
118#define GL_EXT_stencil_two_side             1
119#define GL_EXT_depth_bounds_test            1
120#define GL_EXT_blend_equation_separate      1
121#define GL_EXT_texture_mirror_clamp         1
122#define GL_EXT_texture_compression_dxt1     1
123#define GL_EXT_texture_sRGB                 1
124#define GL_EXT_framebuffer_object           1
125#define GL_EXT_framebuffer_blit             1
126#define GL_EXT_framebuffer_multisample      1
127#define GL_EXT_framebuffer_multisample_blit_scaled  1
128#define GL_EXT_packed_depth_stencil         1
129#define GL_EXT_gpu_program_parameters       1
130#define GL_EXT_geometry_shader4             1
131#define GL_EXT_transform_feedback           1
132#define GL_EXT_bindable_uniform             1
133#define GL_EXT_texture_integer              1
134#define GL_EXT_gpu_shader4                  1
135#define GL_EXT_draw_buffers2                1
136#define GL_EXT_framebuffer_sRGB             1
137#define GL_EXT_packed_float                 1
138#define GL_EXT_texture_shared_exponent      1
139#define GL_EXT_provoking_vertex             1
140#define GL_EXT_vertex_array_bgra            1
141#define GL_EXT_timer_query                  1
142#define GL_EXT_texture_sRGB_decode          1
143#define GL_APPLE_flush_buffer_range         1
144#define GL_APPLE_specular_vector            1
145#define GL_APPLE_transform_hint             1
146#define GL_APPLE_packed_pixels              1
147#define GL_APPLE_client_storage             1
148#define GL_APPLE_ycbcr_422                  1
149#define GL_APPLE_texture_range              1
150#define GL_APPLE_fence                      1
151#define GL_APPLE_vertex_array_range         1
152#define GL_APPLE_vertex_array_object        1
153#define GL_APPLE_element_array              1
154#define GL_APPLE_vertex_program_evaluators  1
155#define GL_APPLE_float_pixels               1
156#define GL_APPLE_flush_render               1
157#define GL_APPLE_pixel_buffer               1
158#define GL_APPLE_aux_depth_stencil          1
159#define GL_APPLE_row_bytes                  1
160#define GL_APPLE_object_purgeable           1
161#define GL_APPLE_rgb_422                    1
162#define GL_APPLE_vertex_point_size          1
163#define GL_ATI_point_cull_mode              1
164#define GL_ATI_texture_mirror_once          1
165#define GL_ATI_pn_triangles                 1
166#define GL_ATI_blend_equation_separate      1
167#define GL_ATI_blend_weighted_minmax        1
168#define GL_ATI_texture_env_combine3         1
169#define GL_ATI_separate_stencil             1
170#define GL_ATI_texture_compression_3dc      1
171#define GL_ATI_texture_float                1
172#define GL_ATIX_pn_triangles                1
173#define GL_IBM_rasterpos_clip               1
174#define GL_NV_point_sprite                  1
175#define GL_NV_blend_square                  1
176#define GL_NV_fog_distance                  1
177#define GL_NV_multisample_filter_hint       1
178#define GL_NV_texgen_reflection             1
179#define GL_NV_depth_clamp                   1
180#define GL_NV_light_max_exponent            1
181#define GL_NV_fragment_program_option       1
182#define GL_NV_fragment_program2             1
183#define GL_NV_vertex_program2_option        1
184#define GL_NV_vertex_program3               1
185#define GL_NV_conditional_render            1
186#define GL_SGI_color_matrix                 1
187#define GL_SGIS_texture_edge_clamp          1
188#define GL_SGIS_generate_mipmap             1
189#define GL_SGIS_texture_lod                 1
190
191#ifdef GL_GLEXT_WUNDEF_SUPPORT
192#define GL_EXT_422_pixels                   0
193#define GL_EXT_cmyka                        0
194#define GL_EXT_convolution                  0
195#define GL_EXT_color_subtable               0
196#define GL_EXT_compiled_vertex_array        0
197#define GL_EXT_coordinate_frame             0
198#define GL_EXT_copy_texture                 0
199#define GL_EXT_cull_vertex                  0
200#define GL_EXT_fragment_shader              0
201#define GL_EXT_histogram                    0
202#define GL_EXT_index_array_formats          0
203#define GL_EXT_index_func                   0
204#define GL_EXT_index_material               0
205#define GL_EXT_light_texture                0
206#define GL_EXT_multisample                  0
207#define GL_EXT_packed_pixels                0
208#define GL_EXT_pixel_transform              0
209#define GL_EXT_polygon_offset               0
210#define GL_EXT_shared_texture_palette       0
211#define GL_EXT_subtexture                   0
212#define GL_EXT_texture                      0
213#define GL_EXT_texture3D                    0
214#define GL_EXT_texture_cube_map             0
215#define GL_EXT_texture_env_combine          0
216#define GL_EXT_texture_object               0
217#define GL_EXT_texture_perturb_normal       0
218#define GL_EXT_vertex_array                 0
219#define GL_EXT_vertex_shader                0
220#define GL_EXT_vertex_weighting             0
221#define GL_EXT_paletted_texture             0
222#define GL_EXT_draw_instanced               0
223#define GL_ATI_text_fragment_shader         0
224#define GL_ATI_array_rev_comps_in_4_bytes   0
225#define GL_HP_convolution_border_modes      0
226#define GL_HP_image_transform               0
227#define GL_HP_occlusion_test                0
228#define GL_HP_texture_lighting              0
229#define GL_IBM_cull_vertex                  0
230#define GL_IBM_multimode_draw_arrays        0
231#define GL_IBM_vertex_array_lists           0
232#define GL_INGR_color_clamp                 0
233#define GL_INGR_interlace_read              0
234#define GL_INTEL_parallel_arrays            0
235#define GL_MESA_resize_buffers              0
236#define GL_NV_register_combiners            0
237#define GL_NV_register_combiners2           0
238#define GL_NV_texture_shader                0
239#define GL_NV_texture_shader2               0
240#define GL_NV_texture_shader3               0
241#define GL_NV_texgen_emboss                 0
242#define GL_NV_vertex_array_range            0
243#define GL_NV_vertex_array_range2           0
244#define GL_NV_vertex_program                0
245#define GL_PGI_misc_hints                   0
246#define GL_PGI_vertex_hints                 0
247#define GL_REND_screen_coordinates          0
248#define GL_SGI_color_table                  0
249#define GL_SGI_depth_pass_instrument        0
250#define GL_SGI_texture_color_table          0
251#define GL_SGIS_detail_texture              0
252#define GL_SGIS_fog_function                0
253#define GL_SGIS_multisample                 0
254#define GL_SGIS_pixel_texture               0
255#define GL_SGIS_point_line_texgen           0
256#define GL_SGIS_point_parameters            0
257#define GL_SGIS_sharpen_texture             0
258#define GL_SGIS_texture4D                   0
259#define GL_SGIS_texture_border_clamp        0
260#define GL_SGIS_texture_color_mask          0
261#define GL_SGIS_texture_filter4             0
262#define GL_SGIS_texture_select              0
263#define GL_SGIX_async                       0
264#define GL_SGIX_async_histogram             0
265#define GL_SGIX_async_pixel                 0
266#define GL_SGIX_blend_alpha_minmax          0
267#define GL_SGIX_calligraphic_fragment       0
268#define GL_SGIX_clipmap                     0
269#define GL_SGIX_convolution_accuracy        0
270#define GL_SGIX_depth_texture               0
271#define GL_SGIX_flush_raster                0
272#define GL_SGIX_fog_offset                  0
273#define GL_SGIX_fog_scale                   0
274#define GL_SGIX_fragment_lighting           0
275#define GL_SGIX_framezoom                   0
276#define GL_SGIX_igloo_interface             0
277#define GL_SGIX_instruments                 0
278#define GL_SGIX_interlace                   0
279#define GL_SGIX_ir_instrument1              0
280#define GL_SGIX_list_priority               0
281#define GL_SGIX_pixel_texture               0
282#define GL_SGIX_pixel_tiles                 0
283#define GL_SGIX_polynomial_ffd              0
284#define GL_SGIX_reference_plane             0
285#define GL_SGIX_resample                    0
286#define GL_SGIX_shadow                      0
287#define GL_SGIX_sprite                      0
288#define GL_SGIX_subsample                   0
289#define GL_SGIX_tag_sample_buffer           0
290#define GL_SGIX_texture_add_env             0
291#define GL_SGIX_texture_lod_bias            0
292#define GL_SGIX_texture_multi_buffer        0
293#define GL_SGIX_texture_scale_bias          0
294#define GL_SGIX_vertex_preclip              0
295#define GL_SGIX_ycrcb                       0
296#define GL_SGIX_ycrcba                      0
297#define GL_SUN_convolution_border_modes     0
298#define GL_SUN_global_alpha                 0
299#define GL_SUN_triangle_list                0
300#define GL_SUN_vertex                       0
301#define GL_SUNX_constant_data               0
302#define GL_WIN_phong_shading                0
303#define GL_WIN_specular_fog                 0
304#define GL_3DFX_multisample                 0
305#define GL_3DFX_tbuffer                     0
306#define GL_3DFX_texture_compression_FXT1    0
307#endif
308
309/*************************************************************/
310
311#ifndef __gltypes_h_
312#if GL_ARB_half_float_pixel
313typedef unsigned short GLhalfARB;
314#endif
315
316#if GL_ARB_half_float_vertex
317typedef unsigned short GLhalf;
318#endif
319
320#if GL_ARB_shader_objects
321typedef char GLcharARB;
322typedef void *GLhandleARB;
323#endif
324
325#if GL_ARB_vertex_buffer_object
326typedef long GLintptrARB;
327typedef long GLsizeiptrARB;
328#endif
329
330#if GL_ARB_sync
331/* GL type for program/shader text */
332typedef int64_t GLint64;
333typedef uint64_t GLuint64;
334typedef struct __GLsync *GLsync;
335#endif
336
337#if GL_EXT_timer_query
338typedef int64_t GLint64EXT;
339typedef uint64_t GLuint64EXT;
340#endif
341#endif
342
343/*************************************************************/
344#define GL_GLEXT_VERSION 7
345
346#if GL_ARB_multitexture
347#define GL_TEXTURE0_ARB                   0x84C0
348#define GL_TEXTURE1_ARB                   0x84C1
349#define GL_TEXTURE2_ARB                   0x84C2
350#define GL_TEXTURE3_ARB                   0x84C3
351#define GL_TEXTURE4_ARB                   0x84C4
352#define GL_TEXTURE5_ARB                   0x84C5
353#define GL_TEXTURE6_ARB                   0x84C6
354#define GL_TEXTURE7_ARB                   0x84C7
355#define GL_TEXTURE8_ARB                   0x84C8
356#define GL_TEXTURE9_ARB                   0x84C9
357#define GL_TEXTURE10_ARB                  0x84CA
358#define GL_TEXTURE11_ARB                  0x84CB
359#define GL_TEXTURE12_ARB                  0x84CC
360#define GL_TEXTURE13_ARB                  0x84CD
361#define GL_TEXTURE14_ARB                  0x84CE
362#define GL_TEXTURE15_ARB                  0x84CF
363#define GL_TEXTURE16_ARB                  0x84D0
364#define GL_TEXTURE17_ARB                  0x84D1
365#define GL_TEXTURE18_ARB                  0x84D2
366#define GL_TEXTURE19_ARB                  0x84D3
367#define GL_TEXTURE20_ARB                  0x84D4
368#define GL_TEXTURE21_ARB                  0x84D5
369#define GL_TEXTURE22_ARB                  0x84D6
370#define GL_TEXTURE23_ARB                  0x84D7
371#define GL_TEXTURE24_ARB                  0x84D8
372#define GL_TEXTURE25_ARB                  0x84D9
373#define GL_TEXTURE26_ARB                  0x84DA
374#define GL_TEXTURE27_ARB                  0x84DB
375#define GL_TEXTURE28_ARB                  0x84DC
376#define GL_TEXTURE29_ARB                  0x84DD
377#define GL_TEXTURE30_ARB                  0x84DE
378#define GL_TEXTURE31_ARB                  0x84DF
379#define GL_ACTIVE_TEXTURE_ARB             0x84E0
380#define GL_CLIENT_ACTIVE_TEXTURE_ARB      0x84E1
381#define GL_MAX_TEXTURE_UNITS_ARB          0x84E2
382#endif
383
384#if GL_ARB_transpose_matrix
385#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
386#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
387#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB   0x84E5
388#define GL_TRANSPOSE_COLOR_MATRIX_ARB     0x84E6
389#endif
390
391#if GL_ARB_multisample
392#define GL_MULTISAMPLE_ARB                0x809D
393#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB   0x809E
394#define GL_SAMPLE_ALPHA_TO_ONE_ARB        0x809F
395#define GL_SAMPLE_COVERAGE_ARB            0x80A0
396#define GL_SAMPLE_BUFFERS_ARB             0x80A8
397#define GL_SAMPLES_ARB                    0x80A9
398#define GL_SAMPLE_COVERAGE_VALUE_ARB      0x80AA
399#define GL_SAMPLE_COVERAGE_INVERT_ARB     0x80AB
400#define GL_MULTISAMPLE_BIT_ARB            0x20000000
401#endif
402
403#if GL_ARB_texture_cube_map
404#define GL_NORMAL_MAP_ARB                 0x8511
405#define GL_REFLECTION_MAP_ARB             0x8512
406#define GL_TEXTURE_CUBE_MAP_ARB           0x8513
407#define GL_TEXTURE_BINDING_CUBE_MAP_ARB   0x8514
408#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
409#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
410#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
411#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
412#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
413#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
414#define GL_PROXY_TEXTURE_CUBE_MAP_ARB     0x851B
415#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB  0x851C
416#endif
417
418#if GL_ARB_texture_compression
419#define GL_COMPRESSED_ALPHA_ARB           0x84E9
420#define GL_COMPRESSED_LUMINANCE_ARB       0x84EA
421#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
422#define GL_COMPRESSED_INTENSITY_ARB       0x84EC
423#define GL_COMPRESSED_RGB_ARB             0x84ED
424#define GL_COMPRESSED_RGBA_ARB            0x84EE
425#define GL_TEXTURE_COMPRESSION_HINT_ARB   0x84EF
426#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
427#define GL_TEXTURE_COMPRESSED_ARB         0x86A1
428#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
429#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
430#endif
431
432#if GL_ARB_vertex_blend
433#define GL_MAX_VERTEX_UNITS_ARB           0x86A4
434#define GL_ACTIVE_VERTEX_UNITS_ARB        0x86A5
435#define GL_WEIGHT_SUM_UNITY_ARB           0x86A6
436#define GL_VERTEX_BLEND_ARB               0x86A7
437#define GL_CURRENT_WEIGHT_ARB             0x86A8
438#define GL_WEIGHT_ARRAY_TYPE_ARB          0x86A9
439#define GL_WEIGHT_ARRAY_STRIDE_ARB        0x86AA
440#define GL_WEIGHT_ARRAY_SIZE_ARB          0x86AB
441#define GL_WEIGHT_ARRAY_POINTER_ARB       0x86AC
442#define GL_WEIGHT_ARRAY_ARB               0x86AD
443#define GL_MODELVIEW0_ARB                 0x1700
444#define GL_MODELVIEW1_ARB                 0x850A
445#define GL_MODELVIEW2_ARB                 0x8722
446#define GL_MODELVIEW3_ARB                 0x8723
447#define GL_MODELVIEW4_ARB                 0x8724
448#define GL_MODELVIEW5_ARB                 0x8725
449#define GL_MODELVIEW6_ARB                 0x8726
450#define GL_MODELVIEW7_ARB                 0x8727
451#define GL_MODELVIEW8_ARB                 0x8728
452#define GL_MODELVIEW9_ARB                 0x8729
453#define GL_MODELVIEW10_ARB                0x872A
454#define GL_MODELVIEW11_ARB                0x872B
455#define GL_MODELVIEW12_ARB                0x872C
456#define GL_MODELVIEW13_ARB                0x872D
457#define GL_MODELVIEW14_ARB                0x872E
458#define GL_MODELVIEW15_ARB                0x872F
459#define GL_MODELVIEW16_ARB                0x8730
460#define GL_MODELVIEW17_ARB                0x8731
461#define GL_MODELVIEW18_ARB                0x8732
462#define GL_MODELVIEW19_ARB                0x8733
463#define GL_MODELVIEW20_ARB                0x8734
464#define GL_MODELVIEW21_ARB                0x8735
465#define GL_MODELVIEW22_ARB                0x8736
466#define GL_MODELVIEW23_ARB                0x8737
467#define GL_MODELVIEW24_ARB                0x8738
468#define GL_MODELVIEW25_ARB                0x8739
469#define GL_MODELVIEW26_ARB                0x873A
470#define GL_MODELVIEW27_ARB                0x873B
471#define GL_MODELVIEW28_ARB                0x873C
472#define GL_MODELVIEW29_ARB                0x873D
473#define GL_MODELVIEW30_ARB                0x873E
474#define GL_MODELVIEW31_ARB                0x873F
475#endif
476
477#if GL_ARB_occlusion_query
478#define GL_SAMPLES_PASSED_ARB             0x8914
479#define GL_QUERY_COUNTER_BITS_ARB         0x8864
480#define GL_CURRENT_QUERY_ARB              0x8865
481#define GL_QUERY_RESULT_ARB               0x8866
482#define GL_QUERY_RESULT_AVAILABLE_ARB     0x8867
483#endif
484
485#if GL_ARB_texture_border_clamp
486#define GL_CLAMP_TO_BORDER_ARB           0x812D
487#endif
488
489#if GL_ARB_depth_texture
490#define GL_DEPTH_COMPONENT16_ARB          0x81A5
491#define GL_DEPTH_COMPONENT24_ARB          0x81A6
492#define GL_DEPTH_COMPONENT32_ARB          0x81A7
493#define GL_TEXTURE_DEPTH_SIZE_ARB         0x884A
494#define GL_DEPTH_TEXTURE_MODE_ARB         0x884B
495#endif
496
497#if GL_ARB_shadow
498#define GL_TEXTURE_COMPARE_MODE_ARB       0x884C
499#define GL_TEXTURE_COMPARE_FUNC_ARB       0x884D
500#define GL_COMPARE_R_TO_TEXTURE_ARB       0x884E
501#endif
502
503#if GL_ARB_shadow_ambient
504#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
505#endif
506
507#if GL_ARB_texture_env_combine
508#define GL_COMBINE_ARB                    0x8570
509#define GL_COMBINE_RGB_ARB                0x8571
510#define GL_COMBINE_ALPHA_ARB              0x8572
511#define GL_RGB_SCALE_ARB                  0x8573
512#define GL_ADD_SIGNED_ARB                 0x8574
513#define GL_INTERPOLATE_ARB                0x8575
514#define GL_CONSTANT_ARB                   0x8576
515#define GL_PRIMARY_COLOR_ARB              0x8577
516#define GL_PREVIOUS_ARB                   0x8578
517#define GL_SUBTRACT_ARB                   0x84E7
518#define GL_SOURCE0_RGB_ARB                0x8580
519#define GL_SOURCE1_RGB_ARB                0x8581
520#define GL_SOURCE2_RGB_ARB                0x8582
521#define GL_SOURCE0_ALPHA_ARB              0x8588
522#define GL_SOURCE1_ALPHA_ARB              0x8589
523#define GL_SOURCE2_ALPHA_ARB              0x858A
524#define GL_OPERAND0_RGB_ARB               0x8590
525#define GL_OPERAND1_RGB_ARB               0x8591
526#define GL_OPERAND2_RGB_ARB               0x8592
527#define GL_OPERAND0_ALPHA_ARB             0x8598
528#define GL_OPERAND1_ALPHA_ARB             0x8599
529#define GL_OPERAND2_ALPHA_ARB             0x859A
530#endif
531
532#if GL_ARB_texture_mirrored_repeat
533#define GL_MIRRORED_REPEAT_ARB            0x8370
534#endif
535
536#if GL_ARB_texture_env_dot3
537#define GL_DOT3_RGB_ARB                   0x86AE
538#define GL_DOT3_RGBA_ARB                  0x86AF
539#endif
540
541#if GL_ARB_point_parameters
542#define GL_POINT_SIZE_MIN_ARB                            0x8126
543#define GL_POINT_SIZE_MAX_ARB                            0x8127
544#define GL_POINT_FADE_THRESHOLD_SIZE_ARB                 0x8128
545#define GL_POINT_DISTANCE_ATTENUATION_ARB                0x8129
546#endif
547
548#if GL_ARB_fragment_program
549#define GL_FRAGMENT_PROGRAM_ARB                         0x8804
550#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB                 0x8805
551#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB                 0x8806
552#define GL_PROGRAM_TEX_INDIRECTIONS_ARB                 0x8807
553#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB          0x8808
554#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB          0x8809
555#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB          0x880A
556#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB             0x880B
557#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB             0x880C
558#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB             0x880D
559#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB      0x880E
560#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB      0x880F
561#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB      0x8810
562#define GL_MAX_TEXTURE_COORDS_ARB                       0x8871
563#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB                  0x8872
564#endif
565
566#if GL_ARB_vertex_program
567#define GL_VERTEX_PROGRAM_ARB                            0x8620
568#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB                 0x8642
569#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB                   0x8643
570#define GL_PROGRAM_FORMAT_ASCII_ARB                      0x8875
571#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB               0x8622
572#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB                  0x8623
573#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB                0x8624
574#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB                  0x8625
575#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB            0x886A
576#define GL_CURRENT_VERTEX_ATTRIB_ARB                     0x8626
577#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB               0x8645
578#define GL_PROGRAM_LENGTH_ARB                            0x8627
579#define GL_PROGRAM_FORMAT_ARB                            0x8876
580#define GL_PROGRAM_NAME_ARB                              0x8677
581#define GL_PROGRAM_BINDING_ARB                           0x8677
582#define GL_PROGRAM_INSTRUCTIONS_ARB                      0x88A0
583#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB                  0x88A1
584#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB               0x88A2
585#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB           0x88A3
586#define GL_PROGRAM_TEMPORARIES_ARB                       0x88A4
587#define GL_MAX_PROGRAM_TEMPORARIES_ARB                   0x88A5
588#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB                0x88A6
589#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB            0x88A7
590#define GL_PROGRAM_PARAMETERS_ARB                        0x88A8
591#define GL_MAX_PROGRAM_PARAMETERS_ARB                    0x88A9
592#define GL_PROGRAM_NATIVE_PARAMETERS_ARB                 0x88AA
593#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB             0x88AB
594#define GL_PROGRAM_ATTRIBS_ARB                           0x88AC
595#define GL_MAX_PROGRAM_ATTRIBS_ARB                       0x88AD
596#define GL_PROGRAM_NATIVE_ATTRIBS_ARB                    0x88AE
597#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB                0x88AF
598#define GL_PROGRAM_ADDRESS_REGISTERS_ARB                 0x88B0
599#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB             0x88B1
600#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB          0x88B2
601#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB      0x88B3
602#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB              0x88B4
603#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB                0x88B5
604#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB               0x88B6
605#define GL_PROGRAM_STRING_ARB                            0x8628
606#define GL_PROGRAM_ERROR_POSITION_ARB                    0x864B
607#define GL_CURRENT_MATRIX_ARB                            0x8641
608#define GL_TRANSPOSE_CURRENT_MATRIX_ARB                  0x88B7
609#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB                0x8640
610#define GL_MAX_VERTEX_ATTRIBS_ARB                        0x8869
611#define GL_MAX_PROGRAM_MATRICES_ARB                      0x862F
612#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB            0x862E
613#define GL_PROGRAM_ERROR_STRING_ARB                      0x8874
614
615#define GL_MATRIX0_ARB                                   0x88C0
616#define GL_MATRIX1_ARB                                   0x88C1
617#define GL_MATRIX2_ARB                                   0x88C2
618#define GL_MATRIX3_ARB                                   0x88C3
619#define GL_MATRIX4_ARB                                   0x88C4
620#define GL_MATRIX5_ARB                                   0x88C5
621#define GL_MATRIX6_ARB                                   0x88C6
622#define GL_MATRIX7_ARB                                   0x88C7
623#define GL_MATRIX8_ARB                                   0x88C8
624#define GL_MATRIX9_ARB                                   0x88C9
625#define GL_MATRIX10_ARB                                  0x88CA
626#define GL_MATRIX11_ARB                                  0x88CB
627#define GL_MATRIX12_ARB                                  0x88CC
628#define GL_MATRIX13_ARB                                  0x88CD
629#define GL_MATRIX14_ARB                                  0x88CE
630#define GL_MATRIX15_ARB                                  0x88CF
631#define GL_MATRIX16_ARB                                  0x88D0
632#define GL_MATRIX17_ARB                                  0x88D1
633#define GL_MATRIX18_ARB                                  0x88D2
634#define GL_MATRIX19_ARB                                  0x88D3
635#define GL_MATRIX20_ARB                                  0x88D4
636#define GL_MATRIX21_ARB                                  0x88D5
637#define GL_MATRIX22_ARB                                  0x88D6
638#define GL_MATRIX23_ARB                                  0x88D7
639#define GL_MATRIX24_ARB                                  0x88D8
640#define GL_MATRIX25_ARB                                  0x88D9
641#define GL_MATRIX26_ARB                                  0x88DA
642#define GL_MATRIX27_ARB                                  0x88DB
643#define GL_MATRIX28_ARB                                  0x88DC
644#define GL_MATRIX29_ARB                                  0x88DD
645#define GL_MATRIX30_ARB                                  0x88DE
646#define GL_MATRIX31_ARB                                  0x88DF
647
648#define GL_COLOR_SUM_ARB                                 0x8458
649#endif
650
651#if GL_ARB_shader_objects
652#define GL_PROGRAM_OBJECT_ARB                              0x8B40
653#define GL_OBJECT_TYPE_ARB                                 0x8B4E
654#define GL_OBJECT_SUBTYPE_ARB                              0x8B4F
655#define GL_OBJECT_DELETE_STATUS_ARB                        0x8B80
656#define GL_OBJECT_COMPILE_STATUS_ARB                       0x8B81
657#define GL_OBJECT_LINK_STATUS_ARB                          0x8B82
658#define GL_OBJECT_VALIDATE_STATUS_ARB                      0x8B83
659#define GL_OBJECT_INFO_LOG_LENGTH_ARB                      0x8B84
660#define GL_OBJECT_ATTACHED_OBJECTS_ARB                     0x8B85
661#define GL_OBJECT_ACTIVE_UNIFORMS_ARB                      0x8B86
662#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB            0x8B87
663#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB                 0x8B88
664#define GL_SHADER_OBJECT_ARB                               0x8B48
665#define GL_FLOAT_VEC2_ARB                                  0x8B50
666#define GL_FLOAT_VEC3_ARB                                  0x8B51
667#define GL_FLOAT_VEC4_ARB                                  0x8B52
668#define GL_INT_VEC2_ARB                                    0x8B53
669#define GL_INT_VEC3_ARB                                    0x8B54
670#define GL_INT_VEC4_ARB                                    0x8B55
671#define GL_BOOL_ARB                                        0x8B56
672#define GL_BOOL_VEC2_ARB                                   0x8B57
673#define GL_BOOL_VEC3_ARB                                   0x8B58
674#define GL_BOOL_VEC4_ARB                                   0x8B59
675#define GL_FLOAT_MAT2_ARB                                  0x8B5A
676#define GL_FLOAT_MAT3_ARB                                  0x8B5B
677#define GL_FLOAT_MAT4_ARB                                  0x8B5C
678#define GL_SAMPLER_1D_ARB                                  0x8B5D
679#define GL_SAMPLER_2D_ARB                                  0x8B5E
680#define GL_SAMPLER_3D_ARB                                  0x8B5F
681#define GL_SAMPLER_CUBE_ARB                                0x8B60
682#define GL_SAMPLER_1D_SHADOW_ARB                           0x8B61
683#define GL_SAMPLER_2D_SHADOW_ARB                           0x8B62
684#define GL_SAMPLER_2D_RECT_ARB                             0x8B63
685#define GL_SAMPLER_2D_RECT_SHADOW_ARB                      0x8B64
686#endif
687
688#if GL_ARB_vertex_shader || GL_NV_vertex_program3
689#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB              0x8B4C
690#endif
691
692#if GL_ARB_vertex_shader
693#define GL_VERTEX_SHADER_ARB                               0x8B31
694#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB               0x8B4A
695#define GL_MAX_TEXTURE_COORDS_ARB                          0x8871
696#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB                     0x8872
697#define GL_MAX_VARYING_FLOATS_ARB                          0x8B4B
698#define GL_MAX_VERTEX_ATTRIBS_ARB                          0x8869
699#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB            0x8B4D
700#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB                   0x8642
701#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB                     0x8643
702#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB                    0x8B89
703#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB          0x8B8A
704#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB                 0x8622
705#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB                    0x8623
706#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB                  0x8624
707#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB                    0x8625
708#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB              0x886A
709#define GL_CURRENT_VERTEX_ATTRIB_ARB                       0x8626
710#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB                 0x8645
711#endif
712
713#if GL_ARB_fragment_shader
714#define GL_FRAGMENT_SHADER_ARB                             0x8B30
715#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB             0x8B49
716#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB             0x8B8B
717#define GL_MAX_TEXTURE_COORDS_ARB                          0x8871
718#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB                     0x8872
719#endif
720
721#if GL_ARB_shading_language_100
722#define GL_SHADING_LANGUAGE_VERSION_ARB                    0x8B8C
723#endif
724
725#if GL_ARB_vertex_buffer_object
726#define GL_ARRAY_BUFFER_ARB                                0x8892
727#define GL_ELEMENT_ARRAY_BUFFER_ARB                        0x8893
728#define GL_ARRAY_BUFFER_BINDING_ARB                        0x8894
729#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB                0x8895
730#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB                 0x8896
731#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB                 0x8897
732#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB                  0x8898
733#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB                  0x8899
734#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB          0x889A
735#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB              0x889B
736#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB        0x889C
737#define GL_FOG_COORD_ARRAY_BUFFER_BINDING_ARB              0x889D
738#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB                 0x889E
739#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB          0x889F
740#define GL_STREAM_DRAW_ARB                                 0x88E0
741#define GL_STREAM_READ_ARB                                 0x88E1
742#define GL_STREAM_COPY_ARB                                 0x88E2
743#define GL_STATIC_DRAW_ARB                                 0x88E4
744#define GL_STATIC_READ_ARB                                 0x88E5
745#define GL_STATIC_COPY_ARB                                 0x88E6
746#define GL_DYNAMIC_DRAW_ARB                                0x88E8
747#define GL_DYNAMIC_READ_ARB                                0x88E9
748#define GL_DYNAMIC_COPY_ARB                                0x88EA
749#define GL_READ_ONLY_ARB                                   0x88B8
750#define GL_WRITE_ONLY_ARB                                  0x88B9
751#define GL_READ_WRITE_ARB                                  0x88BA
752#define GL_BUFFER_SIZE_ARB                                 0x8764
753#define GL_BUFFER_USAGE_ARB                                0x8765
754#define GL_BUFFER_ACCESS_ARB                               0x88BB
755#define GL_BUFFER_MAPPED_ARB                               0x88BC
756#define GL_BUFFER_MAP_POINTER_ARB                          0x88BD
757/* Obsolete */
758#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB         0x889D
759#endif
760
761#if GL_ARB_point_sprite
762#define GL_POINT_SPRITE_ARB                                0x8861
763#define GL_COORD_REPLACE_ARB                               0x8862
764#endif
765
766#if GL_ARB_texture_rectangle
767#define GL_TEXTURE_RECTANGLE_ARB          0x84F5
768#define GL_TEXTURE_BINDING_RECTANGLE_ARB  0x84F6
769#define GL_PROXY_TEXTURE_RECTANGLE_ARB    0x84F7
770#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
771#endif
772
773#if GL_ARB_draw_buffers
774#define GL_MAX_DRAW_BUFFERS_ARB           0x8824
775#define GL_DRAW_BUFFER0_ARB               0x8825
776#define GL_DRAW_BUFFER1_ARB               0x8826
777#define GL_DRAW_BUFFER2_ARB               0x8827
778#define GL_DRAW_BUFFER3_ARB               0x8828
779#define GL_DRAW_BUFFER4_ARB               0x8829
780#define GL_DRAW_BUFFER5_ARB               0x882A
781#define GL_DRAW_BUFFER6_ARB               0x882B
782#define GL_DRAW_BUFFER7_ARB               0x882C
783#define GL_DRAW_BUFFER8_ARB               0x882D
784#define GL_DRAW_BUFFER9_ARB               0x882E
785#define GL_DRAW_BUFFER10_ARB              0x882F
786#define GL_DRAW_BUFFER11_ARB              0x8830
787#define GL_DRAW_BUFFER12_ARB              0x8831
788#define GL_DRAW_BUFFER13_ARB              0x8832
789#define GL_DRAW_BUFFER14_ARB              0x8833
790#define GL_DRAW_BUFFER15_ARB              0x8834
791#endif
792
793#if GL_ARB_pixel_buffer_object
794#define GL_PIXEL_PACK_BUFFER_ARB                        0x88EB
795#define GL_PIXEL_UNPACK_BUFFER_ARB                      0x88EC
796#define GL_PIXEL_PACK_BUFFER_BINDING_ARB                0x88ED
797#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB              0x88EF
798#endif
799
800#if GL_ARB_texture_float
801#define GL_TEXTURE_RED_TYPE_ARB             0x8C10
802#define GL_TEXTURE_GREEN_TYPE_ARB           0x8C11
803#define GL_TEXTURE_BLUE_TYPE_ARB            0x8C12
804#define GL_TEXTURE_ALPHA_TYPE_ARB           0x8C13
805#define GL_TEXTURE_LUMINANCE_TYPE_ARB       0x8C14
806#define GL_TEXTURE_INTENSITY_TYPE_ARB       0x8C15
807#define GL_TEXTURE_DEPTH_TYPE_ARB           0x8C16
808#define GL_UNSIGNED_NORMALIZED_ARB          0x8C17
809#define GL_RGBA32F_ARB                      0x8814
810#define GL_RGB32F_ARB                       0x8815
811#define GL_ALPHA32F_ARB                     0x8816
812#define GL_INTENSITY32F_ARB                 0x8817
813#define GL_LUMINANCE32F_ARB                 0x8818
814#define GL_LUMINANCE_ALPHA32F_ARB           0x8819
815#define GL_RGBA16F_ARB                      0x881A
816#define GL_RGB16F_ARB                       0x881B
817#define GL_ALPHA16F_ARB                     0x881C
818#define GL_INTENSITY16F_ARB                 0x881D
819#define GL_LUMINANCE16F_ARB                 0x881E
820#define GL_LUMINANCE_ALPHA16F_ARB           0x881F
821#endif
822
823#if GL_ARB_half_float_pixel
824#define GL_HALF_FLOAT_ARB                 0x140B
825#endif
826
827#if GL_ARB_color_buffer_float
828#define GL_RGBA_FLOAT_MODE_ARB            0x8820
829#define GL_CLAMP_VERTEX_COLOR_ARB         0x891A
830#define GL_CLAMP_FRAGMENT_COLOR_ARB       0x891B
831#define GL_CLAMP_READ_COLOR_ARB           0x891C
832#define GL_FIXED_ONLY_ARB                 0x891D
833#endif
834
835#if GL_ARB_half_float_vertex
836#define GL_HALF_FLOAT                     0x140B
837#endif
838
839#if GL_ARB_texture_rg
840#define GL_COMPRESSED_RED                 0x8225
841#define GL_COMPRESSED_RG                  0x8226
842#define GL_RG                             0x8227
843#define GL_RG_INTEGER                     0x8228
844#define GL_R8                             0x8229
845#define GL_R16                            0x822A
846#define GL_RG8                            0x822B
847#define GL_RG16                           0x822C
848#define GL_R16F                           0x822D
849#define GL_R32F                           0x822E
850#define GL_RG16F                          0x822F
851#define GL_RG32F                          0x8230
852#define GL_R8I                            0x8231
853#define GL_R8UI                           0x8232
854#define GL_R16I                           0x8233
855#define GL_R16UI                          0x8234
856#define GL_R32I                           0x8235
857#define GL_R32UI                          0x8236
858#define GL_RG8I                           0x8237
859#define GL_RG8UI                          0x8238
860#define GL_RG16I                          0x8239
861#define GL_RG16UI                         0x823A
862#define GL_RG32I                          0x823B
863#define GL_RG32UI                         0x823C
864#endif
865
866#if GL_ARB_instanced_arrays
867#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
868#endif
869
870#if GL_ARB_depth_buffer_float
871#define GL_DEPTH_COMPONENT32F             0x8CAC
872#define GL_DEPTH32F_STENCIL8              0x8CAD
873#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
874#endif
875
876#if GL_ARB_depth_clamp
877#define GL_DEPTH_CLAMP                    0x864F
878#endif
879
880#if GL_ARB_sync
881#define GL_MAX_SERVER_WAIT_TIMEOUT        0x9111
882#define GL_OBJECT_TYPE                    0x9112
883#define GL_SYNC_CONDITION                 0x9113
884#define GL_SYNC_STATUS                    0x9114
885#define GL_SYNC_FLAGS                     0x9115
886#define GL_SYNC_FENCE                     0x9116
887#define GL_SYNC_GPU_COMMANDS_COMPLETE     0x9117
888#define GL_UNSIGNALED                     0x9118
889#define GL_SIGNALED                       0x9119
890#define GL_ALREADY_SIGNALED               0x911A
891#define GL_TIMEOUT_EXPIRED                0x911B
892#define GL_CONDITION_SATISFIED            0x911C
893#define GL_WAIT_FAILED                    0x911D
894#define GL_SYNC_FLUSH_COMMANDS_BIT        0x00000001
895#define GL_TIMEOUT_IGNORED                0xFFFFFFFFFFFFFFFFull
896#endif
897
898#if GL_ARB_cl_event
899#define GL_SYNC_CL_EVENT_ARB              0x8240
900#define GL_SYNC_CL_EVENT_COMPLETE_ARB     0x8241
901#endif
902
903#if GL_EXT_abgr
904#define GL_ABGR_EXT                       0x8000
905#endif
906
907#if GL_EXT_blend_color
908#define GL_CONSTANT_COLOR_EXT             0x8001
909#define GL_ONE_MINUS_CONSTANT_COLOR_EXT   0x8002
910#define GL_CONSTANT_ALPHA_EXT             0x8003
911#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT   0x8004
912#define GL_BLEND_COLOR_EXT                0x8005
913#endif
914
915#if GL_EXT_polygon_offset
916#define GL_POLYGON_OFFSET_EXT             0x8037
917#define GL_POLYGON_OFFSET_FACTOR_EXT      0x8038
918#define GL_POLYGON_OFFSET_BIAS_EXT        0x8039
919#endif
920
921#if GL_EXT_texture
922#define GL_ALPHA4_EXT                     0x803B
923#define GL_ALPHA8_EXT                     0x803C
924#define GL_ALPHA12_EXT                    0x803D
925#define GL_ALPHA16_EXT                    0x803E
926#define GL_LUMINANCE4_EXT                 0x803F
927#define GL_LUMINANCE8_EXT                 0x8040
928#define GL_LUMINANCE12_EXT                0x8041
929#define GL_LUMINANCE16_EXT                0x8042
930#define GL_LUMINANCE4_ALPHA4_EXT          0x8043
931#define GL_LUMINANCE6_ALPHA2_EXT          0x8044
932#define GL_LUMINANCE8_ALPHA8_EXT          0x8045
933#define GL_LUMINANCE12_ALPHA4_EXT         0x8046
934#define GL_LUMINANCE12_ALPHA12_EXT        0x8047
935#define GL_LUMINANCE16_ALPHA16_EXT        0x8048
936#define GL_INTENSITY_EXT                  0x8049
937#define GL_INTENSITY4_EXT                 0x804A
938#define GL_INTENSITY8_EXT                 0x804B
939#define GL_INTENSITY12_EXT                0x804C
940#define GL_INTENSITY16_EXT                0x804D
941#define GL_RGB2_EXT                       0x804E
942#define GL_RGB4_EXT                       0x804F
943#define GL_RGB5_EXT                       0x8050
944#define GL_RGB8_EXT                       0x8051
945#define GL_RGB10_EXT                      0x8052
946#define GL_RGB12_EXT                      0x8053
947#define GL_RGB16_EXT                      0x8054
948#define GL_RGBA2_EXT                      0x8055
949#define GL_RGBA4_EXT                      0x8056
950#define GL_RGB5_A1_EXT                    0x8057
951#define GL_RGBA8_EXT                      0x8058
952#define GL_RGB10_A2_EXT                   0x8059
953#define GL_RGBA12_EXT                     0x805A
954#define GL_RGBA16_EXT                     0x805B
955#define GL_TEXTURE_RED_SIZE_EXT           0x805C
956#define GL_TEXTURE_GREEN_SIZE_EXT         0x805D
957#define GL_TEXTURE_BLUE_SIZE_EXT          0x805E
958#define GL_TEXTURE_ALPHA_SIZE_EXT         0x805F
959#define GL_TEXTURE_LUMINANCE_SIZE_EXT     0x8060
960#define GL_TEXTURE_INTENSITY_SIZE_EXT     0x8061
961#define GL_REPLACE_EXT                    0x8062
962#define GL_PROXY_TEXTURE_1D_EXT           0x8063
963#define GL_PROXY_TEXTURE_2D_EXT           0x8064
964#define GL_TEXTURE_TOO_LARGE_EXT          0x8065
965#endif
966
967#if GL_EXT_texture3D
968#define GL_PACK_SKIP_IMAGES_EXT           0x806B
969#define GL_PACK_IMAGE_HEIGHT_EXT          0x806C
970#define GL_UNPACK_SKIP_IMAGES_EXT         0x806D
971#define GL_UNPACK_IMAGE_HEIGHT_EXT        0x806E
972#define GL_TEXTURE_3D_EXT                 0x806F
973#define GL_PROXY_TEXTURE_3D_EXT           0x8070
974#define GL_TEXTURE_DEPTH_EXT              0x8071
975#define GL_TEXTURE_WRAP_R_EXT             0x8072
976#define GL_MAX_3D_TEXTURE_SIZE_EXT        0x8073
977#endif
978
979#if GL_EXT_histogram
980#define GL_HISTOGRAM_EXT                  0x8024
981#define GL_PROXY_HISTOGRAM_EXT            0x8025
982#define GL_HISTOGRAM_WIDTH_EXT            0x8026
983#define GL_HISTOGRAM_FORMAT_EXT           0x8027
984#define GL_HISTOGRAM_RED_SIZE_EXT         0x8028
985#define GL_HISTOGRAM_GREEN_SIZE_EXT       0x8029
986#define GL_HISTOGRAM_BLUE_SIZE_EXT        0x802A
987#define GL_HISTOGRAM_ALPHA_SIZE_EXT       0x802B
988#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT   0x802C
989#define GL_HISTOGRAM_SINK_EXT             0x802D
990#define GL_MINMAX_EXT                     0x802E
991#define GL_MINMAX_FORMAT_EXT              0x802F
992#define GL_MINMAX_SINK_EXT                0x8030
993#define GL_TABLE_TOO_LARGE_EXT            0x8031
994#endif
995
996#if GL_EXT_convolution
997#define GL_CONVOLUTION_1D_EXT             0x8010
998#define GL_CONVOLUTION_2D_EXT             0x8011
999#define GL_SEPARABLE_2D_EXT               0x8012
1000#define GL_CONVOLUTION_BORDER_MODE_EXT    0x8013
1001#define GL_CONVOLUTION_FILTER_SCALE_EXT   0x8014
1002#define GL_CONVOLUTION_FILTER_BIAS_EXT    0x8015
1003#define GL_REDUCE_EXT                     0x8016
1004#define GL_CONVOLUTION_FORMAT_EXT         0x8017
1005#define GL_CONVOLUTION_WIDTH_EXT          0x8018
1006#define GL_CONVOLUTION_HEIGHT_EXT         0x8019
1007#define GL_MAX_CONVOLUTION_WIDTH_EXT      0x801A
1008#define GL_MAX_CONVOLUTION_HEIGHT_EXT     0x801B
1009#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
1010#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
1011#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
1012#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
1013#define GL_POST_CONVOLUTION_RED_BIAS_EXT  0x8020
1014#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
1015#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
1016#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023
1017#endif
1018
1019#if GL_EXT_cmyka
1020#define GL_CMYK_EXT                       0x800C
1021#define GL_CMYKA_EXT                      0x800D
1022#define GL_PACK_CMYK_HINT_EXT             0x800E
1023#define GL_UNPACK_CMYK_HINT_EXT           0x800F
1024#endif
1025
1026#if GL_EXT_texture_object
1027#define GL_TEXTURE_PRIORITY_EXT           0x8066
1028#define GL_TEXTURE_RESIDENT_EXT           0x8067
1029#define GL_TEXTURE_1D_BINDING_EXT         0x8068
1030#define GL_TEXTURE_2D_BINDING_EXT         0x8069
1031#define GL_TEXTURE_3D_BINDING_EXT         0x806A
1032#endif
1033
1034#if GL_EXT_packed_pixels
1035#define GL_UNSIGNED_BYTE_3_3_2_EXT        0x8032
1036#define GL_UNSIGNED_SHORT_4_4_4_4_EXT     0x8033
1037#define GL_UNSIGNED_SHORT_5_5_5_1_EXT     0x8034
1038#define GL_UNSIGNED_INT_8_8_8_8_EXT       0x8035
1039#define GL_UNSIGNED_INT_10_10_10_2_EXT    0x8036
1040#endif
1041
1042#if GL_EXT_rescale_normal
1043#define GL_RESCALE_NORMAL_EXT             0x803A
1044#endif
1045
1046#if GL_EXT_vertex_array
1047#define GL_VERTEX_ARRAY_EXT               0x8074
1048#define GL_NORMAL_ARRAY_EXT               0x8075
1049#define GL_COLOR_ARRAY_EXT                0x8076
1050#define GL_INDEX_ARRAY_EXT                0x8077
1051#define GL_TEXTURE_COORD_ARRAY_EXT        0x8078
1052#define GL_EDGE_FLAG_ARRAY_EXT            0x8079
1053#define GL_VERTEX_ARRAY_SIZE_EXT          0x807A
1054#define GL_VERTEX_ARRAY_TYPE_EXT          0x807B
1055#define GL_VERTEX_ARRAY_STRIDE_EXT        0x807C
1056#define GL_VERTEX_ARRAY_COUNT_EXT         0x807D
1057#define GL_NORMAL_ARRAY_TYPE_EXT          0x807E
1058#define GL_NORMAL_ARRAY_STRIDE_EXT        0x807F
1059#define GL_NORMAL_ARRAY_COUNT_EXT         0x8080
1060#define GL_COLOR_ARRAY_SIZE_EXT           0x8081
1061#define GL_COLOR_ARRAY_TYPE_EXT           0x8082
1062#define GL_COLOR_ARRAY_STRIDE_EXT         0x8083
1063#define GL_COLOR_ARRAY_COUNT_EXT          0x8084
1064#define GL_INDEX_ARRAY_TYPE_EXT           0x8085
1065#define GL_INDEX_ARRAY_STRIDE_EXT         0x8086
1066#define GL_INDEX_ARRAY_COUNT_EXT          0x8087
1067#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT   0x8088
1068#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT   0x8089
1069#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
1070#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT  0x808B
1071#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT     0x808C
1072#define GL_EDGE_FLAG_ARRAY_COUNT_EXT      0x808D
1073#define GL_VERTEX_ARRAY_POINTER_EXT       0x808E
1074#define GL_NORMAL_ARRAY_POINTER_EXT       0x808F
1075#define GL_COLOR_ARRAY_POINTER_EXT        0x8090
1076#define GL_INDEX_ARRAY_POINTER_EXT        0x8091
1077#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
1078#define GL_EDGE_FLAG_ARRAY_POINTER_EXT    0x8093
1079#endif
1080
1081#if GL_EXT_blend_minmax
1082#define GL_FUNC_ADD_EXT                   0x8006
1083#define GL_MIN_EXT                        0x8007
1084#define GL_MAX_EXT                        0x8008
1085#define GL_BLEND_EQUATION_EXT             0x8009
1086#endif
1087
1088#if GL_EXT_blend_subtract
1089#define GL_FUNC_SUBTRACT_EXT              0x800A
1090#define GL_FUNC_REVERSE_SUBTRACT_EXT      0x800B
1091#endif
1092
1093#if GL_EXT_paletted_texture
1094#define GL_COLOR_INDEX1_EXT               0x80E2
1095#define GL_COLOR_INDEX2_EXT               0x80E3
1096#define GL_COLOR_INDEX4_EXT               0x80E4
1097#define GL_COLOR_INDEX8_EXT               0x80E5
1098#define GL_COLOR_INDEX12_EXT              0x80E6
1099#define GL_COLOR_INDEX16_EXT              0x80E7
1100#define GL_TEXTURE_INDEX_SIZE_EXT         0x80ED
1101#endif
1102
1103#if GL_EXT_clip_volume_hint
1104#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT  0x80F0
1105#endif
1106
1107#if GL_EXT_index_material
1108#define GL_INDEX_MATERIAL_EXT             0x81B8
1109#define GL_INDEX_MATERIAL_PARAMETER_EXT   0x81B9
1110#define GL_INDEX_MATERIAL_FACE_EXT        0x81BA
1111#endif
1112
1113#if GL_EXT_index_func
1114#define GL_INDEX_TEST_EXT                 0x81B5
1115#define GL_INDEX_TEST_FUNC_EXT            0x81B6
1116#define GL_INDEX_TEST_REF_EXT             0x81B7
1117#endif
1118
1119#if GL_EXT_index_array_formats
1120#define GL_IUI_V2F_EXT                    0x81AD
1121#define GL_IUI_V3F_EXT                    0x81AE
1122#define GL_IUI_N3F_V2F_EXT                0x81AF
1123#define GL_IUI_N3F_V3F_EXT                0x81B0
1124#define GL_T2F_IUI_V2F_EXT                0x81B1
1125#define GL_T2F_IUI_V3F_EXT                0x81B2
1126#define GL_T2F_IUI_N3F_V2F_EXT            0x81B3
1127#define GL_T2F_IUI_N3F_V3F_EXT            0x81B4
1128#endif
1129
1130#if GL_EXT_compiled_vertex_array
1131#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT   0x81A8
1132#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT   0x81A9
1133#endif
1134
1135#if GL_EXT_cull_vertex
1136#define GL_CULL_VERTEX_EXT                0x81AA
1137#define GL_CULL_VERTEX_EYE_POSITION_EXT   0x81AB
1138#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
1139#endif
1140
1141#if GL_EXT_draw_range_elements
1142#define GL_MAX_ELEMENTS_VERTICES_EXT      0x80E8
1143#define GL_MAX_ELEMENTS_INDICES_EXT       0x80E9
1144#endif
1145
1146#if GL_EXT_light_texture
1147#define GL_FRAGMENT_MATERIAL_EXT          0x8349
1148#define GL_FRAGMENT_NORMAL_EXT            0x834A
1149#define GL_FRAGMENT_COLOR_EXT             0x834C
1150#define GL_ATTENUATION_EXT                0x834D
1151#define GL_SHADOW_ATTENUATION_EXT         0x834E
1152#define GL_TEXTURE_APPLICATION_MODE_EXT   0x834F
1153#define GL_TEXTURE_LIGHT_EXT              0x8350
1154#define GL_TEXTURE_MATERIAL_FACE_EXT      0x8351
1155#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
1156/* reuse GL_FRAGMENT_DEPTH_EXT */
1157#endif
1158
1159#if GL_EXT_bgra
1160#define GL_BGR_EXT                        0x80E0
1161#define GL_BGRA_EXT                       0x80E1
1162#endif
1163
1164#if GL_EXT_pixel_transform
1165#define GL_PIXEL_TRANSFORM_2D_EXT         0x8330
1166#define GL_PIXEL_MAG_FILTER_EXT           0x8331
1167#define GL_PIXEL_MIN_FILTER_EXT           0x8332
1168#define GL_PIXEL_CUBIC_WEIGHT_EXT         0x8333
1169#define GL_CUBIC_EXT                      0x8334
1170#define GL_AVERAGE_EXT                    0x8335
1171#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
1172#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
1173#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT  0x8338
1174#endif
1175
1176#if GL_EXT_shared_texture_palette
1177#define GL_SHARED_TEXTURE_PALETTE_EXT     0x81FB
1178#endif
1179
1180#if GL_EXT_separate_specular_color
1181#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT  0x81F8
1182#define GL_SINGLE_COLOR_EXT               0x81F9
1183#define GL_SEPARATE_SPECULAR_COLOR_EXT    0x81FA
1184#endif
1185
1186#if GL_EXT_secondary_color
1187#define GL_COLOR_SUM_EXT                  0x8458
1188#define GL_CURRENT_SECONDARY_COLOR_EXT    0x8459
1189#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
1190#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
1191#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
1192#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
1193#define GL_SECONDARY_COLOR_ARRAY_EXT      0x845E
1194#endif
1195
1196#if GL_EXT_texture_perturb_normal
1197#define GL_PERTURB_EXT                    0x85AE
1198#define GL_TEXTURE_NORMAL_EXT             0x85AF
1199#endif
1200
1201#if GL_EXT_fog_coord
1202#define GL_FOG_COORDINATE_SOURCE_EXT      0x8450
1203#define GL_FOG_COORDINATE_EXT             0x8451
1204#define GL_FRAGMENT_DEPTH_EXT             0x8452
1205#define GL_CURRENT_FOG_COORDINATE_EXT     0x8453
1206#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT  0x8454
1207#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
1208#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
1209#define GL_FOG_COORDINATE_ARRAY_EXT       0x8457
1210#endif
1211
1212#if GL_EXT_coordinate_frame
1213#define GL_TANGENT_ARRAY_EXT              0x8439
1214#define GL_BINORMAL_ARRAY_EXT             0x843A
1215#define GL_CURRENT_TANGENT_EXT            0x843B
1216#define GL_CURRENT_BINORMAL_EXT           0x843C
1217#define GL_TANGENT_ARRAY_TYPE_EXT         0x843E
1218#define GL_TANGENT_ARRAY_STRIDE_EXT       0x843F
1219#define GL_BINORMAL_ARRAY_TYPE_EXT        0x8440
1220#define GL_BINORMAL_ARRAY_STRIDE_EXT      0x8441
1221#define GL_TANGENT_ARRAY_POINTER_EXT      0x8442
1222#define GL_BINORMAL_ARRAY_POINTER_EXT     0x8443
1223#define GL_MAP1_TANGENT_EXT               0x8444
1224#define GL_MAP2_TANGENT_EXT               0x8445
1225#define GL_MAP1_BINORMAL_EXT              0x8446
1226#define GL_MAP2_BINORMAL_EXT              0x8447
1227#endif
1228
1229#if GL_EXT_texture_env_combine
1230#define GL_COMBINE_EXT                    0x8570
1231#define GL_COMBINE_RGB_EXT                0x8571
1232#define GL_COMBINE_ALPHA_EXT              0x8572
1233#define GL_RGB_SCALE_EXT                  0x8573
1234#define GL_ADD_SIGNED_EXT                 0x8574
1235#define GL_INTERPOLATE_EXT                0x8575
1236#define GL_CONSTANT_EXT                   0x8576
1237#define GL_PRIMARY_COLOR_EXT              0x8577
1238#define GL_PREVIOUS_EXT                   0x8578
1239#define GL_SOURCE0_RGB_EXT                0x8580
1240#define GL_SOURCE1_RGB_EXT                0x8581
1241#define GL_SOURCE2_RGB_EXT                0x8582
1242#define GL_SOURCE0_ALPHA_EXT              0x8588
1243#define GL_SOURCE1_ALPHA_EXT              0x8589
1244#define GL_SOURCE2_ALPHA_EXT              0x858A
1245#define GL_OPERAND0_RGB_EXT               0x8590
1246#define GL_OPERAND1_RGB_EXT               0x8591
1247#define GL_OPERAND2_RGB_EXT               0x8592
1248#define GL_OPERAND0_ALPHA_EXT             0x8598
1249#define GL_OPERAND1_ALPHA_EXT             0x8599
1250#define GL_OPERAND2_ALPHA_EXT             0x859A
1251#endif
1252
1253#if GL_EXT_blend_func_separate
1254#define GL_BLEND_DST_RGB_EXT              0x80C8
1255#define GL_BLEND_SRC_RGB_EXT              0x80C9
1256#define GL_BLEND_DST_ALPHA_EXT            0x80CA
1257#define GL_BLEND_SRC_ALPHA_EXT            0x80CB
1258#endif
1259
1260#if GL_EXT_stencil_wrap
1261#define GL_INCR_WRAP_EXT                  0x8507
1262#define GL_DECR_WRAP_EXT                  0x8508
1263#endif
1264
1265#if GL_EXT_422_pixels
1266#define GL_422_EXT                        0x80CC
1267#define GL_422_REV_EXT                    0x80CD
1268#define GL_422_AVERAGE_EXT                0x80CE
1269#define GL_422_REV_AVERAGE_EXT            0x80CF
1270#endif
1271
1272#if GL_EXT_texture_cube_map
1273#define GL_NORMAL_MAP_EXT                 0x8511
1274#define GL_REFLECTION_MAP_EXT             0x8512
1275#define GL_TEXTURE_CUBE_MAP_EXT           0x8513
1276#define GL_TEXTURE_BINDING_CUBE_MAP_EXT   0x8514
1277#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
1278#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
1279#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
1280#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
1281#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
1282#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
1283#define GL_PROXY_TEXTURE_CUBE_MAP_EXT     0x851B
1284#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT  0x851C
1285#endif
1286
1287#if GL_EXT_texture_lod_bias
1288#define GL_MAX_TEXTURE_LOD_BIAS_EXT       0x84FD
1289#define GL_TEXTURE_FILTER_CONTROL_EXT     0x8500
1290#define GL_TEXTURE_LOD_BIAS_EXT           0x8501
1291#endif
1292
1293#if GL_EXT_texture_filter_anisotropic
1294#define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84FE
1295#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
1296#endif
1297
1298#if GL_EXT_vertex_weighting
1299#define GL_MODELVIEW0_STACK_DEPTH_EXT     GL_MODELVIEW_STACK_DEPTH
1300#define GL_MODELVIEW1_STACK_DEPTH_EXT     0x8502
1301#define GL_MODELVIEW0_MATRIX_EXT          GL_MODELVIEW_MATRIX
1302#define GL_MODELVIEW_MATRIX1_EXT          0x8506
1303#define GL_VERTEX_WEIGHTING_EXT           0x8509
1304#define GL_MODELVIEW0_EXT                 GL_MODELVIEW
1305#define GL_MODELVIEW1_EXT                 0x850A
1306#define GL_CURRENT_VERTEX_WEIGHT_EXT      0x850B
1307#define GL_VERTEX_WEIGHT_ARRAY_EXT        0x850C
1308#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT   0x850D
1309#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT   0x850E
1310#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
1311#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510
1312#endif
1313
1314#if GL_EXT_texture_compression_s3tc
1315#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT   0x83F0
1316#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  0x83F1
1317#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  0x83F2
1318#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  0x83F3
1319#endif
1320
1321#if GL_EXT_texture_rectangle
1322#define GL_TEXTURE_RECTANGLE_EXT          0x84F5
1323#define GL_TEXTURE_BINDING_RECTANGLE_EXT  0x84F6
1324#define GL_PROXY_TEXTURE_RECTANGLE_EXT    0x84F7
1325#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8
1326#endif
1327
1328#if GL_EXT_texture_sRGB
1329#define GL_SRGB_EXT                            0x8C40
1330#define GL_SRGB8_EXT                           0x8C41
1331#define GL_SRGB_ALPHA_EXT                      0x8C42
1332#define GL_SRGB8_ALPHA8_EXT                    0x8C43
1333#define GL_SLUMINANCE_ALPHA_EXT                0x8C44
1334#define GL_SLUMINANCE8_ALPHA8_EXT              0x8C45
1335#define GL_SLUMINANCE_EXT                      0x8C46
1336#define GL_SLUMINANCE8_EXT                     0x8C47
1337#define GL_COMPRESSED_SRGB_EXT                 0x8C48
1338#define GL_COMPRESSED_SRGB_ALPHA_EXT           0x8C49
1339#define GL_COMPRESSED_SLUMINANCE_EXT           0x8C4A
1340#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT     0x8C4B
1341#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT       0x8C4C
1342#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
1343#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
1344#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
1345#endif
1346
1347#if GL_EXT_vertex_shader
1348#define GL_VERTEX_SHADER_EXT              0x8780
1349#define GL_VARIANT_VALUE_EXT              0x87E4
1350#define GL_VARIANT_DATATYPE_EXT           0x87E5
1351#define GL_VARIANT_ARRAY_STRIDE_EXT       0x87E6
1352#define GL_VARIANT_ARRAY_TYPE_EXT         0x87E7
1353#define GL_VARIANT_ARRAY_EXT              0x87E8
1354#define GL_VARIANT_ARRAY_POINTER_EXT      0x87E9
1355#define GL_INVARIANT_VALUE_EXT            0x87EA
1356#define GL_INVARIANT_DATATYPE_EXT         0x87EB
1357#define GL_LOCAL_CONSTANT_VALUE_EXT       0x87EC
1358#define GL_LOCAL_CONSTANT_DATATYPE_EXT    0x87Ed
1359#define GL_OP_INDEX_EXT                   0x8782
1360#define GL_OP_NEGATE_EXT                  0x8783
1361#define GL_OP_DOT3_EXT                    0x8784
1362#define GL_OP_DOT4_EXT                    0x8785
1363#define GL_OP_MUL_EXT                     0x8786
1364#define GL_OP_ADD_EXT                     0x8787
1365#define GL_OP_MADD_EXT                    0x8788
1366#define GL_OP_FRAC_EXT                    0x8789
1367#define GL_OP_MAX_EXT                     0x878A
1368#define GL_OP_MIN_EXT                     0x878B
1369#define GL_OP_SET_GE_EXT                  0x878C
1370#define GL_OP_SET_LT_EXT                  0x878D
1371#define GL_OP_CLAMP_EXT                   0x878E
1372#define GL_OP_FLOOR_EXT                   0x878F
1373#define GL_OP_ROUND_EXT                   0x8790
1374#define GL_OP_EXP_BASE_2_EXT              0x8791
1375#define GL_OP_LOG_BASE_2_EXT              0x8792
1376#define GL_OP_POWER_EXT                   0x8793
1377#define GL_OP_RECIP_EXT                   0x8794
1378#define GL_OP_RECIP_SQRT_EXT              0x8795
1379#define GL_OP_SUB_EXT                     0x8796
1380#define GL_OP_CROSS_PRODUCT_EXT           0x8797
1381#define GL_OP_MULTIPLY_MATRIX_EXT         0x8798
1382#define GL_OP_MOV_EXT                     0x8799
1383#define GL_OUTPUT_VERTEX_EXT              0x879A
1384#define GL_OUTPUT_COLOR0_EXT              0x879B
1385#define GL_OUTPUT_COLOR1_EXT              0x879C
1386#define GL_OUTPUT_TEXTURE_COORD0_EXT      0x879D
1387#define GL_OUTPUT_TEXTURE_COORD1_EXT      0x879E
1388#define GL_OUTPUT_TEXTURE_COORD2_EXT      0x879F
1389#define GL_OUTPUT_TEXTURE_COORD3_EXT      0x87A0
1390#define GL_OUTPUT_TEXTURE_COORD4_EXT      0x87A1
1391#define GL_OUTPUT_TEXTURE_COORD5_EXT      0x87A2
1392#define GL_OUTPUT_TEXTURE_COORD6_EXT      0x87A3
1393#define GL_OUTPUT_TEXTURE_COORD7_EXT      0x87A4
1394#define GL_OUTPUT_TEXTURE_COORD8_EXT      0x87A5
1395#define GL_OUTPUT_TEXTURE_COORD9_EXT      0x87A6
1396#define GL_OUTPUT_TEXTURE_COORD10_EXT     0x87A7
1397#define GL_OUTPUT_TEXTURE_COORD11_EXT     0x87A8
1398#define GL_OUTPUT_TEXTURE_COORD12_EXT     0x87A9
1399#define GL_OUTPUT_TEXTURE_COORD13_EXT     0x87AA
1400#define GL_OUTPUT_TEXTURE_COORD14_EXT     0x87AB
1401#define GL_OUTPUT_TEXTURE_COORD15_EXT     0x87AC
1402#define GL_OUTPUT_TEXTURE_COORD16_EXT     0x87AD
1403#define GL_OUTPUT_TEXTURE_COORD17_EXT     0x87AE
1404#define GL_OUTPUT_TEXTURE_COORD18_EXT     0x87AF
1405#define GL_OUTPUT_TEXTURE_COORD19_EXT     0x87B0
1406#define GL_OUTPUT_TEXTURE_COORD20_EXT     0x87B1
1407#define GL_OUTPUT_TEXTURE_COORD21_EXT     0x87B2
1408#define GL_OUTPUT_TEXTURE_COORD22_EXT     0x87B3
1409#define GL_OUTPUT_TEXTURE_COORD23_EXT     0x87B4
1410#define GL_OUTPUT_TEXTURE_COORD24_EXT     0x87B5
1411#define GL_OUTPUT_TEXTURE_COORD25_EXT     0x87B6
1412#define GL_OUTPUT_TEXTURE_COORD26_EXT     0x87B7
1413#define GL_OUTPUT_TEXTURE_COORD27_EXT     0x87B8
1414#define GL_OUTPUT_TEXTURE_COORD28_EXT     0x87B9
1415#define GL_OUTPUT_TEXTURE_COORD29_EXT     0x87BA
1416#define GL_OUTPUT_TEXTURE_COORD30_EXT     0x87BB
1417#define GL_OUTPUT_TEXTURE_COORD31_EXT     0x87BC
1418#define GL_OUTPUT_FOG_EXT                 0x87BD
1419#define GL_SCALAR_EXT                     0x87BE
1420#define GL_VECTOR_EXT                     0x87BF
1421#define GL_MATRIX_EXT                     0x87C0
1422#define GL_VARIANT_EXT                    0x87C1
1423#define GL_INVARIANT_EXT                  0x87C2
1424#define GL_LOCAL_CONSTANT_EXT             0x87C3
1425#define GL_LOCAL_EXT                      0x87C4
1426#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT              0x87C5
1427#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT                  0x87C6
1428#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT                0x87C7
1429#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT           0x87C8
1430#define GL_MAX_VERTEX_SHADER_LOCALS_EXT                    0x87C9
1431#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT    0x87CA
1432#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT        0x87CB
1433#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC
1434#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT      0x87CD
1435#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT          0x87CE
1436#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT                  0x87CF
1437#define GL_VERTEX_SHADER_VARIANTS_EXT                      0x87D0
1438#define GL_VERTEX_SHADER_INVARIANTS_EXT                    0x87D1
1439#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT               0x87D2
1440#define GL_VERTEX_SHADER_LOCALS_EXT                        0x87D3
1441#define GL_VERTEX_SHADER_BINDING_EXT                       0x8781
1442#define GL_VERTEX_SHADER_OPTIMIZED_EXT                     0x87D4
1443#define GL_X_EXT                          0x87D5
1444#define GL_Y_EXT                          0x87D6
1445#define GL_Z_EXT                          0x87D7
1446#define GL_W_EXT                          0x87D8
1447#define GL_NEGATIVE_X_EXT                 0x87D9
1448#define GL_NEGATIVE_Y_EXT                 0x87DA
1449#define GL_NEGATIVE_Z_EXT                 0x87DB
1450#define GL_NEGATIVE_W_EXT                 0x87DC
1451#define GL_NEGATIVE_ONE_EXT               0x87DF
1452#define GL_NORMALIZED_RANGE_EXT           0x87E0
1453#define GL_FULL_RANGE_EXT                 0x87E1
1454#define GL_CURRENT_VERTEX_EXT             0x87E2
1455#define GL_MVP_MATRIX_EXT                 0x87E3
1456#endif
1457
1458#if GL_EXT_fragment_shader
1459#define GL_FRAGMENT_SHADER_EXT            0x8920
1460#define GL_REG_0_EXT                      0x8921
1461#define GL_REG_1_EXT                      0x8922
1462#define GL_REG_2_EXT                      0x8923
1463#define GL_REG_3_EXT                      0x8924
1464#define GL_REG_4_EXT                      0x8925
1465#define GL_REG_5_EXT                      0x8926
1466#define GL_REG_6_EXT                      0x8927
1467#define GL_REG_7_EXT                      0x8928
1468#define GL_REG_8_EXT                      0x8929
1469#define GL_REG_9_EXT                      0x892A
1470#define GL_REG_10_EXT                     0x892B
1471#define GL_REG_11_EXT                     0x892C
1472#define GL_REG_12_EXT                     0x892D
1473#define GL_REG_13_EXT                     0x892E
1474#define GL_REG_14_EXT                     0x892F
1475#define GL_REG_15_EXT                     0x8930
1476#define GL_REG_16_EXT                     0x8931
1477#define GL_REG_17_EXT                     0x8932
1478#define GL_REG_18_EXT                     0x8933
1479#define GL_REG_19_EXT                     0x8934
1480#define GL_REG_20_EXT                     0x8935
1481#define GL_REG_21_EXT                     0x8936
1482#define GL_REG_22_EXT                     0x8937
1483#define GL_REG_23_EXT                     0x8938
1484#define GL_REG_24_EXT                     0x8939
1485#define GL_REG_25_EXT                     0x893A
1486#define GL_REG_26_EXT                     0x893B
1487#define GL_REG_27_EXT                     0x893C
1488#define GL_REG_28_EXT                     0x893D
1489#define GL_REG_29_EXT                     0x893E
1490#define GL_REG_30_EXT                     0x893F
1491#define GL_REG_31_EXT                     0x8940
1492#define GL_CON_0_EXT                      0x8941
1493#define GL_CON_1_EXT                      0x8942
1494#define GL_CON_2_EXT                      0x8943
1495#define GL_CON_3_EXT                      0x8944
1496#define GL_CON_4_EXT                      0x8945
1497#define GL_CON_5_EXT                      0x8946
1498#define GL_CON_6_EXT                      0x8947
1499#define GL_CON_7_EXT                      0x8948
1500#define GL_CON_8_EXT                      0x8949
1501#define GL_CON_9_EXT                      0x894A
1502#define GL_CON_10_EXT                     0x894B
1503#define GL_CON_11_EXT                     0x894C
1504#define GL_CON_12_EXT                     0x894D
1505#define GL_CON_13_EXT                     0x894E
1506#define GL_CON_14_EXT                     0x894F
1507#define GL_CON_15_EXT                     0x8950
1508#define GL_CON_16_EXT                     0x8951
1509#define GL_CON_17_EXT                     0x8952
1510#define GL_CON_18_EXT                     0x8953
1511#define GL_CON_19_EXT                     0x8954
1512#define GL_CON_20_EXT                     0x8955
1513#define GL_CON_21_EXT                     0x8956
1514#define GL_CON_22_EXT                     0x8957
1515#define GL_CON_23_EXT                     0x8958
1516#define GL_CON_24_EXT                     0x8959
1517#define GL_CON_25_EXT                     0x895A
1518#define GL_CON_26_EXT                     0x895B
1519#define GL_CON_27_EXT                     0x895C
1520#define GL_CON_28_EXT                     0x895D
1521#define GL_CON_29_EXT                     0x895E
1522#define GL_CON_30_EXT                     0x895F
1523#define GL_CON_31_EXT                     0x8960
1524#define GL_MOV_EXT                        0x8961
1525#define GL_ADD_EXT                        0x8963
1526#define GL_MUL_EXT                        0x8964
1527#define GL_SUB_EXT                        0x8965
1528#define GL_DOT3_EXT                       0x8966
1529#define GL_DOT4_EXT                       0x8967
1530#define GL_MAD_EXT                        0x8968
1531#define GL_LERP_EXT                       0x8969
1532#define GL_CND_EXT                        0x896A
1533#define GL_CND0_EXT                       0x896B
1534#define GL_DOT2_ADD_EXT                   0x896C
1535#define GL_SECONDARY_INTERPOLATOR_EXT     0x896D
1536#define GL_NUM_FRAGMENT_REGISTERS_EXT     0x896E
1537#define GL_NUM_FRAGMENT_CONSTANTS_EXT     0x896F
1538#define GL_NUM_PASSES_EXT                 0x8970
1539#define GL_NUM_INSTRUCTIONS_PER_PASS_EXT  0x8971
1540#define GL_NUM_INSTRUCTIONS_TOTAL_EXT     0x8972
1541#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_EXT 0x8973
1542#define GL_NUM_LOOPBACK_COMPONENTS_EXT    0x8974
1543#define GL_COLOR_ALPHA_PAIRING_EXT        0x8975
1544#define GL_SWIZZLE_STR_EXT                0x8976
1545#define GL_SWIZZLE_STQ_EXT                0x8977
1546#define GL_SWIZZLE_STR_DR_EXT             0x8978
1547#define GL_SWIZZLE_STQ_DQ_EXT             0x8979
1548#define GL_SWIZZLE_STRQ_EXT               0x897A
1549#define GL_SWIZZLE_STRQ_DQ_EXT            0x897B
1550#define GL_RED_BIT_EXT                    0x00000001
1551#define GL_GREEN_BIT_EXT                  0x00000002
1552#define GL_BLUE_BIT_EXT                   0x00000004
1553#define GL_2X_BIT_EXT                     0x00000001
1554#define GL_4X_BIT_EXT                     0x00000002
1555#define GL_8X_BIT_EXT                     0x00000004
1556#define GL_HALF_BIT_EXT                   0x00000008
1557#define GL_QUARTER_BIT_EXT                0x00000010
1558#define GL_EIGHTH_BIT_EXT                 0x00000020
1559#define GL_SATURATE_BIT_EXT               0x00000040
1560#define GL_COMP_BIT_EXT                   0x00000002
1561#define GL_NEGATE_BIT_EXT                 0x00000004
1562#define GL_BIAS_BIT_EXT                   0x00000008
1563#endif
1564
1565#if GL_EXT_multisample
1566#define GL_MULTISAMPLE_EXT                0x809D
1567#define GL_SAMPLE_ALPHA_TO_MASK_EXT       0x809E
1568#define GL_SAMPLE_ALPHA_TO_ONE_EXT        0x809F
1569#define GL_SAMPLE_MASK_EXT                0x80A0
1570#define GL_1PASS_EXT                      0x80A1
1571#define GL_2PASS_0_EXT                    0x80A2
1572#define GL_2PASS_1_EXT                    0x80A3
1573#define GL_4PASS_0_EXT                    0x80A4
1574#define GL_4PASS_1_EXT                    0x80A5
1575#define GL_4PASS_2_EXT                    0x80A6
1576#define GL_4PASS_3_EXT                    0x80A7
1577#define GL_SAMPLE_BUFFERS_EXT             0x80A8
1578#define GL_SAMPLES_EXT                    0x80A9
1579#define GL_SAMPLE_MASK_VALUE_EXT          0x80AA
1580#define GL_SAMPLE_MASK_INVERT_EXT         0x80AB
1581#define GL_SAMPLE_PATTERN_EXT             0x80AC
1582#endif
1583
1584#if GL_EXT_stencil_two_side
1585#define GL_STENCIL_TEST_TWO_SIDE_EXT      0x8910
1586#define GL_ACTIVE_STENCIL_FACE_EXT        0x8911
1587#endif
1588
1589#if GL_EXT_depth_bounds_test
1590#define GL_DEPTH_BOUNDS_TEST_EXT          0x8890
1591#define GL_DEPTH_BOUNDS_EXT               0x8891
1592#endif
1593
1594#if GL_EXT_blend_equation_separate
1595#define GL_BLEND_EQUATION_RGB_EXT         0x8009
1596#define GL_BLEND_EQUATION_ALPHA_EXT       0x883D
1597#endif
1598
1599#if GL_EXT_texture_mirror_clamp
1600#define GL_MIRROR_CLAMP_EXT               0x8742
1601#define GL_MIRROR_CLAMP_TO_EDGE_EXT       0x8743
1602#define GL_MIRROR_CLAMP_TO_BORDER_EXT     0x8912
1603#endif
1604
1605#if GL_EXT_framebuffer_object
1606#define GL_FRAMEBUFFER_EXT                0x8D40
1607#define GL_RENDERBUFFER_EXT               0x8D41
1608#define GL_STENCIL_INDEX1_EXT             0x8D46
1609#define GL_STENCIL_INDEX4_EXT             0x8D47
1610#define GL_STENCIL_INDEX8_EXT             0x8D48
1611#define GL_STENCIL_INDEX16_EXT            0x8D49
1612#define GL_RENDERBUFFER_WIDTH_EXT           0x8D42
1613#define GL_RENDERBUFFER_HEIGHT_EXT          0x8D43
1614#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
1615#define GL_RENDERBUFFER_RED_SIZE_EXT        0x8D50
1616#define GL_RENDERBUFFER_GREEN_SIZE_EXT      0x8D51
1617#define GL_RENDERBUFFER_BLUE_SIZE_EXT       0x8D52
1618#define GL_RENDERBUFFER_ALPHA_SIZE_EXT      0x8D53
1619#define GL_RENDERBUFFER_DEPTH_SIZE_EXT      0x8D54
1620#define GL_RENDERBUFFER_STENCIL_SIZE_EXT    0x8D55
1621#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT           0x8CD0
1622#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT           0x8CD1
1623#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT         0x8CD2
1624#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
1625#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT    0x8CD4
1626#define GL_COLOR_ATTACHMENT0_EXT          0x8CE0
1627#define GL_COLOR_ATTACHMENT1_EXT          0x8CE1
1628#define GL_COLOR_ATTACHMENT2_EXT          0x8CE2
1629#define GL_COLOR_ATTACHMENT3_EXT          0x8CE3
1630#define GL_COLOR_ATTACHMENT4_EXT          0x8CE4
1631#define GL_COLOR_ATTACHMENT5_EXT          0x8CE5
1632#define GL_COLOR_ATTACHMENT6_EXT          0x8CE6
1633#define GL_COLOR_ATTACHMENT7_EXT          0x8CE7
1634#define GL_COLOR_ATTACHMENT8_EXT          0x8CE8
1635#define GL_COLOR_ATTACHMENT9_EXT          0x8CE9
1636#define GL_COLOR_ATTACHMENT10_EXT         0x8CEA
1637#define GL_COLOR_ATTACHMENT11_EXT         0x8CEB
1638#define GL_COLOR_ATTACHMENT12_EXT         0x8CEC
1639#define GL_COLOR_ATTACHMENT13_EXT         0x8CED
1640#define GL_COLOR_ATTACHMENT14_EXT         0x8CEE
1641#define GL_COLOR_ATTACHMENT15_EXT         0x8CEF
1642#define GL_DEPTH_ATTACHMENT_EXT           0x8D00
1643#define GL_STENCIL_ATTACHMENT_EXT         0x8D20
1644#define GL_FRAMEBUFFER_COMPLETE_EXT                        0x8CD5
1645#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT           0x8CD6
1646#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT   0x8CD7
1647#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT           0x8CD9
1648#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT              0x8CDA
1649#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT          0x8CDB
1650#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT          0x8CDC
1651#define GL_FRAMEBUFFER_UNSUPPORTED_EXT                     0x8CDD
1652#define GL_FRAMEBUFFER_BINDING_EXT        0x8CA6
1653#define GL_RENDERBUFFER_BINDING_EXT       0x8CA7
1654#define GL_MAX_COLOR_ATTACHMENTS_EXT      0x8CDF
1655#define GL_MAX_RENDERBUFFER_SIZE_EXT      0x84E8
1656#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
1657#endif
1658
1659#if GL_EXT_framebuffer_blit
1660#define GL_READ_FRAMEBUFFER_EXT                 0x8CA8
1661#define GL_DRAW_FRAMEBUFFER_EXT                 0x8CA9
1662#define GL_DRAW_FRAMEBUFFER_BINDING_EXT         0x8CA6
1663#define GL_READ_FRAMEBUFFER_BINDING_EXT         0x8CAA
1664#endif
1665
1666#if GL_EXT_framebuffer_multisample
1667#define GL_RENDERBUFFER_SAMPLES_EXT               0x8CAB
1668#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
1669#define GL_MAX_SAMPLES_EXT                        0x8D57
1670#endif
1671
1672#if GL_EXT_framebuffer_multisample_blit_scaled
1673#define GL_SCALED_RESOLVE_FASTEST_EXT             0x90BA
1674#define GL_SCALED_RESOLVE_NICEST_EXT              0x90BB
1675#endif
1676
1677#if GL_ARB_framebuffer_object
1678#define GL_INVALID_FRAMEBUFFER_OPERATION  0x0506
1679#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
1680#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
1681#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
1682#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
1683#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
1684#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
1685#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
1686#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
1687#define GL_FRAMEBUFFER_DEFAULT            0x8218
1688#define GL_FRAMEBUFFER_UNDEFINED          0x8219
1689#define GL_DEPTH_STENCIL_ATTACHMENT       0x821A
1690#define GL_MAX_RENDERBUFFER_SIZE          0x84E8
1691#define GL_DEPTH_STENCIL                  0x84F9
1692#define GL_UNSIGNED_INT_24_8              0x84FA
1693#define GL_DEPTH24_STENCIL8               0x88F0
1694#define GL_TEXTURE_STENCIL_SIZE           0x88F1
1695#define GL_TEXTURE_RED_TYPE               0x8C10
1696#define GL_TEXTURE_GREEN_TYPE             0x8C11
1697#define GL_TEXTURE_BLUE_TYPE              0x8C12
1698#define GL_TEXTURE_ALPHA_TYPE             0x8C13
1699#define GL_TEXTURE_DEPTH_TYPE             0x8C16
1700#define GL_UNSIGNED_NORMALIZED            0x8C17
1701#define GL_FRAMEBUFFER_BINDING            0x8CA6
1702#define GL_DRAW_FRAMEBUFFER_BINDING       GL_FRAMEBUFFER_BINDING
1703#define GL_RENDERBUFFER_BINDING           0x8CA7
1704#define GL_READ_FRAMEBUFFER               0x8CA8
1705#define GL_DRAW_FRAMEBUFFER               0x8CA9
1706#define GL_READ_FRAMEBUFFER_BINDING       0x8CAA
1707#define GL_RENDERBUFFER_SAMPLES           0x8CAB
1708#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
1709#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
1710#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
1711#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
1712#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
1713#define GL_FRAMEBUFFER_COMPLETE           0x8CD5
1714#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
1715#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
1716#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
1717#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
1718#define GL_FRAMEBUFFER_UNSUPPORTED        0x8CDD
1719#define GL_MAX_COLOR_ATTACHMENTS          0x8CDF
1720#define GL_COLOR_ATTACHMENT0              0x8CE0
1721#define GL_COLOR_ATTACHMENT1              0x8CE1
1722#define GL_COLOR_ATTACHMENT2              0x8CE2
1723#define GL_COLOR_ATTACHMENT3              0x8CE3
1724#define GL_COLOR_ATTACHMENT4              0x8CE4
1725#define GL_COLOR_ATTACHMENT5              0x8CE5
1726#define GL_COLOR_ATTACHMENT6              0x8CE6
1727#define GL_COLOR_ATTACHMENT7              0x8CE7
1728#define GL_COLOR_ATTACHMENT8              0x8CE8
1729#define GL_COLOR_ATTACHMENT9              0x8CE9
1730#define GL_COLOR_ATTACHMENT10             0x8CEA
1731#define GL_COLOR_ATTACHMENT11             0x8CEB
1732#define GL_COLOR_ATTACHMENT12             0x8CEC
1733#define GL_COLOR_ATTACHMENT13             0x8CED
1734#define GL_COLOR_ATTACHMENT14             0x8CEE
1735#define GL_COLOR_ATTACHMENT15             0x8CEF
1736#define GL_DEPTH_ATTACHMENT               0x8D00
1737#define GL_STENCIL_ATTACHMENT             0x8D20
1738#define GL_FRAMEBUFFER                    0x8D40
1739#define GL_RENDERBUFFER                   0x8D41
1740#define GL_RENDERBUFFER_WIDTH             0x8D42
1741#define GL_RENDERBUFFER_HEIGHT            0x8D43
1742#define GL_RENDERBUFFER_INTERNAL_FORMAT   0x8D44
1743#define GL_STENCIL_INDEX1                 0x8D46
1744#define GL_STENCIL_INDEX4                 0x8D47
1745#define GL_STENCIL_INDEX8                 0x8D48
1746#define GL_STENCIL_INDEX16                0x8D49
1747#define GL_RENDERBUFFER_RED_SIZE          0x8D50
1748#define GL_RENDERBUFFER_GREEN_SIZE        0x8D51
1749#define GL_RENDERBUFFER_BLUE_SIZE         0x8D52
1750#define GL_RENDERBUFFER_ALPHA_SIZE        0x8D53
1751#define GL_RENDERBUFFER_DEPTH_SIZE        0x8D54
1752#define GL_RENDERBUFFER_STENCIL_SIZE      0x8D55
1753#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
1754#define GL_MAX_SAMPLES                    0x8D57
1755#endif
1756
1757#if GL_ARB_framebuffer_sRGB
1758#define GL_FRAMEBUFFER_SRGB               0x8DB9
1759#endif
1760
1761#if GL_EXT_packed_depth_stencil
1762#define GL_DEPTH_STENCIL_EXT                    0x84F9
1763#define GL_UNSIGNED_INT_24_8_EXT                0x84FA
1764#define GL_DEPTH24_STENCIL8_EXT                 0x88F0
1765#define GL_TEXTURE_STENCIL_SIZE_EXT             0x88F1
1766#endif
1767
1768#if GL_EXT_geometry_shader4
1769#define GL_GEOMETRY_SHADER_EXT                      0x8DD9
1770#define GL_GEOMETRY_VERTICES_OUT_EXT                0x8DDA
1771#define GL_GEOMETRY_INPUT_TYPE_EXT                  0x8DDB
1772#define GL_GEOMETRY_OUTPUT_TYPE_EXT                 0x8DDC
1773#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT     0x8C29
1774#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT      0x8DDD
1775#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT        0x8DDE
1776#define GL_MAX_VARYING_COMPONENTS_EXT               0x8B4B
1777#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT      0x8DDF
1778#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT         0x8DE0
1779#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
1780#define GL_LINES_ADJACENCY_EXT                      0xA
1781#define GL_LINE_STRIP_ADJACENCY_EXT                 0xB
1782#define GL_TRIANGLES_ADJACENCY_EXT                  0xC
1783#define GL_TRIANGLE_STRIP_ADJACENCY_EXT             0xD
1784#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
1785#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT   0x8DA9
1786#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT       0x8DA7
1787#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
1788#define GL_PROGRAM_POINT_SIZE_EXT                   0x8642
1789#endif
1790
1791#if GL_EXT_transform_feedback
1792#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT                      0x8C8E
1793#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT                0x8C84
1794#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT                 0x8C85
1795#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT              0x8C8F
1796#define GL_INTERLEAVED_ATTRIBS_EXT                            0x8C8C
1797#define GL_SEPARATE_ATTRIBS_EXT                               0x8C8D
1798#define GL_PRIMITIVES_GENERATED_EXT                           0x8C87
1799#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT          0x8C88
1800#define GL_RASTERIZER_DISCARD_EXT                             0x8C89
1801#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT  0x8C8A
1802#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT        0x8C8B
1803#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT     0x8C80
1804#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT                    0x8C83
1805#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT                 0x8C7F
1806#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT          0x8C76
1807#endif
1808
1809#if GL_EXT_bindable_uniform
1810#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT                0x8DE2
1811#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT              0x8DE3
1812#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT              0x8DE4
1813#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT                   0x8DED
1814#define GL_UNIFORM_BUFFER_BINDING_EXT                      0x8DEF
1815#define GL_UNIFORM_BUFFER_EXT                              0x8DEE
1816#endif
1817
1818#if GL_EXT_texture_integer
1819#define GL_RGBA_INTEGER_MODE_EXT                           0x8D9E
1820#define GL_RGBA32UI_EXT                                    0x8D70
1821#define GL_RGB32UI_EXT                                     0x8D71
1822#define GL_ALPHA32UI_EXT                                   0x8D72
1823#define GL_INTENSITY32UI_EXT                               0x8D73
1824#define GL_LUMINANCE32UI_EXT                               0x8D74
1825#define GL_LUMINANCE_ALPHA32UI_EXT                         0x8D75
1826#define GL_RGBA16UI_EXT                                    0x8D76
1827#define GL_RGB16UI_EXT                                     0x8D77
1828#define GL_ALPHA16UI_EXT                                   0x8D78
1829#define GL_INTENSITY16UI_EXT                               0x8D79
1830#define GL_LUMINANCE16UI_EXT                               0x8D7A
1831#define GL_LUMINANCE_ALPHA16UI_EXT                         0x8D7B
1832#define GL_RGBA8UI_EXT                                     0x8D7C
1833#define GL_RGB8UI_EXT                                      0x8D7D
1834#define GL_ALPHA8UI_EXT                                    0x8D7E
1835#define GL_INTENSITY8UI_EXT                                0x8D7F
1836#define GL_LUMINANCE8UI_EXT                                0x8D80
1837#define GL_LUMINANCE_ALPHA8UI_EXT                          0x8D81
1838#define GL_RGBA32I_EXT                                     0x8D82
1839#define GL_RGB32I_EXT                                      0x8D83
1840#define GL_ALPHA32I_EXT                                    0x8D84
1841#define GL_INTENSITY32I_EXT                                0x8D85
1842#define GL_LUMINANCE32I_EXT                                0x8D86
1843#define GL_LUMINANCE_ALPHA32I_EXT                          0x8D87
1844#define GL_RGBA16I_EXT                                     0x8D88
1845#define GL_RGB16I_EXT                                      0x8D89
1846#define GL_ALPHA16I_EXT                                    0x8D8A
1847#define GL_INTENSITY16I_EXT                                0x8D8B
1848#define GL_LUMINANCE16I_EXT                                0x8D8C
1849#define GL_LUMINANCE_ALPHA16I_EXT                          0x8D8D
1850#define GL_RGBA8I_EXT                                      0x8D8E
1851#define GL_RGB8I_EXT                                       0x8D8F
1852#define GL_ALPHA8I_EXT                                     0x8D90
1853#define GL_INTENSITY8I_EXT                                 0x8D91
1854#define GL_LUMINANCE8I_EXT                                 0x8D92
1855#define GL_LUMINANCE_ALPHA8I_EXT                           0x8D93
1856#define GL_RED_INTEGER_EXT                                 0x8D94
1857#define GL_GREEN_INTEGER_EXT                               0x8D95
1858#define GL_BLUE_INTEGER_EXT                                0x8D96
1859#define GL_ALPHA_INTEGER_EXT                               0x8D97
1860#define GL_RGB_INTEGER_EXT                                 0x8D98
1861#define GL_RGBA_INTEGER_EXT                                0x8D99
1862#define GL_BGR_INTEGER_EXT                                 0x8D9A
1863#define GL_BGRA_INTEGER_EXT                                0x8D9B
1864#define GL_LUMINANCE_INTEGER_EXT                           0x8D9C
1865#define GL_LUMINANCE_ALPHA_INTEGER_EXT                     0x8D9D
1866#endif
1867
1868#if GL_EXT_texture_array
1869#define GL_TEXTURE_1D_ARRAY_EXT                            0x8C18
1870#define GL_PROXY_TEXTURE_1D_ARRAY_EXT                      0x8C19
1871#define GL_TEXTURE_2D_ARRAY_EXT                            0x8C1A
1872#define GL_PROXY_TEXTURE_2D_ARRAY_EXT                      0x8C1B
1873#define GL_TEXTURE_BINDING_1D_ARRAY_EXT                    0x8C1C
1874#define GL_TEXTURE_BINDING_2D_ARRAY_EXT                    0x8C1D
1875#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT                    0x88FF
1876#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT                0x884E
1877/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
1878/* reuse GL_SAMPLER_1D_ARRAY_EXT */
1879/* reuse GL_SAMPLER_2D_ARRAY_EXT */
1880/* reuse GL_SAMPLER_1D_ARRAY_SHADOW_EXT */
1881/* reuse GL_SAMPLER_2D_ARRAY_SHADOW_EXT */
1882#endif
1883
1884#if GL_EXT_gpu_shader4
1885#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT                 0x88FD
1886#define GL_SAMPLER_1D_ARRAY_EXT                            0x8DC0
1887#define GL_SAMPLER_2D_ARRAY_EXT                            0x8DC1
1888#define GL_SAMPLER_BUFFER_EXT                              0x8DC2
1889#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT                     0x8DC3
1890#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT                     0x8DC4
1891#define GL_SAMPLER_CUBE_SHADOW_EXT                         0x8DC5
1892#define GL_UNSIGNED_INT_VEC2_EXT                           0x8DC6
1893#define GL_UNSIGNED_INT_VEC3_EXT                           0x8DC7
1894#define GL_UNSIGNED_INT_VEC4_EXT                           0x8DC8
1895#define GL_INT_SAMPLER_1D_EXT                              0x8DC9
1896#define GL_INT_SAMPLER_2D_EXT                              0x8DCA
1897#define GL_INT_SAMPLER_3D_EXT                              0x8DCB
1898#define GL_INT_SAMPLER_CUBE_EXT                            0x8DCC
1899#define GL_INT_SAMPLER_2D_RECT_EXT                         0x8DCD
1900#define GL_INT_SAMPLER_1D_ARRAY_EXT                        0x8DCE
1901#define GL_INT_SAMPLER_2D_ARRAY_EXT                        0x8DCF
1902#define GL_INT_SAMPLER_BUFFER_EXT                          0x8DD0
1903#define GL_UNSIGNED_INT_SAMPLER_1D_EXT                     0x8DD1
1904#define GL_UNSIGNED_INT_SAMPLER_2D_EXT                     0x8DD2
1905#define GL_UNSIGNED_INT_SAMPLER_3D_EXT                     0x8DD3
1906#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT                   0x8DD4
1907#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT                0x8DD5
1908#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT               0x8DD6
1909#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT               0x8DD7
1910#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT                 0x8DD8
1911#define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT                    0x8904
1912#define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT                    0x8905
1913#endif
1914
1915#if GL_EXT_provoking_vertex
1916#define GL_FIRST_VERTEX_CONVENTION_EXT                   0x8E4D
1917#define GL_LAST_VERTEX_CONVENTION_EXT                    0x8E4E
1918#define GL_PROVOKING_VERTEX_EXT                          0x8E4F
1919#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT  0x8E4C
1920#endif
1921
1922#if GL_ARB_provoking_vertex
1923#define GL_FIRST_VERTEX_CONVENTION                       0x8E4D
1924#define GL_LAST_VERTEX_CONVENTION                        0x8E4E
1925#define GL_PROVOKING_VERTEX                              0x8E4F
1926#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION      0x8E4C
1927#endif
1928
1929#if GL_EXT_vertex_array_bgra
1930#define GL_BGRA                                 0x80E1
1931#endif
1932
1933#if GL_EXT_framebuffer_sRGB
1934#define GL_FRAMEBUFFER_SRGB_EXT                 0x8DB9
1935#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT         0x8DBA
1936#endif
1937
1938#if GL_EXT_packed_float
1939#define GL_R11F_G11F_B10F_EXT                   0x8C3A
1940#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT     0x8C3B
1941#define GL_RGBA_SIGNED_COMPONENTS_EXT           0x8C3C
1942#endif
1943
1944#if GL_EXT_texture_shared_exponent
1945#define GL_RGB9_E5_EXT                          0x8C3D
1946#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT         0x8C3E
1947#define GL_TEXTURE_SHARED_SIZE_EXT              0x8C3F
1948#endif
1949
1950#if GL_EXT_timer_query
1951#define GL_TIME_ELAPSED_EXT                     0x88BF
1952#endif
1953
1954#if GL_EXT_texture_sRGB_decode
1955#define GL_TEXTURE_SRGB_DECODE_EXT              0x8A48
1956#define GL_DECODE_EXT                           0x8A49
1957#define GL_SKIP_DECODE_EXT                      0x8A4A
1958#endif
1959
1960#if GL_ARB_seamless_cube_map
1961#define GL_TEXTURE_CUBE_MAP_SEAMLESS            0x884F
1962#endif
1963
1964#if GL_APPLE_vertex_array_range
1965#define GL_VERTEX_ARRAY_RANGE_APPLE             0x851D
1966#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE      0x851E
1967#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520
1968#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE     0x8521
1969#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE      0x851F
1970#define GL_STORAGE_CLIENT_APPLE                 0x85B4
1971#define GL_STORAGE_PRIVATE_APPLE                0x85BD
1972#define GL_STORAGE_CACHED_APPLE                 0x85BE
1973#define GL_STORAGE_SHARED_APPLE                 0x85BF
1974#endif
1975
1976#if GL_APPLE_vertex_array_object
1977#define GL_VERTEX_ARRAY_BINDING_APPLE      0x85B5
1978#endif
1979
1980#if GL_APPLE_element_array
1981#define GL_ELEMENT_ARRAY_APPLE             0x8A0C
1982#define GL_ELEMENT_ARRAY_TYPE_APPLE        0x8A0D
1983#define GL_ELEMENT_ARRAY_POINTER_APPLE     0x8A0E
1984#endif
1985
1986#if GL_APPLE_fence
1987#define GL_DRAW_PIXELS_APPLE              0x8A0A
1988#define GL_FENCE_APPLE                    0x8A0B
1989#define GL_BUFFER_OBJECT_APPLE            0x85B3
1990#endif
1991
1992#if GL_APPLE_specular_vector
1993#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
1994#endif
1995
1996#if GL_APPLE_transform_hint
1997#define GL_TRANSFORM_HINT_APPLE           0x85B1
1998#endif
1999
2000#if GL_APPLE_client_storage
2001#define GL_UNPACK_CLIENT_STORAGE_APPLE    0x85B2
2002#endif
2003
2004#if GL_APPLE_ycbcr_422
2005#define GL_YCBCR_422_APPLE                 0x85B9
2006#endif
2007
2008#if GL_APPLE_rgb_422
2009#define GL_RGB_422_APPLE                   0x8A1F
2010#endif
2011
2012#if GL_APPLE_ycbcr_422 || GL_APPLE_rgb_422
2013#define GL_UNSIGNED_SHORT_8_8_APPLE        0x85BA
2014#define GL_UNSIGNED_SHORT_8_8_REV_APPLE    0x85BB
2015#endif
2016
2017#if GL_APPLE_texture_range
2018#define GL_TEXTURE_RANGE_LENGTH_APPLE      0x85B7
2019#define GL_TEXTURE_RANGE_POINTER_APPLE     0x85B8
2020#define GL_TEXTURE_STORAGE_HINT_APPLE      0x85BC
2021#define GL_TEXTURE_MINIMIZE_STORAGE_APPLE  0x85B6
2022#define GL_STORAGE_PRIVATE_APPLE           0x85BD
2023#define GL_STORAGE_CACHED_APPLE            0x85BE
2024#define GL_STORAGE_SHARED_APPLE            0x85BF
2025#endif
2026
2027#if GL_APPLE_float_pixels
2028#define GL_HALF_APPLE                      0x140B
2029#define GL_COLOR_FLOAT_APPLE               0x8A0F
2030#define GL_RGBA_FLOAT32_APPLE              0x8814
2031#define GL_RGB_FLOAT32_APPLE               0x8815
2032#define GL_ALPHA_FLOAT32_APPLE             0x8816
2033#define GL_INTENSITY_FLOAT32_APPLE         0x8817
2034#define GL_LUMINANCE_FLOAT32_APPLE         0x8818
2035#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE   0x8819
2036#define GL_RGBA_FLOAT16_APPLE              0x881A
2037#define GL_RGB_FLOAT16_APPLE               0x881B
2038#define GL_ALPHA_FLOAT16_APPLE             0x881C
2039#define GL_INTENSITY_FLOAT16_APPLE         0x881D
2040#define GL_LUMINANCE_FLOAT16_APPLE         0x881E
2041#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE   0x881F
2042#endif
2043
2044#if GL_APPLE_pixel_buffer
2045#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10
2046#endif
2047
2048#if GL_APPLE_vertex_program_evaluators
2049#define GL_VERTEX_ATTRIB_MAP1_APPLE                      0x8A00
2050#define GL_VERTEX_ATTRIB_MAP2_APPLE                      0x8A01
2051#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE                 0x8A02
2052#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE                0x8A03
2053#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE                0x8A04
2054#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE               0x8A05
2055#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE                 0x8A06
2056#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE                0x8A07
2057#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE                0x8A08
2058#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE               0x8A09
2059#endif
2060
2061#if GL_APPLE_flush_buffer_range
2062#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12
2063#define GL_BUFFER_FLUSHING_UNMAP_APPLE    0x8A13
2064#endif
2065
2066#if GL_APPLE_aux_depth_stencil
2067#define GL_AUX_DEPTH_STENCIL_APPLE        0x8A14
2068#endif
2069
2070#if GL_APPLE_row_bytes
2071#define GL_PACK_ROW_BYTES_APPLE           0x8A15
2072#define GL_UNPACK_ROW_BYTES_APPLE         0x8A16
2073#define GL_PACK_IMAGE_BYTES_APPLE         0x8A17
2074#define GL_UNPACK_IMAGE_BYTES_APPLE       0x8A18
2075#endif
2076
2077#if GL_APPLE_object_purgeable
2078#define GL_RELEASED_APPLE                 0x8A19
2079#define GL_VOLATILE_APPLE                 0x8A1A
2080#define GL_RETAINED_APPLE                 0x8A1B
2081#define GL_UNDEFINED_APPLE                0x8A1C
2082#define GL_PURGEABLE_APPLE                0x8A1D
2083#endif
2084
2085#if GL_APPLE_vertex_point_size
2086#define GL_VERTEX_POINT_SIZE_APPLE               0x8A26
2087#define GL_CURRENT_POINT_SIZE_APPLE              0x8A27
2088#define GL_POINT_SIZE_ARRAY_APPLE                0x8B9C
2089#define GL_POINT_SIZE_ARRAY_TYPE_APPLE           0x898A
2090#define GL_POINT_SIZE_ARRAY_STRIDE_APPLE         0x898B
2091#define GL_POINT_SIZE_ARRAY_POINTER_APPLE        0x898C
2092#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_APPLE 0x8B9F
2093#endif
2094
2095#if GL_ATI_blend_weighted_minmax
2096#define GL_MIN_WEIGHTED_ATI               0x877D
2097#define GL_MAX_WEIGHTED_ATI               0x877E
2098#endif
2099
2100#if GL_ATI_texture_env_combine3
2101#define GL_MODULATE_ADD_ATI               0x8744
2102#define GL_MODULATE_SIGNED_ADD_ATI        0x8745
2103#define GL_MODULATE_SUBTRACT_ATI          0x8746
2104#endif
2105
2106#if GL_ATI_separate_stencil
2107#define GL_STENCIL_BACK_FUNC_ATI            0x8800
2108#define GL_STENCIL_BACK_FAIL_ATI            0x8801
2109#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
2110#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803
2111#endif
2112
2113#if GL_ATI_array_rev_comps_in_4_bytes
2114#define GL_ARRAY_REV_COMPS_IN_4_BYTES_ATI 0x897C
2115#endif
2116
2117#if GL_ATI_texture_mirror_once
2118#define GL_MIRROR_CLAMP_ATI                             0x8742
2119#define GL_MIRROR_CLAMP_TO_EDGE_ATI                     0x8743
2120#endif
2121
2122#if GL_ATI_pn_triangles
2123#define GL_PN_TRIANGLES_ATI                             0x6090
2124#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI       0x6091
2125#define GL_PN_TRIANGLES_POINT_MODE_ATI                  0x6092
2126#define GL_PN_TRIANGLES_NORMAL_MODE_ATI                 0x6093
2127#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI           0x6094
2128#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI           0x6095
2129#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI            0x6096
2130#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI          0x6097
2131#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI       0x6098
2132#endif
2133
2134#if GL_ATI_text_fragment_shader
2135#define GL_TEXT_FRAGMENT_SHADER_ATI                     0x8200
2136#endif
2137
2138#if GL_ATI_blend_equation_separate
2139#define GL_ALPHA_BLEND_EQUATION_ATI                     0x883D
2140#endif
2141
2142#if GL_ATI_point_cull_mode
2143#define GL_POINT_CULL_MODE_ATI                           0x60B3
2144#define GL_POINT_CULL_CENTER_ATI                         0x60B4
2145#define GL_POINT_CULL_CLIP_ATI                           0x60B5
2146#endif
2147
2148#if GL_ATIX_pn_triangles
2149#define GL_PN_TRIANGLES_ATIX                            0x6090
2150#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATIX      0x6091
2151#define GL_PN_TRIANGLES_POINT_MODE_ATIX                 0x6092
2152#define GL_PN_TRIANGLES_NORMAL_MODE_ATIX                0x6093
2153#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATIX          0x6094
2154#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATIX          0x6095
2155#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATIX           0x6096
2156#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATIX         0x6097
2157#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATIX      0x6098
2158#endif
2159
2160#if GL_ATI_texture_compression_3dc
2161#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI           0x8837
2162#endif
2163
2164#if GL_ARB_texture_compression_rgtc
2165#define GL_COMPRESSED_RED_RGTC1                       0x8DBB
2166#define GL_COMPRESSED_SIGNED_RED_RGTC1                0x8DBC
2167#define GL_COMPRESSED_RG_RGTC2                        0x8DBD
2168#define GL_COMPRESSED_SIGNED_RG_RGTC2                 0x8DBE
2169#endif
2170
2171#if GL_ATI_texture_float
2172#define GL_RGBA_FLOAT32_ATI                             0x8814
2173#define GL_RGB_FLOAT32_ATI                              0x8815
2174#define GL_ALPHA_FLOAT32_ATI                            0x8816
2175#define GL_INTENSITY_FLOAT32_ATI                        0x8817
2176#define GL_LUMINANCE_FLOAT32_ATI                        0x8818
2177#define GL_LUMINANCE_ALPHA_FLOAT32_ATI                  0x8819
2178#define GL_RGBA_FLOAT16_ATI                             0x881A
2179#define GL_RGB_FLOAT16_ATI                              0x881B
2180#define GL_ALPHA_FLOAT16_ATI                            0x881C
2181#define GL_INTENSITY_FLOAT16_ATI                        0x881D
2182#define GL_LUMINANCE_FLOAT16_ATI                        0x881E
2183#define GL_LUMINANCE_ALPHA_FLOAT16_ATI                  0x881F
2184#endif
2185
2186
2187#if GL_HP_image_transform
2188#define GL_IMAGE_SCALE_X_HP               0x8155
2189#define GL_IMAGE_SCALE_Y_HP               0x8156
2190#define GL_IMAGE_TRANSLATE_X_HP           0x8157
2191#define GL_IMAGE_TRANSLATE_Y_HP           0x8158
2192#define GL_IMAGE_ROTATE_ANGLE_HP          0x8159
2193#define GL_IMAGE_ROTATE_ORIGIN_X_HP       0x815A
2194#define GL_IMAGE_ROTATE_ORIGIN_Y_HP       0x815B
2195#define GL_IMAGE_MAG_FILTER_HP            0x815C
2196#define GL_IMAGE_MIN_FILTER_HP            0x815D
2197#define GL_IMAGE_CUBIC_WEIGHT_HP          0x815E
2198#define GL_CUBIC_HP                       0x815F
2199#define GL_AVERAGE_HP                     0x8160
2200#define GL_IMAGE_TRANSFORM_2D_HP          0x8161
2201#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162
2202#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163
2203#endif
2204
2205#if GL_HP_convolution_border_modes
2206#define GL_IGNORE_BORDER_HP               0x8150
2207#define GL_CONSTANT_BORDER_HP             0x8151
2208#define GL_REPLICATE_BORDER_HP            0x8153
2209#define GL_CONVOLUTION_BORDER_COLOR_HP    0x8154
2210#endif
2211
2212#if GL_HP_texture_lighting
2213#define GL_TEXTURE_LIGHTING_MODE_HP       0x8167
2214#define GL_TEXTURE_POST_SPECULAR_HP       0x8168
2215#define GL_TEXTURE_PRE_SPECULAR_HP        0x8169
2216#endif
2217
2218#if GL_HP_occlusion_test
2219#define GL_OCCLUSION_TEST_HP              0x8165
2220#define GL_OCCLUSION_TEST_RESULT_HP       0x8166
2221#endif
2222
2223
2224#if GL_IBM_rasterpos_clip
2225#define GL_RASTER_POSITION_UNCLIPPED_IBM  0x19262
2226#endif
2227
2228#if GL_IBM_cull_vertex
2229#define GL_CULL_VERTEX_IBM                103050
2230#endif
2231
2232#if GL_IBM_vertex_array_lists
2233#define GL_VERTEX_ARRAY_LIST_IBM          103070
2234#define GL_NORMAL_ARRAY_LIST_IBM          103071
2235#define GL_COLOR_ARRAY_LIST_IBM           103072
2236#define GL_INDEX_ARRAY_LIST_IBM           103073
2237#define GL_TEXTURE_COORD_ARRAY_LIST_IBM   103074
2238#define GL_EDGE_FLAG_ARRAY_LIST_IBM       103075
2239#define GL_FOG_COORDINATE_ARRAY_LIST_IBM  103076
2240#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077
2241#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM   103080
2242#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM   103081
2243#define GL_COLOR_ARRAY_LIST_STRIDE_IBM    103082
2244#define GL_INDEX_ARRAY_LIST_STRIDE_IBM    103083
2245#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084
2246#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085
2247#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086
2248#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087
2249#endif
2250
2251
2252#if GL_INGR_color_clamp
2253#define GL_RED_MIN_CLAMP_INGR             0x8560
2254#define GL_GREEN_MIN_CLAMP_INGR           0x8561
2255#define GL_BLUE_MIN_CLAMP_INGR            0x8562
2256#define GL_ALPHA_MIN_CLAMP_INGR           0x8563
2257#define GL_RED_MAX_CLAMP_INGR             0x8564
2258#define GL_GREEN_MAX_CLAMP_INGR           0x8565
2259#define GL_BLUE_MAX_CLAMP_INGR            0x8566
2260#define GL_ALPHA_MAX_CLAMP_INGR           0x8567
2261#endif
2262
2263#if GL_INGR_interlace_read
2264#define GL_INTERLACE_READ_INGR            0x8568
2265#endif
2266
2267
2268#if GL_INTEL_parallel_arrays
2269#define GL_PARALLEL_ARRAYS_INTEL          0x83F4
2270#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
2271#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
2272#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
2273#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8
2274#endif
2275
2276
2277#if GL_NV_texgen_reflection
2278#define GL_NORMAL_MAP_NV                  0x8511
2279#define GL_REFLECTION_MAP_NV              0x8512
2280#endif
2281
2282#if GL_NV_light_max_exponent
2283#define GL_MAX_SHININESS_NV               0x8504
2284#define GL_MAX_SPOT_EXPONENT_NV           0x8505
2285#endif
2286
2287#if GL_NV_vertex_array_range
2288#define GL_VERTEX_ARRAY_RANGE_NV          0x851D
2289#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV   0x851E
2290#define GL_VERTEX_ARRAY_RANGE_VALID_NV    0x851F
2291#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
2292#define GL_VERTEX_ARRAY_RANGE_POINTER_NV  0x8521
2293#endif
2294
2295#if GL_NV_vertex_array_range2
2296#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
2297#endif
2298
2299#if GL_NV_register_combiners
2300#define GL_REGISTER_COMBINERS_NV          0x8522
2301#define GL_VARIABLE_A_NV                  0x8523
2302#define GL_VARIABLE_B_NV                  0x8524
2303#define GL_VARIABLE_C_NV                  0x8525
2304#define GL_VARIABLE_D_NV                  0x8526
2305#define GL_VARIABLE_E_NV                  0x8527
2306#define GL_VARIABLE_F_NV                  0x8528
2307#define GL_VARIABLE_G_NV                  0x8529
2308#define GL_CONSTANT_COLOR0_NV             0x852A
2309#define GL_CONSTANT_COLOR1_NV             0x852B
2310#define GL_PRIMARY_COLOR_NV               0x852C
2311#define GL_SECONDARY_COLOR_NV             0x852D
2312#define GL_SPARE0_NV                      0x852E
2313#define GL_SPARE1_NV                      0x852F
2314#define GL_DISCARD_NV                     0x8530
2315#define GL_E_TIMES_F_NV                   0x8531
2316#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
2317#define GL_UNSIGNED_IDENTITY_NV           0x8536
2318#define GL_UNSIGNED_INVERT_NV             0x8537
2319#define GL_EXPAND_NORMAL_NV               0x8538
2320#define GL_EXPAND_NEGATE_NV               0x8539
2321#define GL_HALF_BIAS_NORMAL_NV            0x853A
2322#define GL_HALF_BIAS_NEGATE_NV            0x853B
2323#define GL_SIGNED_IDENTITY_NV             0x853C
2324#define GL_SIGNED_NEGATE_NV               0x853D
2325#define GL_SCALE_BY_TWO_NV                0x853E
2326#define GL_SCALE_BY_FOUR_NV               0x853F
2327#define GL_SCALE_BY_ONE_HALF_NV           0x8540
2328#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV   0x8541
2329#define GL_COMBINER_INPUT_NV              0x8542
2330#define GL_COMBINER_MAPPING_NV            0x8543
2331#define GL_COMBINER_COMPONENT_USAGE_NV    0x8544
2332#define GL_COMBINER_AB_DOT_PRODUCT_NV     0x8545
2333#define GL_COMBINER_CD_DOT_PRODUCT_NV     0x8546
2334#define GL_COMBINER_MUX_SUM_NV            0x8547
2335#define GL_COMBINER_SCALE_NV              0x8548
2336#define GL_COMBINER_BIAS_NV               0x8549
2337#define GL_COMBINER_AB_OUTPUT_NV          0x854A
2338#define GL_COMBINER_CD_OUTPUT_NV          0x854B
2339#define GL_COMBINER_SUM_OUTPUT_NV         0x854C
2340#define GL_MAX_GENERAL_COMBINERS_NV       0x854D
2341#define GL_NUM_GENERAL_COMBINERS_NV       0x854E
2342#define GL_COLOR_SUM_CLAMP_NV             0x854F
2343#define GL_COMBINER0_NV                   0x8550
2344#define GL_COMBINER1_NV                   0x8551
2345#define GL_COMBINER2_NV                   0x8552
2346#define GL_COMBINER3_NV                   0x8553
2347#define GL_COMBINER4_NV                   0x8554
2348#define GL_COMBINER5_NV                   0x8555
2349#define GL_COMBINER6_NV                   0x8556
2350#define GL_COMBINER7_NV                   0x8557
2351/* reuse GL_TEXTURE0_ARB */
2352/* reuse GL_TEXTURE1_ARB */
2353/* reuse GL_ZERO */
2354/* reuse GL_NONE */
2355/* reuse GL_FOG */
2356#endif
2357
2358#if GL_NV_register_combiners2
2359#define GL_PER_STAGE_CONSTANTS_NV         0x8535
2360#endif
2361
2362#if GL_NV_fog_distance
2363#define GL_FOG_DISTANCE_MODE_NV           0x855A
2364#define GL_EYE_RADIAL_NV                  0x855B
2365#define GL_EYE_PLANE_ABSOLUTE_NV          0x855C
2366/* reuse GL_EYE_PLANE */
2367#endif
2368
2369#if GL_NV_texgen_emboss
2370#define GL_EMBOSS_LIGHT_NV                0x855D
2371#define GL_EMBOSS_CONSTANT_NV             0x855E
2372#define GL_EMBOSS_MAP_NV                  0x855F
2373#endif
2374
2375#if GL_NV_vertex_program
2376#define GL_VERTEX_PROGRAM_NV              0x8620
2377#define GL_VERTEX_STATE_PROGRAM_NV        0x8621
2378#define GL_ATTRIB_ARRAY_SIZE_NV           0x8623
2379#define GL_ATTRIB_ARRAY_STRIDE_NV         0x8624
2380#define GL_ATTRIB_ARRAY_TYPE_NV           0x8625
2381#define GL_CURRENT_ATTRIB_NV              0x8626
2382#define GL_PROGRAM_LENGTH_NV              0x8627
2383#define GL_PROGRAM_STRING_NV              0x8628
2384#define GL_MODELVIEW_PROJECTION_NV        0x8629
2385#define GL_IDENTITY_NV                    0x862A
2386#define GL_INVERSE_NV                     0x862B
2387#define GL_TRANSPOSE_NV                   0x862C
2388#define GL_INVERSE_TRANSPOSE_NV           0x862D
2389#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
2390#define GL_MAX_TRACK_MATRICES_NV          0x862F
2391#define GL_MATRIX0_NV                     0x8630
2392#define GL_MATRIX1_NV                     0x8631
2393#define GL_MATRIX2_NV                     0x8632
2394#define GL_MATRIX3_NV                     0x8633
2395#define GL_MATRIX4_NV                     0x8634
2396#define GL_MATRIX5_NV                     0x8635
2397#define GL_MATRIX6_NV                     0x8636
2398#define GL_MATRIX7_NV                     0x8637
2399#define GL_CURRENT_MATRIX_STACK_DEPTH_NV  0x8640
2400#define GL_CURRENT_MATRIX_NV              0x8641
2401#define GL_VERTEX_PROGRAM_POINT_SIZE_NV   0x8642
2402#define GL_VERTEX_PROGRAM_TWO_SIDE_NV     0x8643
2403#define GL_PROGRAM_PARAMETER_NV           0x8644
2404#define GL_ATTRIB_ARRAY_POINTER_NV        0x8645
2405#define GL_PROGRAM_TARGET_NV              0x8646
2406#define GL_PROGRAM_RESIDENT_NV            0x8647
2407#define GL_TRACK_MATRIX_NV                0x8648
2408#define GL_TRACK_MATRIX_TRANSFORM_NV      0x8649
2409#define GL_VERTEX_PROGRAM_BINDING_NV      0x864A
2410#define GL_PROGRAM_ERROR_POSITION_NV      0x864B
2411#define GL_VERTEX_ATTRIB_ARRAY0_NV        0x8650
2412#define GL_VERTEX_ATTRIB_ARRAY1_NV        0x8651
2413#define GL_VERTEX_ATTRIB_ARRAY2_NV        0x8652
2414#define GL_VERTEX_ATTRIB_ARRAY3_NV        0x8653
2415#define GL_VERTEX_ATTRIB_ARRAY4_NV        0x8654
2416#define GL_VERTEX_ATTRIB_ARRAY5_NV        0x8655
2417#define GL_VERTEX_ATTRIB_ARRAY6_NV        0x8656
2418#define GL_VERTEX_ATTRIB_ARRAY7_NV        0x8657
2419#define GL_VERTEX_ATTRIB_ARRAY8_NV        0x8658
2420#define GL_VERTEX_ATTRIB_ARRAY9_NV        0x8659
2421#define GL_VERTEX_ATTRIB_ARRAY10_NV       0x865A
2422#define GL_VERTEX_ATTRIB_ARRAY11_NV       0x865B
2423#define GL_VERTEX_ATTRIB_ARRAY12_NV       0x865C
2424#define GL_VERTEX_ATTRIB_ARRAY13_NV       0x865D
2425#define GL_VERTEX_ATTRIB_ARRAY14_NV       0x865E
2426#define GL_VERTEX_ATTRIB_ARRAY15_NV       0x865F
2427#define GL_MAP1_VERTEX_ATTRIB0_4_NV       0x8660
2428#define GL_MAP1_VERTEX_ATTRIB1_4_NV       0x8661
2429#define GL_MAP1_VERTEX_ATTRIB2_4_NV       0x8662
2430#define GL_MAP1_VERTEX_ATTRIB3_4_NV       0x8663
2431#define GL_MAP1_VERTEX_ATTRIB4_4_NV       0x8664
2432#define GL_MAP1_VERTEX_ATTRIB5_4_NV       0x8665
2433#define GL_MAP1_VERTEX_ATTRIB6_4_NV       0x8666
2434#define GL_MAP1_VERTEX_ATTRIB7_4_NV       0x8667
2435#define GL_MAP1_VERTEX_ATTRIB8_4_NV       0x8668
2436#define GL_MAP1_VERTEX_ATTRIB9_4_NV       0x8669
2437#define GL_MAP1_VERTEX_ATTRIB10_4_NV      0x866A
2438#define GL_MAP1_VERTEX_ATTRIB11_4_NV      0x866B
2439#define GL_MAP1_VERTEX_ATTRIB12_4_NV      0x866C
2440#define GL_MAP1_VERTEX_ATTRIB13_4_NV      0x866D
2441#define GL_MAP1_VERTEX_ATTRIB14_4_NV      0x866E
2442#define GL_MAP1_VERTEX_ATTRIB15_4_NV      0x866F
2443#define GL_MAP2_VERTEX_ATTRIB0_4_NV       0x8670
2444#define GL_MAP2_VERTEX_ATTRIB1_4_NV       0x8671
2445#define GL_MAP2_VERTEX_ATTRIB2_4_NV       0x8672
2446#define GL_MAP2_VERTEX_ATTRIB3_4_NV       0x8673
2447#define GL_MAP2_VERTEX_ATTRIB4_4_NV       0x8674
2448#define GL_MAP2_VERTEX_ATTRIB5_4_NV       0x8675
2449#define GL_MAP2_VERTEX_ATTRIB6_4_NV       0x8676
2450#define GL_MAP2_VERTEX_ATTRIB7_4_NV       0x8677
2451#define GL_MAP2_VERTEX_ATTRIB8_4_NV       0x8678
2452#define GL_MAP2_VERTEX_ATTRIB9_4_NV       0x8679
2453#define GL_MAP2_VERTEX_ATTRIB10_4_NV      0x867A
2454#define GL_MAP2_VERTEX_ATTRIB11_4_NV      0x867B
2455#define GL_MAP2_VERTEX_ATTRIB12_4_NV      0x867C
2456#define GL_MAP2_VERTEX_ATTRIB13_4_NV      0x867D
2457#define GL_MAP2_VERTEX_ATTRIB14_4_NV      0x867E
2458#define GL_MAP2_VERTEX_ATTRIB15_4_NV      0x867F
2459#endif
2460
2461#if GL_NV_texture_shader
2462#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV          0x86D9
2463#define GL_UNSIGNED_INT_S8_S8_8_8_NV                     0x86DA
2464#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV                 0x86DB
2465#define GL_DSDT_MAG_INTENSITY_NV                         0x86DC
2466#define GL_TEXTURE_SHADER_NV                             0x86DE
2467#define GL_SHADER_OPERATION_NV                           0x86DF
2468
2469#define GL_CULL_MODES_NV                                 0x86E0
2470#define GL_OFFSET_TEXTURE_MATRIX_NV                      0x86E1
2471#define GL_OFFSET_TEXTURE_SCALE_NV                       0x86E2
2472#define GL_OFFSET_TEXTURE_BIAS_NV                        0x86E3
2473#define GL_OFFSET_TEXTURE_2D_MATRIX_NV                   GL_OFFSET_TEXTURE_MATRIX_NV
2474#define GL_OFFSET_TEXTURE_2D_SCALE_NV                    GL_OFFSET_TEXTURE_SCALE_NV
2475#define GL_OFFSET_TEXTURE_2D_BIAS_NV                     GL_OFFSET_TEXTURE_BIAS_NV
2476#define GL_PREVIOUS_TEXTURE_INPUT_NV                     0x86E4
2477#define GL_CONST_EYE_NV                                  0x86E5
2478#define GL_SHADER_CONSISTENT_NV                          0x86DD
2479#define GL_PASS_THROUGH_NV                               0x86E6
2480#define GL_CULL_FRAGMENT_NV                              0x86E7
2481#define GL_OFFSET_TEXTURE_2D_NV                          0x86E8
2482#define GL_OFFSET_TEXTURE_RECTANGLE_NV                   0x864C
2483#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV             0x864D
2484#define GL_DEPENDENT_AR_TEXTURE_2D_NV                    0x86E9
2485#define GL_DEPENDENT_GB_TEXTURE_2D_NV                    0x86EA
2486#define GL_DOT_PRODUCT_NV                                0x86EC
2487#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV                  0x86ED
2488#define GL_DOT_PRODUCT_TEXTURE_2D_NV                     0x86EE
2489#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV              0x864E
2490#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV               0x86F0
2491#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV               0x86F1
2492#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV               0x86F2
2493#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV     0x86F3
2494#define GL_HILO_NV                                       0x86F4
2495#define GL_DSDT_NV                                       0x86F5
2496#define GL_DSDT_MAG_NV                                   0x86F6
2497#define GL_DSDT_MAG_VIB_NV                               0x86F7
2498#define GL_HILO16_NV                                     0x86F8
2499#define GL_SIGNED_HILO_NV                                0x86F9
2500#define GL_SIGNED_HILO16_NV                              0x86FA
2501#define GL_SIGNED_RGBA_NV                                0x86FB
2502#define GL_SIGNED_RGBA8_NV                               0x86FC
2503#define GL_SIGNED_RGB_NV                                 0x86FE
2504#define GL_SIGNED_RGB8_NV                                0x86FF
2505#define GL_SIGNED_LUMINANCE_NV                           0x8701
2506#define GL_SIGNED_LUMINANCE8_NV                          0x8702
2507#define GL_SIGNED_LUMINANCE_ALPHA_NV                     0x8703
2508#define GL_SIGNED_LUMINANCE8_ALPHA8_NV                   0x8704
2509#define GL_SIGNED_ALPHA_NV                               0x8705
2510#define GL_SIGNED_ALPHA8_NV                              0x8706
2511#define GL_SIGNED_INTENSITY_NV                           0x8707
2512#define GL_SIGNED_INTENSITY8_NV                          0x8708
2513#define GL_DSDT8_NV                                      0x8709
2514#define GL_DSDT8_MAG8_NV                                 0x870A
2515#define GL_DSDT8_MAG8_INTENSITY8_NV                      0x870B
2516#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV                  0x870C
2517#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV                0x870D
2518#define GL_HI_SCALE_NV                                   0x870E
2519#define GL_LO_SCALE_NV                                   0x870F
2520#define GL_DS_SCALE_NV                                   0x8710
2521#define GL_DT_SCALE_NV                                   0x8711
2522#define GL_MAGNITUDE_SCALE_NV                            0x8712
2523#define GL_VIBRANCE_SCALE_NV                             0x8713
2524#define GL_HI_BIAS_NV                                    0x8714
2525#define GL_LO_BIAS_NV                                    0x8715
2526#define GL_DS_BIAS_NV                                    0x8716
2527#define GL_DT_BIAS_NV                                    0x8717
2528#define GL_MAGNITUDE_BIAS_NV                             0x8718
2529#define GL_VIBRANCE_BIAS_NV                              0x8719
2530#define GL_TEXTURE_BORDER_VALUES_NV                      0x871A
2531#define GL_TEXTURE_HI_SIZE_NV                            0x871B
2532#define GL_TEXTURE_LO_SIZE_NV                            0x871C
2533#define GL_TEXTURE_DS_SIZE_NV                            0x871D
2534#define GL_TEXTURE_DT_SIZE_NV                            0x871E
2535#define GL_TEXTURE_MAG_SIZE_NV                           0x871F
2536#endif
2537
2538#if GL_NV_texture_shader2
2539#define GL_DOT_PRODUCT_TEXTURE_3D_NV                     0x86EF
2540#endif
2541
2542#if GL_NV_texture_shader3
2543#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV               0x8850
2544#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV         0x8851
2545#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV        0x8852
2546#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV  0x8853
2547#define GL_OFFSET_HILO_TEXTURE_2D_NV                     0x8854
2548#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV              0x8855
2549#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV          0x8856
2550#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV   0x8857
2551#define GL_DEPENDENT_HILO_TEXTURE_2D_NV                  0x8858
2552#define GL_DEPENDENT_RGB_TEXTURE_3D_NV                   0x8859
2553#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV             0x885A
2554#define GL_DOT_PRODUCT_PASS_THROUGH_NV                   0x885B
2555#define GL_DOT_PRODUCT_TEXTURE_1D_NV                     0x885C
2556#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV           0x885D
2557#define GL_HILO8_NV                                      0x885E
2558#define GL_SIGNED_HILO8_NV                               0x885F
2559#define GL_FORCE_BLUE_TO_ONE_NV                          0x8860
2560#endif
2561
2562#if GL_NV_point_sprite
2563#define GL_POINT_SPRITE_NV                               0x8861
2564#define GL_COORD_REPLACE_NV                              0x8862
2565#define GL_POINT_SPRITE_R_MODE_NV                        0x8863
2566#endif
2567
2568#if GL_NV_depth_clamp
2569#define GL_DEPTH_CLAMP_NV                                0x864F
2570#endif
2571
2572#if GL_NV_multisample_filter_hint
2573#define GL_MULTISAMPLE_FILTER_HINT_NV                    0x8534
2574#endif
2575
2576#if GL_NV_light_max_exponent
2577#define GL_MAX_SHININESS_NV                              0x8504
2578#define GL_MAX_SPOT_EXPONENT_NV                          0x8505
2579#endif
2580
2581#if GL_NV_fragment_program2 || GL_NV_vertex_program2_option
2582#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV              0x88F4
2583#define GL_MAX_PROGRAM_CALL_DEPTH_NV                     0x88F5
2584#endif
2585
2586#if GL_NV_fragment_program2
2587#define GL_MAX_PROGRAM_IF_DEPTH_NV                       0x88F6
2588#define GL_MAX_PROGRAM_LOOP_DEPTH_NV                     0x88F7
2589#define GL_MAX_PROGRAM_LOOP_COUNT_NV                     0x88F8
2590#endif
2591
2592#if GL_NV_conditional_render
2593#define GL_QUERY_WAIT_NV                                 0x8E13
2594#define GL_QUERY_NO_WAIT_NV                              0x8E14
2595#define GL_QUERY_BY_REGION_WAIT_NV                       0x8E15
2596#define GL_QUERY_BY_REGION_NO_WAIT_NV                    0x8E16
2597#endif
2598
2599#if GL_PGI_vertex_hints
2600#define GL_VERTEX_DATA_HINT_PGI           0x1A22A
2601#define GL_VERTEX_CONSISTENT_HINT_PGI     0x1A22B
2602#define GL_MATERIAL_SIDE_HINT_PGI         0x1A22C
2603#define GL_MAX_VERTEX_HINT_PGI            0x1A22D
2604#define GL_COLOR3_BIT_PGI                 0x00010000
2605#define GL_COLOR4_BIT_PGI                 0x00020000
2606#define GL_EDGEFLAG_BIT_PGI               0x00040000
2607#define GL_INDEX_BIT_PGI                  0x00080000
2608#define GL_MAT_AMBIENT_BIT_PGI            0x00100000
2609#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
2610#define GL_MAT_DIFFUSE_BIT_PGI            0x00400000
2611#define GL_MAT_EMISSION_BIT_PGI           0x00800000
2612#define GL_MAT_COLOR_INDEXES_BIT_PGI      0x01000000
2613#define GL_MAT_SHININESS_BIT_PGI          0x02000000
2614#define GL_MAT_SPECULAR_BIT_PGI           0x04000000
2615#define GL_NORMAL_BIT_PGI                 0x08000000
2616#define GL_TEXCOORD1_BIT_PGI              0x10000000
2617#define GL_TEXCOORD2_BIT_PGI              0x20000000
2618#define GL_TEXCOORD3_BIT_PGI              0x40000000
2619#define GL_TEXCOORD4_BIT_PGI              0x80000000
2620#define GL_VERTEX23_BIT_PGI               0x00000004
2621#define GL_VERTEX4_BIT_PGI                0x00000008
2622#endif
2623
2624#if GL_PGI_misc_hints
2625#define GL_PREFER_DOUBLEBUFFER_HINT_PGI   0x1A1F8
2626#define GL_CONSERVE_MEMORY_HINT_PGI       0x1A1FD
2627#define GL_RECLAIM_MEMORY_HINT_PGI        0x1A1FE
2628#define GL_NATIVE_GRAPHICS_HANDLE_PGI     0x1A202
2629#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203
2630#define GL_NATIVE_GRAPHICS_END_HINT_PGI   0x1A204
2631#define GL_ALWAYS_FAST_HINT_PGI           0x1A20C
2632#define GL_ALWAYS_SOFT_HINT_PGI           0x1A20D
2633#define GL_ALLOW_DRAW_OBJ_HINT_PGI        0x1A20E
2634#define GL_ALLOW_DRAW_WIN_HINT_PGI        0x1A20F
2635#define GL_ALLOW_DRAW_FRG_HINT_PGI        0x1A210
2636#define GL_ALLOW_DRAW_MEM_HINT_PGI        0x1A211
2637#define GL_STRICT_DEPTHFUNC_HINT_PGI      0x1A216
2638#define GL_STRICT_LIGHTING_HINT_PGI       0x1A217
2639#define GL_STRICT_SCISSOR_HINT_PGI        0x1A218
2640#define GL_FULL_STIPPLE_HINT_PGI          0x1A219
2641#define GL_CLIP_NEAR_HINT_PGI             0x1A220
2642#define GL_CLIP_FAR_HINT_PGI              0x1A221
2643#define GL_WIDE_LINE_HINT_PGI             0x1A222
2644#define GL_BACK_NORMALS_HINT_PGI          0x1A223
2645#endif
2646
2647
2648#if GL_REND_screen_coordinates
2649#define GL_SCREEN_COORDINATES_REND        0x8490
2650#define GL_INVERTED_SCREEN_W_REND         0x8491
2651#endif
2652
2653
2654#if GL_SGI_color_matrix
2655#define GL_COLOR_MATRIX_SGI               0x80B1
2656#define GL_COLOR_MATRIX_STACK_DEPTH_SGI   0x80B2
2657#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
2658#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
2659#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
2660#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
2661#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
2662#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
2663#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
2664#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
2665#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB
2666#endif
2667
2668#if GL_SGI_color_table
2669#define GL_COLOR_TABLE_SGI                0x80D0
2670#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
2671#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
2672#define GL_PROXY_COLOR_TABLE_SGI          0x80D3
2673#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
2674#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
2675#define GL_COLOR_TABLE_SCALE_SGI          0x80D6
2676#define GL_COLOR_TABLE_BIAS_SGI           0x80D7
2677#define GL_COLOR_TABLE_FORMAT_SGI         0x80D8
2678#define GL_COLOR_TABLE_WIDTH_SGI          0x80D9
2679#define GL_COLOR_TABLE_RED_SIZE_SGI       0x80DA
2680#define GL_COLOR_TABLE_GREEN_SIZE_SGI     0x80DB
2681#define GL_COLOR_TABLE_BLUE_SIZE_SGI      0x80DC
2682#define GL_COLOR_TABLE_ALPHA_SIZE_SGI     0x80DD
2683#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
2684#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF
2685#endif
2686
2687#if GL_SGI_texture_color_table
2688#define GL_TEXTURE_COLOR_TABLE_SGI        0x80BC
2689#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI  0x80BD
2690#endif
2691
2692#if GL_SGI_depth_pass_instrument
2693#define GL_DEPTH_PASS_INSTRUMENT_SGIX     0x8310
2694#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX 0x8311
2695#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX 0x8312
2696#endif
2697
2698#if GL_SGIS_texture_filter4
2699#define GL_FILTER4_SGIS                   0x8146
2700#define GL_TEXTURE_FILTER4_SIZE_SGIS      0x8147
2701#endif
2702
2703#if GL_SGIS_pixel_texture
2704#define GL_PIXEL_TEXTURE_SGIS             0x8353
2705#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354
2706#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355
2707#define GL_PIXEL_GROUP_COLOR_SGIS         0x8356
2708#endif
2709
2710#if GL_SGIS_texture4D
2711#define GL_PACK_SKIP_VOLUMES_SGIS         0x8130
2712#define GL_PACK_IMAGE_DEPTH_SGIS          0x8131
2713#define GL_UNPACK_SKIP_VOLUMES_SGIS       0x8132
2714#define GL_UNPACK_IMAGE_DEPTH_SGIS        0x8133
2715#define GL_TEXTURE_4D_SGIS                0x8134
2716#define GL_PROXY_TEXTURE_4D_SGIS          0x8135
2717#define GL_TEXTURE_4DSIZE_SGIS            0x8136
2718#define GL_TEXTURE_WRAP_Q_SGIS            0x8137
2719#define GL_MAX_4D_TEXTURE_SIZE_SGIS       0x8138
2720#define GL_TEXTURE_4D_BINDING_SGIS        0x814F
2721#endif
2722
2723#if GL_SGIS_detail_texture
2724#define GL_DETAIL_TEXTURE_2D_SGIS         0x8095
2725#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096
2726#define GL_LINEAR_DETAIL_SGIS             0x8097
2727#define GL_LINEAR_DETAIL_ALPHA_SGIS       0x8098
2728#define GL_LINEAR_DETAIL_COLOR_SGIS       0x8099
2729#define GL_DETAIL_TEXTURE_LEVEL_SGIS      0x809A
2730#define GL_DETAIL_TEXTURE_MODE_SGIS       0x809B
2731#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C
2732#endif
2733
2734#if GL_SGIS_sharpen_texture
2735#define GL_LINEAR_SHARPEN_SGIS            0x80AD
2736#define GL_LINEAR_SHARPEN_ALPHA_SGIS      0x80AE
2737#define GL_LINEAR_SHARPEN_COLOR_SGIS      0x80AF
2738#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0
2739#endif
2740
2741#if GL_SGIS_texture_lod
2742#define GL_TEXTURE_MIN_LOD_SGIS           0x813A
2743#define GL_TEXTURE_MAX_LOD_SGIS           0x813B
2744#define GL_TEXTURE_BASE_LEVEL_SGIS        0x813C
2745#define GL_TEXTURE_MAX_LEVEL_SGIS         0x813D
2746#endif
2747
2748#if GL_SGIS_multisample
2749#define GL_MULTISAMPLE_SGIS               0x809D
2750#define GL_SAMPLE_ALPHA_TO_MASK_SGIS      0x809E
2751#define GL_SAMPLE_ALPHA_TO_ONE_SGIS       0x809F
2752#define GL_SAMPLE_MASK_SGIS               0x80A0
2753#define GL_1PASS_SGIS                     0x80A1
2754#define GL_2PASS_0_SGIS                   0x80A2
2755#define GL_2PASS_1_SGIS                   0x80A3
2756#define GL_4PASS_0_SGIS                   0x80A4
2757#define GL_4PASS_1_SGIS                   0x80A5
2758#define GL_4PASS_2_SGIS                   0x80A6
2759#define GL_4PASS_3_SGIS                   0x80A7
2760#define GL_SAMPLE_BUFFERS_SGIS            0x80A8
2761#define GL_SAMPLES_SGIS                   0x80A9
2762#define GL_SAMPLE_MASK_VALUE_SGIS         0x80AA
2763#define GL_SAMPLE_MASK_INVERT_SGIS        0x80AB
2764#define GL_SAMPLE_PATTERN_SGIS            0x80AC
2765#endif
2766
2767#if GL_SGIS_generate_mipmap
2768#define GL_GENERATE_MIPMAP_SGIS           0x8191
2769#define GL_GENERATE_MIPMAP_HINT_SGIS      0x8192
2770#endif
2771
2772#if GL_SGIS_texture_edge_clamp
2773#define GL_CLAMP_TO_EDGE_SGIS             0x812F
2774#endif
2775
2776#if GL_SGIS_texture_border_clamp
2777#define GL_CLAMP_TO_BORDER_SGIS           0x812D
2778#endif
2779
2780#if GL_SGIS_texture_select
2781#define GL_DUAL_ALPHA4_SGIS               0x8110
2782#define GL_DUAL_ALPHA8_SGIS               0x8111
2783#define GL_DUAL_ALPHA12_SGIS              0x8112
2784#define GL_DUAL_ALPHA16_SGIS              0x8113
2785#define GL_DUAL_LUMINANCE4_SGIS           0x8114
2786#define GL_DUAL_LUMINANCE8_SGIS           0x8115
2787#define GL_DUAL_LUMINANCE12_SGIS          0x8116
2788#define GL_DUAL_LUMINANCE16_SGIS          0x8117
2789#define GL_DUAL_INTENSITY4_SGIS           0x8118
2790#define GL_DUAL_INTENSITY8_SGIS           0x8119
2791#define GL_DUAL_INTENSITY12_SGIS          0x811A
2792#define GL_DUAL_INTENSITY16_SGIS          0x811B
2793#define GL_DUAL_LUMINANCE_ALPHA4_SGIS     0x811C
2794#define GL_DUAL_LUMINANCE_ALPHA8_SGIS     0x811D
2795#define GL_QUAD_ALPHA4_SGIS               0x811E
2796#define GL_QUAD_ALPHA8_SGIS               0x811F
2797#define GL_QUAD_LUMINANCE4_SGIS           0x8120
2798#define GL_QUAD_LUMINANCE8_SGIS           0x8121
2799#define GL_QUAD_INTENSITY4_SGIS           0x8122
2800#define GL_QUAD_INTENSITY8_SGIS           0x8123
2801#define GL_DUAL_TEXTURE_SELECT_SGIS       0x8124
2802#define GL_QUAD_TEXTURE_SELECT_SGIS       0x8125
2803#endif
2804
2805#if GL_SGIS_point_parameters
2806#define GL_POINT_SIZE_MIN_EXT             0x8126
2807#define GL_POINT_SIZE_MIN_SGIS            0x8126
2808#define GL_POINT_SIZE_MAX_EXT             0x8127
2809#define GL_POINT_SIZE_MAX_SGIS            0x8127
2810#define GL_POINT_FADE_THRESHOLD_SIZE_EXT  0x8128
2811#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
2812#define GL_DISTANCE_ATTENUATION_EXT       0x8129
2813#define GL_DISTANCE_ATTENUATION_SGIS      0x8129
2814#endif
2815
2816#if GL_SGIS_fog_function
2817#define GL_FOG_FUNC_SGIS                  0x812A
2818#define GL_FOG_FUNC_POINTS_SGIS           0x812B
2819#define GL_MAX_FOG_FUNC_POINTS_SGIS       0x812C
2820#endif
2821
2822#if GL_SGIS_point_line_texgen
2823#define GL_EYE_DISTANCE_TO_POINT_SGIS     0x81F0
2824#define GL_OBJECT_DISTANCE_TO_POINT_SGIS  0x81F1
2825#define GL_EYE_DISTANCE_TO_LINE_SGIS      0x81F2
2826#define GL_OBJECT_DISTANCE_TO_LINE_SGIS   0x81F3
2827#define GL_EYE_POINT_SGIS                 0x81F4
2828#define GL_OBJECT_POINT_SGIS              0x81F5
2829#define GL_EYE_LINE_SGIS                  0x81F6
2830#define GL_OBJECT_LINE_SGIS               0x81F7
2831#endif
2832
2833#if GL_SGIS_texture_color_mask
2834#define GL_TEXTURE_COLOR_WRITEMASK_SGIS   0x81EF
2835#endif
2836
2837#if GL_SGIX_pixel_texture
2838#define GL_PIXEL_TEX_GEN_SGIX             0x8139
2839#define GL_PIXEL_TEX_GEN_MODE_SGIX        0x832B
2840#endif
2841
2842#if GL_SGIX_clipmap
2843#define GL_LINEAR_CLIPMAP_LINEAR_SGIX     0x8170
2844#define GL_TEXTURE_CLIPMAP_CENTER_SGIX    0x8171
2845#define GL_TEXTURE_CLIPMAP_FRAME_SGIX     0x8172
2846#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX    0x8173
2847#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174
2848#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175
2849#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX     0x8176
2850#define GL_MAX_CLIPMAP_DEPTH_SGIX         0x8177
2851#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178
2852#define GL_NEAREST_CLIPMAP_NEAREST_SGIX   0x844D
2853#define GL_NEAREST_CLIPMAP_LINEAR_SGIX    0x844E
2854#define GL_LINEAR_CLIPMAP_NEAREST_SGIX    0x844F
2855#endif
2856
2857#if GL_SGIX_shadow
2858#define GL_TEXTURE_COMPARE_SGIX           0x819A
2859#define GL_TEXTURE_COMPARE_OPERATOR_SGIX  0x819B
2860#define GL_TEXTURE_LEQUAL_R_SGIX          0x819C
2861#define GL_TEXTURE_GEQUAL_R_SGIX          0x819D
2862#endif
2863
2864#if GL_SGIX_interlace
2865#define GL_INTERLACE_SGIX                 0x8094
2866#endif
2867
2868#if GL_SGIX_pixel_tiles
2869#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E
2870#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F
2871#define GL_PIXEL_TILE_WIDTH_SGIX          0x8140
2872#define GL_PIXEL_TILE_HEIGHT_SGIX         0x8141
2873#define GL_PIXEL_TILE_GRID_WIDTH_SGIX     0x8142
2874#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX    0x8143
2875#define GL_PIXEL_TILE_GRID_DEPTH_SGIX     0x8144
2876#define GL_PIXEL_TILE_CACHE_SIZE_SGIX     0x8145
2877#endif
2878
2879#if GL_SGIX_sprite
2880#define GL_SPRITE_SGIX                    0x8148
2881#define GL_SPRITE_MODE_SGIX               0x8149
2882#define GL_SPRITE_AXIS_SGIX               0x814A
2883#define GL_SPRITE_TRANSLATION_SGIX        0x814B
2884#define GL_SPRITE_AXIAL_SGIX              0x814C
2885#define GL_SPRITE_OBJECT_ALIGNED_SGIX     0x814D
2886#define GL_SPRITE_EYE_ALIGNED_SGIX        0x814E
2887#endif
2888
2889#if GL_SGIX_texture_multi_buffer
2890#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
2891#endif
2892
2893#if GL_SGIX_instruments
2894#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
2895#define GL_INSTRUMENT_MEASUREMENTS_SGIX   0x8181
2896#endif
2897
2898#if GL_SGIX_texture_scale_bias
2899#define GL_POST_TEXTURE_FILTER_BIAS_SGIX  0x8179
2900#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
2901#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
2902#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C
2903#endif
2904
2905#if GL_SGIX_framezoom
2906#define GL_FRAMEZOOM_SGIX                 0x818B
2907#define GL_FRAMEZOOM_FACTOR_SGIX          0x818C
2908#define GL_MAX_FRAMEZOOM_FACTOR_SGIX      0x818D
2909#endif
2910
2911#if GL_SGIX_polynomial_ffd
2912#define GL_GEOMETRY_DEFORMATION_SGIX      0x8194
2913#define GL_TEXTURE_DEFORMATION_SGIX       0x8195
2914#define GL_DEFORMATIONS_MASK_SGIX         0x8196
2915#define GL_MAX_DEFORMATION_ORDER_SGIX     0x8197
2916#endif
2917
2918#if GL_SGIX_reference_plane
2919#define GL_REFERENCE_PLANE_SGIX           0x817D
2920#define GL_REFERENCE_PLANE_EQUATION_SGIX  0x817E
2921#endif
2922
2923#if GL_SGIX_depth_texture
2924#define GL_DEPTH_COMPONENT16_SGIX         0x81A5
2925#define GL_DEPTH_COMPONENT24_SGIX         0x81A6
2926#define GL_DEPTH_COMPONENT32_SGIX         0x81A7
2927#endif
2928
2929#if GL_SGIX_fog_offset
2930#define GL_FOG_OFFSET_SGIX                0x8198
2931#define GL_FOG_OFFSET_VALUE_SGIX          0x8199
2932#endif
2933
2934#if GL_SGIX_texture_add_env
2935#define GL_TEXTURE_ENV_BIAS_SGIX          0x80BE
2936#endif
2937
2938#if GL_SGIX_list_priority
2939#define GL_LIST_PRIORITY_SGIX             0x8182
2940#endif
2941
2942#if GL_SGIX_ir_instrument1
2943#define GL_IR_INSTRUMENT1_SGIX            0x817F
2944#endif
2945
2946#if GL_SGIX_calligraphic_fragment
2947#define GL_CALLIGRAPHIC_FRAGMENT_SGIX     0x8183
2948#endif
2949
2950#if GL_SGIX_texture_lod_bias
2951#define GL_TEXTURE_LOD_BIAS_S_SGIX        0x818E
2952#define GL_TEXTURE_LOD_BIAS_T_SGIX        0x818F
2953#define GL_TEXTURE_LOD_BIAS_R_SGIX        0x8190
2954#endif
2955
2956#if GL_SGIX_ycrcb
2957#define GL_YCRCB_422_SGIX                 0x81BB
2958#define GL_YCRCB_444_SGIX                 0x81BC
2959#endif
2960
2961#if GL_SGIX_fragment_lighting
2962#define GL_FRAGMENT_LIGHTING_SGIX         0x8400
2963#define GL_FRAGMENT_COLOR_MATERIAL_SGIX   0x8401
2964#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402
2965#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403
2966#define GL_MAX_FRAGMENT_LIGHTS_SGIX       0x8404
2967#define GL_MAX_ACTIVE_LIGHTS_SGIX         0x8405
2968#define GL_CURRENT_RASTER_NORMAL_SGIX     0x8406
2969#define GL_LIGHT_ENV_MODE_SGIX            0x8407
2970#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408
2971#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409
2972#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A
2973#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B
2974#define GL_FRAGMENT_LIGHT0_SGIX           0x840C
2975#define GL_FRAGMENT_LIGHT1_SGIX           0x840D
2976#define GL_FRAGMENT_LIGHT2_SGIX           0x840E
2977#define GL_FRAGMENT_LIGHT3_SGIX           0x840F
2978#define GL_FRAGMENT_LIGHT4_SGIX           0x8410
2979#define GL_FRAGMENT_LIGHT5_SGIX           0x8411
2980#define GL_FRAGMENT_LIGHT6_SGIX           0x8412
2981#define GL_FRAGMENT_LIGHT7_SGIX           0x8413
2982#endif
2983
2984#if GL_SGIX_blend_alpha_minmax
2985#define GL_ALPHA_MIN_SGIX                 0x8320
2986#define GL_ALPHA_MAX_SGIX                 0x8321
2987#endif
2988
2989#if GL_SGIX_async
2990#define GL_ASYNC_MARKER_SGIX              0x8329
2991#endif
2992
2993#if GL_SGIX_async_pixel
2994#define GL_ASYNC_TEX_IMAGE_SGIX           0x835C
2995#define GL_ASYNC_DRAW_PIXELS_SGIX         0x835D
2996#define GL_ASYNC_READ_PIXELS_SGIX         0x835E
2997#define GL_MAX_ASYNC_TEX_IMAGE_SGIX       0x835F
2998#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX     0x8360
2999#define GL_MAX_ASYNC_READ_PIXELS_SGIX     0x8361
3000#endif
3001
3002#if GL_SGIX_async_histogram
3003#define GL_ASYNC_HISTOGRAM_SGIX           0x832C
3004#define GL_MAX_ASYNC_HISTOGRAM_SGIX       0x832D
3005#endif
3006
3007#if GL_SGIX_fog_scale
3008#define GL_FOG_SCALE_SGIX                 0x81FC
3009#define GL_FOG_SCALE_VALUE_SGIX           0x81FD
3010#endif
3011
3012#if GL_SGIX_subsample
3013#define GL_PACK_SUBSAMPLE_RATE_SGIX       0x85A0
3014#define GL_UNPACK_SUBSAMPLE_RATE_SGIX     0x85A1
3015#define GL_PIXEL_SUBSAMPLE_4444_SGIX      0x85A2
3016#define GL_PIXEL_SUBSAMPLE_2424_SGIX      0x85A3
3017#define GL_PIXEL_SUBSAMPLE_4242_SGIX      0x85A4
3018#endif
3019
3020#if GL_SGIX_ycrcba
3021#define GL_YCRCB_SGIX                     0x8318
3022#define GL_YCRCBA_SGIX                    0x8319
3023#endif
3024
3025#if GL_SGIX_vertex_preclip
3026#define GL_VERTEX_PRECLIP_SGIX            0x83EE
3027#define GL_VERTEX_PRECLIP_HINT_SGIX       0x83EF
3028#endif
3029
3030#if GL_SGIX_convolution_accuracy
3031#define GL_CONVOLUTION_HINT_SGIX          0x8316
3032#endif
3033
3034#if GL_SGIX_resample
3035#define GL_PACK_RESAMPLE_SGIX             0x842C
3036#define GL_UNPACK_RESAMPLE_SGIX           0x842D
3037#define GL_RESAMPLE_REPLICATE_SGIX        0x842E
3038#define GL_RESAMPLE_ZERO_FILL_SGIX        0x842F
3039#define GL_RESAMPLE_DECIMATE_SGIX         0x8430
3040#endif
3041
3042
3043#if GL_SUN_global_alpha
3044#define GL_GLOBAL_ALPHA_SUN               0x81D9
3045#define GL_GLOBAL_ALPHA_FACTOR_SUN        0x81DA
3046#endif
3047
3048#if GL_SUN_triangle_list
3049#define GL_RESTART_SUN                    0x01
3050#define GL_REPLACE_MIDDLE_SUN             0x02
3051#define GL_REPLACE_OLDEST_SUN             0x03
3052#define GL_TRIANGLE_LIST_SUN              0x81D7
3053#define GL_REPLACEMENT_CODE_SUN           0x81D8
3054#define GL_REPLACEMENT_CODE_ARRAY_SUN     0x85C0
3055#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
3056#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
3057#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
3058#define GL_R1UI_V3F_SUN                   0x85C4
3059#define GL_R1UI_C4UB_V3F_SUN              0x85C5
3060#define GL_R1UI_C3F_V3F_SUN               0x85C6
3061#define GL_R1UI_N3F_V3F_SUN               0x85C7
3062#define GL_R1UI_C4F_N3F_V3F_SUN           0x85C8
3063#define GL_R1UI_T2F_V3F_SUN               0x85C9
3064#define GL_R1UI_T2F_N3F_V3F_SUN           0x85CA
3065#define GL_R1UI_T2F_C4F_N3F_V3F_SUN       0x85CB
3066#endif
3067
3068#if GL_SUN_convolution_border_modes
3069#define GL_WRAP_BORDER_SUN                0x81D4
3070#endif
3071
3072#if GL_SUNX_constant_data
3073#define GL_UNPACK_CONSTANT_DATA_SUNX      0x81D5
3074#define GL_TEXTURE_CONSTANT_DATA_SUNX     0x81D6
3075#endif
3076
3077
3078#if GL_WIN_phong_shading
3079#define GL_PHONG_WIN                      0x80EA
3080#define GL_PHONG_HINT_WIN                 0x80EB
3081#endif
3082
3083#if GL_WIN_specular_fog
3084#define GL_FOG_SPECULAR_TEXTURE_WIN       0x80EC
3085#endif
3086
3087
3088#if GL_3DFX_texture_compression_FXT1
3089#define GL_COMPRESSED_RGB_FXT1_3DFX       0x86B0
3090#define GL_COMPRESSED_RGBA_FXT1_3DFX      0x86B1
3091#endif
3092
3093#if GL_3DFX_multisample
3094#define GL_MULTISAMPLE_3DFX               0x86B2
3095#define GL_SAMPLE_BUFFERS_3DFX            0x86B3
3096#define GL_SAMPLES_3DFX                   0x86B4
3097#define GL_MULTISAMPLE_BIT_3DFX           0x20000000
3098#endif
3099
3100/*************************************************************/
3101
3102#if GL_ARB_multitexture
3103#ifdef GL_GLEXT_FUNCTION_POINTERS
3104typedef void (* glActiveTextureARBProcPtr) (GLenum texture);
3105typedef void (* glClientActiveTextureARBProcPtr) (GLenum texture);
3106typedef void (* glMultiTexCoord1dARBProcPtr) (GLenum target, GLdouble s);
3107typedef void (* glMultiTexCoord1dvARBProcPtr) (GLenum target, const GLdouble *v);
3108typedef void (* glMultiTexCoord1fARBProcPtr) (GLenum target, GLfloat s);
3109typedef void (* glMultiTexCoord1fvARBProcPtr) (GLenum target, const GLfloat *v);
3110typedef void (* glMultiTexCoord1iARBProcPtr) (GLenum target, GLint s);
3111typedef void (* glMultiTexCoord1ivARBProcPtr) (GLenum target, const GLint *v);
3112typedef void (* glMultiTexCoord1sARBProcPtr) (GLenum target, GLshort s);
3113typedef void (* glMultiTexCoord1svARBProcPtr) (GLenum target, const GLshort *v);
3114typedef void (* glMultiTexCoord2dARBProcPtr) (GLenum target, GLdouble s, GLdouble t);
3115typedef void (* glMultiTexCoord2dvARBProcPtr) (GLenum target, const GLdouble *v);
3116typedef void (* glMultiTexCoord2fARBProcPtr) (GLenum target, GLfloat s, GLfloat t);
3117typedef void (* glMultiTexCoord2fvARBProcPtr) (GLenum target, const GLfloat *v);
3118typedef void (* glMultiTexCoord2iARBProcPtr) (GLenum target, GLint s, GLint t);
3119typedef void (* glMultiTexCoord2ivARBProcPtr) (GLenum target, const GLint *v);
3120typedef void (* glMultiTexCoord2sARBProcPtr) (GLenum target, GLshort s, GLshort t);
3121typedef void (* glMultiTexCoord2svARBProcPtr) (GLenum target, const GLshort *v);
3122typedef void (* glMultiTexCoord3dARBProcPtr) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
3123typedef void (* glMultiTexCoord3dvARBProcPtr) (GLenum target, const GLdouble *v);
3124typedef void (* glMultiTexCoord3fARBProcPtr) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
3125typedef void (* glMultiTexCoord3fvARBProcPtr) (GLenum target, const GLfloat *v);
3126typedef void (* glMultiTexCoord3iARBProcPtr) (GLenum target, GLint s, GLint t, GLint r);
3127typedef void (* glMultiTexCoord3ivARBProcPtr) (GLenum target, const GLint *v);
3128typedef void (* glMultiTexCoord3sARBProcPtr) (GLenum target, GLshort s, GLshort t, GLshort r);
3129typedef void (* glMultiTexCoord3svARBProcPtr) (GLenum target, const GLshort *v);
3130typedef void (* glMultiTexCoord4dARBProcPtr) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
3131typedef void (* glMultiTexCoord4dvARBProcPtr) (GLenum target, const GLdouble *v);
3132typedef void (* glMultiTexCoord4fARBProcPtr) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
3133typedef void (* glMultiTexCoord4fvARBProcPtr) (GLenum target, const GLfloat *v);
3134typedef void (* glMultiTexCoord4iARBProcPtr) (GLenum target, GLint s, GLint t, GLint r, GLint q);
3135typedef void (* glMultiTexCoord4ivARBProcPtr) (GLenum target, const GLint *v);
3136typedef void (* glMultiTexCoord4sARBProcPtr) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
3137typedef void (* glMultiTexCoord4svARBProcPtr) (GLenum target, const GLshort *v);
3138#else
3139extern void glActiveTextureARB(GLenum texture);
3140extern void glClientActiveTextureARB(GLenum texture);
3141extern void glMultiTexCoord1dARB(GLenum target, GLdouble s);
3142extern void glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);
3143extern void glMultiTexCoord1fARB(GLenum target, GLfloat s);
3144extern void glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);
3145extern void glMultiTexCoord1iARB(GLenum target, GLint s);
3146extern void glMultiTexCoord1ivARB(GLenum target, const GLint *v);
3147extern void glMultiTexCoord1sARB(GLenum target, GLshort s);
3148extern void glMultiTexCoord1svARB(GLenum target, const GLshort *v);
3149extern void glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
3150extern void glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);
3151extern void glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
3152extern void glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);
3153extern void glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);
3154extern void glMultiTexCoord2ivARB(GLenum target, const GLint *v);
3155extern void glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
3156extern void glMultiTexCoord2svARB(GLenum target, const GLshort *v);
3157extern void glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);
3158extern void glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);
3159extern void glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);
3160extern void glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);
3161extern void glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
3162extern void glMultiTexCoord3ivARB(GLenum target, const GLint *v);
3163extern void glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);
3164extern void glMultiTexCoord3svARB(GLenum target, const GLshort *v);
3165extern void glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
3166extern void glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);
3167extern void glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
3168extern void glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);
3169extern void glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);
3170extern void glMultiTexCoord4ivARB(GLenum target, const GLint *v);
3171extern void glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
3172extern void glMultiTexCoord4svARB(GLenum target, const GLshort *v);
3173#endif /* GL_GLEXT_FUNCTION_POINTERS */
3174#endif
3175
3176#if GL_ARB_transpose_matrix
3177#ifdef GL_GLEXT_FUNCTION_POINTERS
3178typedef void (* glLoadTransposeMatrixfARBProcPtr) (const GLfloat *m);
3179typedef void (* glLoadTransposeMatrixdARBProcPtr) (const GLdouble *m);
3180typedef void (* glMultTransposeMatrixfARBProcPtr) (const GLfloat *m);
3181typedef void (* glMultTransposeMatrixdARBProcPtr) (const GLdouble *m);
3182#else
3183extern void glLoadTransposeMatrixfARB(const GLfloat *m);
3184extern void glLoadTransposeMatrixdARB(const GLdouble *m);
3185extern void glMultTransposeMatrixfARB(const GLfloat *m);
3186extern void glMultTransposeMatrixdARB(const GLdouble *m);
3187#endif /* GL_GLEXT_FUNCTION_POINTERS */
3188#endif
3189
3190#if GL_ARB_multisample
3191#ifdef GL_GLEXT_FUNCTION_POINTERS
3192typedef void (* glSampleCoverageARBProcPtr) (GLclampf value, GLboolean invert);
3193#else
3194extern void glSampleCoverageARB(GLclampf value, GLboolean invert);
3195#endif /* GL_GLEXT_FUNCTION_POINTERS */
3196#endif
3197
3198#if GL_ARB_texture_compression
3199#ifdef GL_GLEXT_FUNCTION_POINTERS
3200typedef void (* glCompressedTexImage3DARBProcPtr) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
3201typedef void (* glCompressedTexImage2DARBProcPtr) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
3202typedef void (* glCompressedTexImage1DARBProcPtr) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
3203typedef void (* glCompressedTexSubImage3DARBProcPtr) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
3204typedef void (* glCompressedTexSubImage2DARBProcPtr) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
3205typedef void (* glCompressedTexSubImage1DARBProcPtr) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
3206typedef void (* glGetCompressedTexImageARBProcPtr) (GLenum target, GLint level, GLvoid *data);
3207#else
3208extern void glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
3209extern void glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
3210extern void glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
3211extern void glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
3212extern void glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
3213extern void glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
3214extern void glGetCompressedTexImageARB(GLenum target, GLint level, GLvoid *data);
3215#endif /* GL_GLEXT_FUNCTION_POINTERS */
3216#endif
3217
3218#if GL_ARB_vertex_blend
3219#ifdef GL_GLEXT_FUNCTION_POINTERS
3220typedef void (* glWeightbvARBProcPtr) (GLint size, const GLbyte *weights);
3221typedef void (* glWeightsvARBProcPtr) (GLint size, const GLshort *weights);
3222typedef void (* glWeightivARBProcPtr) (GLint size, const GLint *weights);
3223typedef void (* glWeightfvARBProcPtr) (GLint size, const GLfloat *weights);
3224typedef void (* glWeightdvARBProcPtr) (GLint size, const GLdouble *weights);
3225typedef void (* glWeightubvARBProcPtr) (GLint size, const GLubyte *weights);
3226typedef void (* glWeightusvARBProcPtr) (GLint size, const GLushort *weights);
3227typedef void (* glWeightuivARBProcPtr) (GLint size, const GLuint *weights);
3228typedef void (* glWeightPointerARBProcPtr) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
3229typedef void (* glVertexBlendARBProcPtr) (GLint count);
3230#else
3231extern void glWeightbvARB(GLint size, const GLbyte *weights);
3232extern void glWeightsvARB(GLint size, const GLshort *weights);
3233extern void glWeightivARB(GLint size, const GLint *weights);
3234extern void glWeightfvARB(GLint size, const GLfloat *weights);
3235extern void glWeightdvARB(GLint size, const GLdouble *weights);
3236extern void glWeightubvARB(GLint size, const GLubyte *weights);
3237extern void glWeightusvARB(GLint size, const GLushort *weights);
3238extern void glWeightuivARB(GLint size, const GLuint *weights);
3239extern void glWeightPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
3240extern void glVertexBlendARB(GLint count);
3241#endif /* GL_GLEXT_FUNCTION_POINTERS */
3242#endif
3243
3244#if GL_ARB_window_pos
3245#ifdef GL_GLEXT_FUNCTION_POINTERS
3246typedef void (* glWindowPos2dARBProcPtr) (GLdouble x, GLdouble y);
3247typedef void (* glWindowPos2dvARBProcPtr) (const GLdouble *p);
3248typedef void (* glWindowPos2fARBProcPtr) (GLfloat x, GLfloat y);
3249typedef void (* glWindowPos2fvARBProcPtr) (const GLfloat *p);
3250typedef void (* glWindowPos2iARBProcPtr) (GLint x, GLint y);
3251typedef void (* glWindowPos2ivARBProcPtr) (const GLint *p);
3252typedef void (* glWindowPos2sARBProcPtr) (GLshort x, GLshort y);
3253typedef void (* glWindowPos2svARBProcPtr) (const GLshort *p);
3254typedef void (* glWindowPos3dARBProcPtr) (GLdouble x, GLdouble y, GLdouble z);
3255typedef void (* glWindowPos3dvARBProcPtr) (const GLdouble *p);
3256typedef void (* glWindowPos3fARBProcPtr) (GLfloat x, GLfloat y, GLfloat z);
3257typedef void (* glWindowPos3fvARBProcPtr) (const GLfloat *p);
3258typedef void (* glWindowPos3iARBProcPtr) (GLint x, GLint y, GLint z);
3259typedef void (* glWindowPos3ivARBProcPtr) (const GLint *p);
3260typedef void (* glWindowPos3sARBProcPtr) (GLshort x, GLshort y, GLshort z);
3261typedef void (* glWindowPos3svARBProcPtr) (const GLshort *p);
3262#else
3263extern void glWindowPos2dARB(GLdouble x, GLdouble y);
3264extern void glWindowPos2dvARB(const GLdouble *p);
3265extern void glWindowPos2fARB(GLfloat x, GLfloat y);
3266extern void glWindowPos2fvARB(const GLfloat *p);
3267extern void glWindowPos2iARB(GLint x, GLint y);
3268extern void glWindowPos2ivARB(const GLint *p);
3269extern void glWindowPos2sARB(GLshort x, GLshort y);
3270extern void glWindowPos2svARB(const GLshort *p);
3271extern void glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z);
3272extern void glWindowPos3dvARB(const GLdouble *p);
3273extern void glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z);
3274extern void glWindowPos3fvARB(const GLfloat *p);
3275extern void glWindowPos3iARB(GLint x, GLint y, GLint z);
3276extern void glWindowPos3ivARB(const GLint *p);
3277extern void glWindowPos3sARB(GLshort x, GLshort y, GLshort z);
3278extern void glWindowPos3svARB(const GLshort *p);
3279#endif /* GL_GLEXT_FUNCTION_POINTERS */
3280#endif
3281
3282#if GL_ARB_occlusion_query
3283#ifdef GL_GLEXT_FUNCTION_POINTERS
3284typedef void (* glGenQueriesARBProcPtr) (GLsizei n, GLuint *ids);
3285typedef void (* glDeleteQueriesARBProcPtr) (GLsizei n, const GLuint *ids);
3286typedef GLboolean (* glIsQueryARBProcPtr) (GLuint id);
3287typedef void (* glBeginQueryARBProcPtr) (GLenum target, GLuint id);
3288typedef void (* glEndQueryARBProcPtr) (GLenum target);
3289typedef void (* glGetQueryivARBProcPtr) (GLenum target, GLenum pname, GLint *params);
3290typedef void (* glGetQueryObjectivARBProcPtr) (GLuint id, GLenum pname, GLint *params);
3291typedef void (* glGetQueryObjectuivARBProcPtr) (GLuint id, GLenum pname, GLuint *params);
3292#else
3293extern void glGenQueriesARB(GLsizei n, GLuint *ids);
3294extern void glDeleteQueriesARB(GLsizei n, const GLuint *ids);
3295extern GLboolean glIsQueryARB(GLuint id);
3296extern void glBeginQueryARB(GLenum target, GLuint id);
3297extern void glEndQueryARB(GLenum target);
3298extern void glGetQueryivARB(GLenum target, GLenum pname, GLint *params);
3299extern void glGetQueryObjectivARB(GLuint id, GLenum pname, GLint *params);
3300extern void glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params);
3301#endif
3302#endif
3303
3304#if GL_ARB_point_parameters
3305#ifdef GL_GLEXT_FUNCTION_POINTERS
3306typedef void (* glPointParameterfARBProcPtr) (GLenum pname, GLfloat param);
3307typedef void (* glPointParameterfvARBProcPtr) (GLenum pname, const GLfloat *params);
3308#else
3309extern void glPointParameterfARB(GLenum pname, GLfloat param);
3310extern void glPointParameterfvARB(GLenum pname, const GLfloat *params);
3311#endif /* GL_GLEXT_FUNCTION_POINTERS */
3312#endif
3313
3314#if GL_ARB_vertex_program
3315#ifdef GL_GLEXT_FUNCTION_POINTERS
3316typedef void (* glBindProgramARBProcPtr) (GLenum target, GLuint program);
3317typedef void (* glDeleteProgramsARBProcPtr) (GLsizei n, const GLuint *programs);
3318typedef void (* glGenProgramsARBProcPtr) (GLsizei n, GLuint *programs);
3319typedef GLboolean (* glIsProgramARBProcPtr) (GLuint program);
3320
3321typedef void (* glProgramEnvParameter4dARBProcPtr) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
3322typedef void (* glProgramEnvParameter4dvARBProcPtr) (GLenum target, GLuint index, const GLdouble *params);
3323typedef void (* glProgramEnvParameter4fARBProcPtr) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
3324typedef void (* glProgramEnvParameter4fvARBProcPtr) (GLenum target, GLuint index, const GLfloat *params);
3325typedef void (* glProgramLocalParameter4dARBProcPtr) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
3326typedef void (* glProgramLocalParameter4dvARBProcPtr) (GLenum target, GLuint index, const GLdouble *params);
3327typedef void (* glProgramLocalParameter4fARBProcPtr) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
3328typedef void (* glProgramLocalParameter4fvARBProcPtr) (GLenum target, GLuint index, const GLfloat *params);
3329
3330#if GL_EXT_gpu_program_parameters
3331typedef void (* glProgramEnvParameters4fvEXTProcPtr) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
3332typedef void (* glProgramLocalParameters4fvEXTProcPtr) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
3333#endif
3334
3335typedef void (* glGetProgramEnvParameterdvARBProcPtr) (GLenum target, GLuint index, GLdouble *params);
3336typedef void (* glGetProgramEnvParameterfvARBProcPtr) (GLenum target, GLuint index, GLfloat *params);
3337typedef void (* glGetProgramLocalParameterdvARBProcPtr) (GLenum target, GLuint index, GLdouble *params);
3338typedef void (* glGetProgramLocalParameterfvARBProcPtr) (GLenum target, GLuint index, GLfloat *params);
3339
3340typedef void (* glProgramStringARBProcPtr) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
3341typedef void (* glGetProgramStringARBProcPtr) (GLenum target, GLenum pname, GLvoid *string);
3342
3343typedef void (* glGetProgramivARBProcPtr) (GLenum target, GLenum pname, GLint *params);
3344#else
3345extern void glBindProgramARB(GLenum target, GLuint program);
3346extern void glDeleteProgramsARB(GLsizei n, const GLuint *programs);
3347extern void glGenProgramsARB(GLsizei n, GLuint *programs);
3348extern GLboolean glIsProgramARB(GLuint program);
3349
3350extern void glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
3351extern void glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);
3352extern void glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
3353extern void glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);
3354extern void glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
3355extern void glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);
3356extern void glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
3357extern void glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);
3358
3359extern void glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble *params);
3360extern void glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat *params);
3361#if GL_EXT_gpu_program_parameters
3362extern void glProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);
3363extern void glProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);
3364#endif
3365
3366extern void glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble *params);
3367extern void glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat *params);
3368
3369extern void glProgramStringARB(GLenum target, GLenum format, GLsizei len, const GLvoid *string);
3370extern void glGetProgramStringARB(GLenum target, GLenum pname, GLvoid *string);
3371
3372extern void glGetProgramivARB(GLenum target, GLenum pname, GLint *params);
3373#endif /* GL_GLEXT_FUNCTION_POINTERS */
3374#endif
3375
3376
3377#if GL_ARB_vertex_shader || GL_ARB_vertex_program
3378#ifdef GL_GLEXT_FUNCTION_POINTERS
3379
3380typedef void (* glVertexAttrib1dARBProcPtr) (GLuint index, GLdouble x);
3381typedef void (* glVertexAttrib1dvARBProcPtr) (GLuint index, const GLdouble *v);
3382typedef void (* glVertexAttrib1fARBProcPtr) (GLuint index, GLfloat x);
3383typedef void (* glVertexAttrib1fvARBProcPtr) (GLuint index, const GLfloat *v);
3384typedef void (* glVertexAttrib1sARBProcPtr) (GLuint index, GLshort x);
3385typedef void (* glVertexAttrib1svARBProcPtr) (GLuint index, const GLshort *v);
3386typedef void (* glVertexAttrib2dARBProcPtr) (GLuint index, GLdouble x, GLdouble y);
3387typedef void (* glVertexAttrib2dvARBProcPtr) (GLuint index, const GLdouble *v);
3388typedef void (* glVertexAttrib2fARBProcPtr) (GLuint index, GLfloat x, GLfloat y);
3389typedef void (* glVertexAttrib2fvARBProcPtr) (GLuint index, const GLfloat *v);
3390typedef void (* glVertexAttrib2sARBProcPtr) (GLuint index, GLshort x, GLshort y);
3391typedef void (* glVertexAttrib2svARBProcPtr) (GLuint index, const GLshort *v);
3392typedef void (* glVertexAttrib3dARBProcPtr) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
3393typedef void (* glVertexAttrib3dvARBProcPtr) (GLuint index, const GLdouble *v);
3394typedef void (* glVertexAttrib3fARBProcPtr) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
3395typedef void (* glVertexAttrib3fvARBProcPtr) (GLuint index, const GLfloat *v);
3396typedef void (* glVertexAttrib3sARBProcPtr) (GLuint index, GLshort x, GLshort y, GLshort z);
3397typedef void (* glVertexAttrib3svARBProcPtr) (GLuint index, const GLshort *v);
3398typedef void (* glVertexAttrib4NbvARBProcPtr) (GLuint index, const GLbyte *v);
3399typedef void (* glVertexAttrib4NivARBProcPtr) (GLuint index, const GLint *v);
3400typedef void (* glVertexAttrib4NsvARBProcPtr) (GLuint index, const GLshort *v);
3401typedef void (* glVertexAttrib4NubARBProcPtr) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
3402typedef void (* glVertexAttrib4NubvARBProcPtr) (GLuint index, const GLubyte *v);
3403typedef void (* glVertexAttrib4NuivARBProcPtr) (GLuint index, const GLuint *v);
3404typedef void (* glVertexAttrib4NusvARBProcPtr) (GLuint index, const GLushort *v);
3405typedef void (* glVertexAttrib4bvARBProcPtr) (GLuint index, const GLbyte *v);
3406typedef void (* glVertexAttrib4dARBProcPtr) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
3407typedef void (* glVertexAttrib4dvARBProcPtr) (GLuint index, const GLdouble *v);
3408typedef void (* glVertexAttrib4fARBProcPtr) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
3409typedef void (* glVertexAttrib4fvARBProcPtr) (GLuint index, const GLfloat *v);
3410typedef void (* glVertexAttrib4ivARBProcPtr) (GLuint index, const GLint *v);
3411typedef void (* glVertexAttrib4sARBProcPtr) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
3412typedef void (* glVertexAttrib4svARBProcPtr) (GLuint index, const GLshort *v);
3413typedef void (* glVertexAttrib4ubvARBProcPtr) (GLuint index, const GLubyte *v);
3414typedef void (* glVertexAttrib4uivARBProcPtr) (GLuint index, const GLuint *v);
3415typedef void (* glVertexAttrib4usvARBProcPtr) (GLuint index, const GLushort *v);
3416typedef void (* glVertexAttribPointerARBProcPtr) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
3417
3418typedef void (* glDisableVertexAttribArrayARBProcPtr) (GLuint index);
3419typedef void (* glEnableVertexAttribArrayARBProcPtr) (GLuint index);
3420
3421typedef void (* glGetVertexAttribPointervARBProcPtr) (GLuint index, GLenum pname, GLvoid **pointer);
3422typedef void (* glGetVertexAttribdvARBProcPtr) (GLuint index, GLenum pname, GLdouble *params);
3423typedef void (* glGetVertexAttribfvARBProcPtr) (GLuint index, GLenum pname, GLfloat *params);
3424typedef void (* glGetVertexAttribivARBProcPtr) (GLuint index, GLenum pname, GLint *params);
3425
3426#else
3427
3428extern void glVertexAttrib1dARB(GLuint index, GLdouble x);
3429extern void glVertexAttrib1dvARB(GLuint index, const GLdouble *v);
3430extern void glVertexAttrib1fARB(GLuint index, GLfloat x);
3431extern void glVertexAttrib1fvARB(GLuint index, const GLfloat *v);
3432extern void glVertexAttrib1sARB(GLuint index, GLshort x);
3433extern void glVertexAttrib1svARB(GLuint index, const GLshort *v);
3434extern void glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y);
3435extern void glVertexAttrib2dvARB(GLuint index, const GLdouble *v);
3436extern void glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y);
3437extern void glVertexAttrib2fvARB(GLuint index, const GLfloat *v);
3438extern void glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y);
3439extern void glVertexAttrib2svARB(GLuint index, const GLshort *v);
3440extern void glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z);
3441extern void glVertexAttrib3dvARB(GLuint index, const GLdouble *v);
3442extern void glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z);
3443extern void glVertexAttrib3fvARB(GLuint index, const GLfloat *v);
3444extern void glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z);
3445extern void glVertexAttrib3svARB(GLuint index, const GLshort *v);
3446extern void glVertexAttrib4NbvARB(GLuint index, const GLbyte *v);
3447extern void glVertexAttrib4NivARB(GLuint index, const GLint *v);
3448extern void glVertexAttrib4NsvARB(GLuint index, const GLshort *v);
3449extern void glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
3450extern void glVertexAttrib4NubvARB(GLuint index, const GLubyte *v);
3451extern void glVertexAttrib4NuivARB(GLuint index, const GLuint *v);
3452extern void glVertexAttrib4NusvARB(GLuint index, const GLushort *v);
3453extern void glVertexAttrib4bvARB(GLuint index, const GLbyte *v);
3454extern void glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
3455extern void glVertexAttrib4dvARB(GLuint index, const GLdouble *v);
3456extern void glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
3457extern void glVertexAttrib4fvARB(GLuint index, const GLfloat *v);
3458extern void glVertexAttrib4ivARB(GLuint index, const GLint *v);
3459extern void glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
3460extern void glVertexAttrib4svARB(GLuint index, const GLshort *v);
3461extern void glVertexAttrib4ubvARB(GLuint index, const GLubyte *v);
3462extern void glVertexAttrib4uivARB(GLuint index, const GLuint *v);
3463extern void glVertexAttrib4usvARB(GLuint index, const GLushort *v);
3464extern void glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
3465
3466extern void glDisableVertexAttribArrayARB(GLuint index);
3467extern void glEnableVertexAttribArrayARB(GLuint index);
3468
3469extern void glGetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer);
3470extern void glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params);
3471extern void glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params);
3472extern void glGetVertexAttribivARB(GLuint index, GLenum pname, GLint *params);
3473
3474#endif /* GL_GLEXT_FUNCTION_POINTERS */
3475#endif
3476
3477#if GL_ARB_shader_objects
3478#ifdef GL_GLEXT_FUNCTION_POINTERS
3479typedef void (* glDeleteObjectARBProcPtr) (GLhandleARB obj);
3480typedef GLhandleARB (* glGetHandleARBProcPtr) (GLenum pname);
3481typedef void (* glDetachObjectARBProcPtr) (GLhandleARB containerObj, GLhandleARB attachedObj);
3482typedef GLhandleARB (* glCreateShaderObjectARBProcPtr) (GLenum shaderType);
3483typedef void (* glShaderSourceARBProcPtr) (GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length);
3484typedef void (* glCompileShaderARBProcPtr) (GLhandleARB shaderObj);
3485typedef GLhandleARB (* glCreateProgramObjectARBProcPtr) (void);
3486typedef void (* glAttachObjectARBProcPtr) (GLhandleARB containerObj, GLhandleARB obj);
3487typedef void (* glLinkProgramARBProcPtr) (GLhandleARB programObj);
3488typedef void (* glUseProgramObjectARBProcPtr) (GLhandleARB programObj);
3489typedef void (* glValidateProgramARBProcPtr) (GLhandleARB programObj);
3490typedef void (* glUniform1fARBProcPtr) (GLint location, GLfloat v0);
3491typedef void (* glUniform2fARBProcPtr) (GLint location, GLfloat v0, GLfloat v1);
3492typedef void (* glUniform3fARBProcPtr) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
3493typedef void (* glUniform4fARBProcPtr) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
3494typedef void (* glUniform1iARBProcPtr) (GLint location, GLint v0);
3495typedef void (* glUniform2iARBProcPtr) (GLint location, GLint v0, GLint v1);
3496typedef void (* glUniform3iARBProcPtr) (GLint location, GLint v0, GLint v1, GLint v2);
3497typedef void (* glUniform4iARBProcPtr) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
3498typedef void (* glUniform1fvARBProcPtr) (GLint location, GLsizei count, const GLfloat *value);
3499typedef void (* glUniform2fvARBProcPtr) (GLint location, GLsizei count, const GLfloat *value);
3500typedef void (* glUniform3fvARBProcPtr) (GLint location, GLsizei count, const GLfloat *value);
3501typedef void (* glUniform4fvARBProcPtr) (GLint location, GLsizei count, const GLfloat *value);
3502typedef void (* glUniform1ivARBProcPtr) (GLint location, GLsizei count, const GLint *value);
3503typedef void (* glUniform2ivARBProcPtr) (GLint location, GLsizei count, const GLint *value);
3504typedef void (* glUniform3ivARBProcPtr) (GLint location, GLsizei count, const GLint *value);
3505typedef void (* glUniform4ivARBProcPtr) (GLint location, GLsizei count, const GLint *value);
3506typedef void (* glUniformMatrix2fvARBProcPtr) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3507typedef void (* glUniformMatrix3fvARBProcPtr) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3508typedef void (* glUniformMatrix4fvARBProcPtr) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3509typedef void (* glGetObjectParameterfvARBProcPtr) (GLhandleARB obj, GLenum pname, GLfloat *params);
3510typedef void (* glGetObjectParameterivARBProcPtr) (GLhandleARB obj, GLenum pname, GLint *params);
3511typedef void (* glGetInfoLogARBProcPtr) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
3512typedef void (* glGetAttachedObjectsARBProcPtr) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
3513typedef GLint (* glGetUniformLocationARBProcPtr) (GLhandleARB programObj, const GLcharARB *name);
3514typedef void (* glGetActiveUniformARBProcPtr) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
3515typedef void (* glGetUniformfvARBProcPtr) (GLhandleARB programObj, GLint location, GLfloat *params);
3516typedef void (* glGetUniformivARBProcPtr) (GLhandleARB programObj, GLint location, GLint *params);
3517typedef void (* glGetShaderSourceARBProcPtr) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
3518#else
3519extern void glDeleteObjectARB(GLhandleARB obj);
3520extern GLhandleARB glGetHandleARB(GLenum pname);
3521extern void glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj);
3522extern GLhandleARB glCreateShaderObjectARB(GLenum shaderType);
3523extern void glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length);
3524extern void glCompileShaderARB(GLhandleARB shaderObj);
3525extern GLhandleARB glCreateProgramObjectARB(void);
3526extern void glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj);
3527extern void glLinkProgramARB(GLhandleARB programObj);
3528extern void glUseProgramObjectARB(GLhandleARB programObj);
3529extern void glValidateProgramARB(GLhandleARB programObj);
3530extern void glUniform1fARB(GLint location, GLfloat v0);
3531extern void glUniform2fARB(GLint location, GLfloat v0, GLfloat v1);
3532extern void glUniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
3533extern void glUniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
3534extern void glUniform1iARB(GLint location, GLint v0);
3535extern void glUniform2iARB(GLint location, GLint v0, GLint v1);
3536extern void glUniform3iARB(GLint location, GLint v0, GLint v1, GLint v2);
3537extern void glUniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
3538extern void glUniform1fvARB(GLint location, GLsizei count, const GLfloat *value);
3539extern void glUniform2fvARB(GLint location, GLsizei count, const GLfloat *value);
3540extern void glUniform3fvARB(GLint location, GLsizei count, const GLfloat *value);
3541extern void glUniform4fvARB(GLint location, GLsizei count, const GLfloat *value);
3542extern void glUniform1ivARB(GLint location, GLsizei count, const GLint *value);
3543extern void glUniform2ivARB(GLint location, GLsizei count, const GLint *value);
3544extern void glUniform3ivARB(GLint location, GLsizei count, const GLint *value);
3545extern void glUniform4ivARB(GLint location, GLsizei count, const GLint *value);
3546extern void glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3547extern void glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3548extern void glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3549extern void glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat *params);
3550extern void glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint *params);
3551extern void glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
3552extern void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
3553extern GLint glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name);
3554extern void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
3555extern void glGetUniformfvARB(GLhandleARB programObj, GLint location, GLfloat *params);
3556extern void glGetUniformivARB(GLhandleARB programObj, GLint location, GLint *params);
3557extern void glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
3558#endif /* GL_GLEXT_FUNCTION_POINTERS */
3559#endif
3560
3561#if GL_ARB_vertex_shader
3562#ifdef GL_GLEXT_FUNCTION_POINTERS
3563typedef void (* glBindAttribLocationARBProcPtr) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
3564typedef void (* glGetActiveAttribARBProcPtr) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
3565typedef GLint (* glGetAttribLocationARBProcPtr) (GLhandleARB programObj, const GLcharARB *name);
3566#else
3567extern void glBindAttribLocationARB(GLhandleARB programObj, GLuint index, const GLcharARB *name);
3568extern void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
3569extern GLint glGetAttribLocationARB(GLhandleARB programObj, const GLcharARB *name);
3570#endif /* GL_GLEXT_FUNCTION_POINTERS */
3571#endif
3572
3573#if GL_ARB_vertex_buffer_object
3574#ifdef GL_GLEXT_FUNCTION_POINTERS
3575typedef void (* glBindBufferARBProcPtr) (GLenum target, GLuint buffer);
3576typedef void (* glDeleteBuffersARBProcPtr) (GLsizei n, const GLuint *buffers);
3577typedef void (* glGenBuffersARBProcPtr) (GLsizei n, GLuint *buffers);
3578typedef GLboolean (* glIsBufferARBProcPtr) (GLuint buffer);
3579typedef void (* glBufferDataARBProcPtr) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
3580typedef void (* glBufferSubDataARBProcPtr) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
3581typedef void (* glGetBufferSubDataARBProcPtr) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
3582typedef GLvoid *(* glMapBufferARBProcPtr) (GLenum target, GLenum access);
3583typedef GLboolean (* glUnmapBufferARBProcPtr) (GLenum target);
3584typedef void (* glGetBufferParameterivARBProcPtr) (GLenum target, GLenum pname, GLint *params);
3585typedef void (* glGetBufferPointervARBProcPtr) (GLenum target, GLenum pname, GLvoid **params);
3586#else
3587extern void glBindBufferARB(GLenum target, GLuint buffer);
3588extern void glDeleteBuffersARB(GLsizei n, const GLuint *buffers);
3589extern void glGenBuffersARB(GLsizei n, GLuint *buffers);
3590extern GLboolean glIsBufferARB(GLuint buffer);
3591extern void glBufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
3592extern void glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
3593extern void glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
3594extern GLvoid *glMapBufferARB(GLenum target, GLenum access);
3595extern GLboolean glUnmapBufferARB(GLenum target);
3596extern void glGetBufferParameterivARB(GLenum target, GLenum pname, GLint *params);
3597extern void glGetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params);
3598#endif /* GL_GLEXT_FUNCTION_POINTERS */
3599#endif
3600
3601#if GL_ARB_draw_buffers
3602#ifdef GL_GLEXT_FUNCTION_POINTERS
3603typedef void (* glDrawBuffersARBProcPtr) (GLsizei n, const GLenum *bufs);
3604#else
3605extern void glDrawBuffersARB(GLsizei n, const GLenum *bufs);
3606#endif /* GL_GLEXT_FUNCTION_POINTERS */
3607#endif
3608
3609#if GL_ARB_color_buffer_float
3610#ifdef GL_GLEXT_FUNCTION_POINTERS
3611typedef void (* glClampColorARBProcPtr) (GLenum target, GLenum clamp);
3612#else
3613extern void glClampColorARB(GLenum target, GLenum clamp);
3614#endif /* GL_GLEXT_FUNCTION_POINTERS */
3615#endif
3616
3617#if GL_ARB_draw_instanced
3618#ifdef GL_GLEXT_FUNCTION_POINTERS
3619typedef void (* glDrawArraysInstancedARBProcPtr) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
3620typedef void (* glDrawElementsInstancedARBProcPtr) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
3621#else
3622extern void glDrawArraysInstancedARB(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
3623extern void glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
3624#endif /* GL_GLEXT_FUNCTION_POINTERS */
3625#endif
3626
3627#if GL_ARB_instanced_arrays
3628#ifdef GL_GLEXT_FUNCTION_POINTERS
3629typedef void (* glVertexAttribDivisorARBProcPtr) (GLuint index, GLuint divisor);
3630#else
3631extern void glVertexAttribDivisorARB(GLuint index, GLuint divisor);
3632#endif /* GL_GLEXT_FUNCTION_POINTERS */
3633#endif
3634
3635#if GL_ARB_draw_elements_base_vertex
3636#ifdef GL_GLEXT_FUNCTION_POINTERS
3637typedef void (* glDrawElementsBaseVertexProcPtr) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint base_vertex);
3638typedef void (* glDrawRangeElementsBaseVertexProcPtr) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint base_vertex);
3639typedef void (* glDrawElementsInstancedBaseVertexProcPtr) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint base_vertex);
3640typedef void (* glMultiDrawElementsBaseVertexProcPtr) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount, const GLint *base_vertex);
3641#else
3642extern void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint base_vertex);
3643extern void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint base_vertex);
3644extern void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint base_vertex);
3645extern void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount, const GLint *base_vertex);
3646#endif /* GL_GLEXT_FUNCTION_POINTERS */
3647#endif
3648
3649#if GL_ARB_sync
3650#ifdef GL_GLEXT_FUNCTION_POINTERS
3651typedef GLsync (* glFenceSyncProcPtr) (GLenum condition, GLbitfield flags);
3652typedef GLboolean (* glIsSyncProcPtr) (GLsync sync);
3653typedef void (* glDeleteSyncProcPtr) (GLsync sync);
3654typedef GLenum (* glClientWaitSyncProcPtr) (GLsync sync, GLbitfield flags, GLuint64 timeout);
3655typedef void (* glWaitSyncProcPtr)(GLsync sync, GLbitfield flags, GLuint64 timeout);
3656typedef void (* glGetInteger64vProcPtr) (GLenum pname, GLint64 *params);
3657typedef void (* glGetSyncivProcPtr) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
3658#else
3659extern GLsync glFenceSync(GLenum condition, GLbitfield flags);
3660extern GLboolean glIsSync(GLsync sync);
3661extern void glDeleteSync(GLsync sync);
3662extern GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
3663extern void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
3664extern void glGetInteger64v(GLenum pname, GLint64 *params);
3665extern void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
3666#endif /* GL_GLEXT_FUNCTION_POINTERS */
3667#endif
3668
3669#if GL_EXT_blend_color
3670#ifdef GL_GLEXT_FUNCTION_POINTERS
3671typedef void (* glBlendColorEXTProcPtr) (GLclampf red, GLclampf blue, GLclampf green, GLclampf alpha);
3672#else
3673extern void glBlendColorEXT(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
3674#endif /* GL_GLEXT_FUNCTION_POINTERS */
3675#endif
3676
3677#if GL_EXT_polygon_offset
3678#ifdef GL_GLEXT_FUNCTION_POINTERS
3679typedef void (* glPolygonOffsetEXTProcPtr) (GLfloat factor, GLfloat bias);
3680#else
3681extern void glPolygonOffsetEXT(GLfloat factor, GLfloat bias);
3682#endif /* GL_GLEXT_FUNCTION_POINTERS */
3683#endif
3684
3685#if GL_EXT_texture3D
3686#ifdef GL_GLEXT_FUNCTION_POINTERS
3687typedef void (* glTexImage3DEXTProcPtr) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
3688typedef void (* glTexSubImage3DEXTProcPtr) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3689#else
3690extern void glTexImage3DEXT(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
3691extern void glTexSubImage3DEXT(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3692#endif /* GL_GLEXT_FUNCTION_POINTERS */
3693#endif
3694
3695#if GL_EXT_subtexture
3696#ifdef GL_GLEXT_FUNCTION_POINTERS
3697typedef void (* glTexSubImage1DEXTProcPtr) (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
3698typedef void (* glTexSubImage2DEXTProcPtr) (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3699#else
3700extern void glTexSubImage1DEXT(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
3701extern void glTexSubImage2DEXT(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3702#endif /* GL_GLEXT_FUNCTION_POINTERS */
3703#endif
3704
3705#if GL_EXT_copy_texture
3706#ifdef GL_GLEXT_FUNCTION_POINTERS
3707typedef void (* glCopyTexImage1DEXTProcPtr) (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
3708typedef void (* glCopyTexImage2DEXTProcPtr) (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
3709typedef void (* glCopyTexSubImage1DEXTProcPtr) (GLenum, GLint, GLint, GLint, GLint, GLsizei);
3710typedef void (* glCopyTexSubImage2DEXTProcPtr) (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
3711typedef void (* glCopyTexSubImage3DEXTProcPtr) (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
3712#else
3713extern void glCopyTexImage1DEXT(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
3714extern void glCopyTexImage2DEXT(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
3715extern void glCopyTexSubImage1DEXT(GLenum, GLint, GLint, GLint, GLint, GLsizei);
3716extern void glCopyTexSubImage2DEXT(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
3717extern void glCopyTexSubImage3DEXT(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
3718#endif /* GL_GLEXT_FUNCTION_POINTERS */
3719#endif
3720
3721#if GL_EXT_histogram
3722#ifdef GL_GLEXT_FUNCTION_POINTERS
3723typedef void (* glGetHistogramEXTProcPtr) (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
3724typedef void (* glGetHistogramParameterfvEXTProcPtr) (GLenum, GLenum, GLfloat *);
3725typedef void (* glGetHistogramParameterivEXTProcPtr) (GLenum, GLenum, GLint *);
3726typedef void (* glGetMinmaxEXTProcPtr) (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
3727typedef void (* glGetMinmaxParameterfvEXTProcPtr) (GLenum, GLenum, GLfloat *);
3728typedef void (* glGetMinmaxParameterivEXTProcPtr) (GLenum, GLenum, GLint *);
3729typedef void (* glHistogramEXTProcPtr) (GLenum, GLsizei, GLenum, GLboolean);
3730typedef void (* glMinmaxEXTProcPtr) (GLenum, GLenum, GLboolean);
3731typedef void (* glResetHistogramEXTProcPtr) (GLenum);
3732typedef void (* glResetMinmaxEXTProcPtr) (GLenum);
3733#else
3734extern void glGetHistogramEXT(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
3735extern void glGetHistogramParameterfvEXT(GLenum, GLenum, GLfloat *);
3736extern void glGetHistogramParameterivEXT(GLenum, GLenum, GLint *);
3737extern void glGetMinmaxEXT(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
3738extern void glGetMinmaxParameterfvEXT(GLenum, GLenum, GLfloat *);
3739extern void glGetMinmaxParameterivEXT(GLenum, GLenum, GLint *);
3740extern void glHistogramEXT(GLenum, GLsizei, GLenum, GLboolean);
3741extern void glMinmaxEXT(GLenum, GLenum, GLboolean);
3742extern void glResetHistogramEXT(GLenum);
3743extern void glResetMinmaxEXT(GLenum);
3744#endif /* GL_GLEXT_FUNCTION_POINTERS */
3745#endif
3746
3747#if GL_EXT_convolution
3748#ifdef GL_GLEXT_FUNCTION_POINTERS
3749typedef void (* glConvolutionFilter1DEXTProcPtr) (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
3750typedef void (* glConvolutionFilter2DEXTProcPtr) (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3751typedef void (* glConvolutionParameterfEXTProcPtr) (GLenum, GLenum, GLfloat);
3752typedef void (* glConvolutionParameterfvEXTProcPtr) (GLenum, GLenum, const GLfloat *);
3753typedef void (* glConvolutionParameteriEXTProcPtr) (GLenum, GLenum, GLint);
3754typedef void (* glConvolutionParameterivEXTProcPtr) (GLenum, GLenum, const GLint *);
3755typedef void (* glCopyConvolutionFilter1DEXTProcPtr) (GLenum, GLenum, GLint, GLint, GLsizei);
3756typedef void (* glCopyConvolutionFilter2DEXTProcPtr) (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
3757typedef void (* glGetConvolutionFilterEXTProcPtr) (GLenum, GLenum, GLenum, GLvoid *);
3758typedef void (* glGetConvolutionParameterfvEXTProcPtr) (GLenum, GLenum, GLfloat *);
3759typedef void (* glGetConvolutionParameterivEXTProcPtr) (GLenum, GLenum, GLint *);
3760typedef void (* glGetSeparableFilterEXTProcPtr) (GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
3761typedef void (* glSeparableFilter2DEXTProcPtr) (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
3762#else
3763extern void glConvolutionFilter1DEXT(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
3764extern void glConvolutionFilter2DEXT(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3765extern void glConvolutionParameterfEXT(GLenum, GLenum, GLfloat);
3766extern void glConvolutionParameterfvEXT(GLenum, GLenum, const GLfloat *);
3767extern void glConvolutionParameteriEXT(GLenum, GLenum, GLint);
3768extern void glConvolutionParameterivEXT(GLenum, GLenum, const GLint *);
3769extern void glCopyConvolutionFilter1DEXT(GLenum, GLenum, GLint, GLint, GLsizei);
3770extern void glCopyConvolutionFilter2DEXT(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
3771extern void glGetConvolutionFilterEXT(GLenum, GLenum, GLenum, GLvoid *);
3772extern void glGetConvolutionParameterfvEXT(GLenum, GLenum, GLfloat *);
3773extern void glGetConvolutionParameterivEXT(GLenum, GLenum, GLint *);
3774extern void glGetSeparableFilterEXT(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
3775extern void glSeparableFilter2DEXT(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
3776#endif /* GL_GLEXT_FUNCTION_POINTERS */
3777#endif
3778
3779#if GL_EXT_texture_object
3780#ifdef GL_GLEXT_FUNCTION_POINTERS
3781typedef GLboolean (* glAreTexturesResidentEXTProcPtr) (GLsizei, const GLuint *, GLboolean *);
3782typedef void (* glBindTextureEXTProcPtr) (GLenum, GLuint);
3783typedef void (* glDeleteTexturesEXTProcPtr) (GLsizei, const GLuint *);
3784typedef void (* glGenTexturesEXTProcPtr) (GLsizei, GLuint *);
3785typedef GLboolean (* glIsTextureEXTProcPtr) (GLuint);
3786typedef void (* glPrioritizeTexturesEXTProcPtr) (GLsizei, const GLuint *, const GLclampf *);
3787#else
3788extern GLboolean glAreTexturesResidentEXT(GLsizei, const GLuint *, GLboolean *);
3789extern void glBindTextureEXT(GLenum, GLuint);
3790extern void glDeleteTexturesEXT(GLsizei, const GLuint *);
3791extern void glGenTexturesEXT(GLsizei, GLuint *);
3792extern GLboolean glIsTextureEXT(GLuint);
3793extern void glPrioritizeTexturesEXT(GLsizei, const GLuint *, const GLclampf *);
3794#endif /* GL_GLEXT_FUNCTION_POINTERS */
3795#endif
3796
3797#if GL_EXT_vertex_array
3798#ifdef GL_GLEXT_FUNCTION_POINTERS
3799typedef void (* glArrayElementEXTProcPtr) (GLint);
3800typedef void (* glColorPointerEXTProcPtr) (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
3801typedef void (* glDrawArraysEXTProcPtr) (GLenum, GLint, GLsizei);
3802typedef void (* glEdgeFlagPointerEXTProcPtr) (GLsizei, GLsizei, const GLvoid *);
3803typedef void (* glGetPointervEXTProcPtr) (GLenum, GLvoid **);
3804typedef void (* glIndexPointerEXTProcPtr) (GLenum, GLsizei, GLsizei, const GLvoid *);
3805typedef void (* glNormalPointerEXTProcPtr) (GLenum, GLsizei, GLsizei, const GLvoid *);
3806typedef void (* glTexCoordPointerEXTProcPtr) (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
3807typedef void (* glVertexPointerEXTProcPtr) (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
3808#else
3809extern void glArrayElementEXT(GLint);
3810extern void glColorPointerEXT(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
3811extern void glDrawArraysEXT(GLenum, GLint, GLsizei);
3812extern void glEdgeFlagPointerEXT(GLsizei, GLsizei, const GLvoid *);
3813extern void glGetPointervEXT(GLenum, GLvoid **);
3814extern void glIndexPointerEXT(GLenum, GLsizei, GLsizei, const GLvoid *);
3815extern void glNormalPointerEXT(GLenum, GLsizei, GLsizei, const GLvoid *);
3816extern void glTexCoordPointerEXT(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
3817extern void glVertexPointerEXT(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
3818#endif /* GL_GLEXT_FUNCTION_POINTERS */
3819#endif
3820
3821#if GL_EXT_blend_minmax
3822#ifdef GL_GLEXT_FUNCTION_POINTERS
3823typedef void (* glBlendEquationEXTProcPtr) (GLenum mode);
3824#else
3825extern void glBlendEquationEXT(GLenum mode);
3826#endif /* GL_GLEXT_FUNCTION_POINTERS */
3827#endif
3828
3829#if GL_EXT_color_subtable
3830#ifdef GL_GLEXT_FUNCTION_POINTERS
3831typedef void (* glColorSubTableEXTProcPtr) (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3832typedef void (* glCopyColorSubTableEXTProcPtr) (GLenum, GLsizei, GLint, GLint, GLsizei);
3833#else
3834extern void glColorSubTableEXT(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3835extern void glCopyColorSubTableEXT(GLenum, GLsizei, GLint, GLint, GLsizei);
3836#endif /* GL_GLEXT_FUNCTION_POINTERS */
3837#endif
3838
3839#if GL_EXT_paletted_texture
3840#ifdef GL_GLEXT_FUNCTION_POINTERS
3841typedef void (* glColorTableEXTProcPtr) (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
3842typedef void (* glColorSubTableEXTProcPtr) (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3843typedef void (* glGetColorTableEXTProcPtr) (GLenum, GLenum, GLenum, GLvoid *);
3844typedef void (* glGetColorTableParameterivEXTProcPtr) (GLenum, GLenum, GLint *);
3845typedef void (* glGetColorTableParameterfvEXTProcPtr) (GLenum, GLenum, GLfloat *);
3846#else
3847extern void glColorTableEXT(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
3848extern void glColorSubTableEXT(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
3849extern void glGetColorTableEXT(GLenum, GLenum, GLenum, GLvoid *);
3850extern void glGetColorTableParameterivEXT(GLenum, GLenum, GLint *);
3851extern void glGetColorTableParameterfvEXT(GLenum, GLenum, GLfloat *);
3852#endif /* GL_GLEXT_FUNCTION_POINTERS */
3853#endif
3854
3855#if GL_EXT_index_material
3856#ifdef GL_GLEXT_FUNCTION_POINTERS
3857typedef void (* glIndexMaterialEXTProcPtr) (GLenum, GLenum);
3858#else
3859extern void glIndexMaterialEXT(GLenum, GLenum);
3860#endif /* GL_GLEXT_FUNCTION_POINTERS */
3861#endif
3862
3863#if GL_EXT_index_func
3864#ifdef GL_GLEXT_FUNCTION_POINTERS
3865typedef void (* glIndexFuncEXTProcPtr) (GLenum, GLclampf);
3866#else
3867extern void glIndexFuncEXT(GLenum, GLclampf);
3868#endif /* GL_GLEXT_FUNCTION_POINTERS */
3869#endif
3870
3871#if GL_EXT_compiled_vertex_array
3872#ifdef GL_GLEXT_FUNCTION_POINTERS
3873typedef void (* glLockArraysEXTProcPtr) (GLint first, GLsizei count);
3874typedef void (* glUnlockArraysEXTProcPtr) (void);
3875#else
3876extern void glLockArraysEXT(GLint first, GLsizei count);
3877extern void glUnlockArraysEXT(void);
3878#endif /* GL_GLEXT_FUNCTION_POINTERS */
3879#endif
3880
3881#if GL_EXT_cull_vertex
3882#ifdef GL_GLEXT_FUNCTION_POINTERS
3883typedef void (* glCullParameterdvEXTProcPtr) (GLenum, GLdouble *);
3884typedef void (* glCullParameterfvEXTProcPtr) (GLenum, GLfloat *);
3885#else
3886extern void glCullParameterdvEXT(GLenum, GLdouble *);
3887extern void glCullParameterfvEXT(GLenum, GLfloat *);
3888#endif /* GL_GLEXT_FUNCTION_POINTERS */
3889#endif
3890
3891#if GL_EXT_draw_range_elements
3892#ifdef GL_GLEXT_FUNCTION_POINTERS
3893typedef void (* glDrawRangeElementsEXTProcPtr) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
3894#else
3895extern void glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
3896#endif /* GL_GLEXT_FUNCTION_POINTERS */
3897#endif
3898
3899#if GL_EXT_light_texture
3900#ifdef GL_GLEXT_FUNCTION_POINTERS
3901typedef void (* glApplyTextureEXTProcPtr) (GLenum);
3902typedef void (* glTextureLightEXTProcPtr) (GLenum);
3903typedef void (* glTextureMaterialEXTProcPtr) (GLenum, GLenum);
3904#else
3905extern void glApplyTextureEXT(GLenum);
3906extern void glTextureLightEXT(GLenum);
3907extern void glTextureMaterialEXT(GLenum, GLenum);
3908#endif /* GL_GLEXT_FUNCTION_POINTERS */
3909#endif
3910
3911#if GL_EXT_pixel_transform
3912#ifdef GL_GLEXT_FUNCTION_POINTERS
3913typedef void (* glPixelTransformParameteriEXTProcPtr) (GLenum, GLenum, GLint);
3914typedef void (* glPixelTransformParameterfEXTProcPtr) (GLenum, GLenum, GLfloat);
3915typedef void (* glPixelTransformParameterivEXTProcPtr) (GLenum, GLenum, const GLint *);
3916typedef void (* glPixelTransformParameterfvEXTProcPtr) (GLenum, GLenum, const GLfloat *);
3917#else
3918extern void glPixelTransformParameteriEXT(GLenum, GLenum, GLint);
3919extern void glPixelTransformParameterfEXT(GLenum, GLenum, GLfloat);
3920extern void glPixelTransformParameterivEXT(GLenum, GLenum, const GLint *);
3921extern void glPixelTransformParameterfvEXT(GLenum, GLenum, const GLfloat *);
3922#endif /* GL_GLEXT_FUNCTION_POINTERS */
3923#endif
3924
3925#if GL_EXT_secondary_color
3926#ifdef GL_GLEXT_FUNCTION_POINTERS
3927typedef void (* glSecondaryColor3bEXTProcPtr) (GLbyte red, GLbyte green, GLbyte blue);
3928typedef void (* glSecondaryColor3bvEXTProcPtr) (const GLbyte *v);
3929typedef void (* glSecondaryColor3dEXTProcPtr) (GLdouble red, GLdouble green, GLdouble blue);
3930typedef void (* glSecondaryColor3dvEXTProcPtr) (const GLdouble *v);
3931typedef void (* glSecondaryColor3fEXTProcPtr) (GLfloat red, GLfloat green, GLfloat blue);
3932typedef void (* glSecondaryColor3fvEXTProcPtr) (const GLfloat *v);
3933typedef void (* glSecondaryColor3iEXTProcPtr) (GLint red, GLint green, GLint blue);
3934typedef void (* glSecondaryColor3ivEXTProcPtr) (const GLint *v);
3935typedef void (* glSecondaryColor3sEXTProcPtr) (GLshort red, GLshort green, GLshort blue);
3936typedef void (* glSecondaryColor3svEXTProcPtr) (const GLshort *v);
3937typedef void (* glSecondaryColor3ubEXTProcPtr) (GLubyte red, GLubyte green, GLubyte blue);
3938typedef void (* glSecondaryColor3ubvEXTProcPtr) (const GLubyte *v);
3939typedef void (* glSecondaryColor3uiEXTProcPtr) (GLuint red, GLuint green, GLuint blue);
3940typedef void (* glSecondaryColor3uivEXTProcPtr) (const GLuint *v);
3941typedef void (* glSecondaryColor3usEXTProcPtr) (GLushort red, GLushort green, GLushort blue);
3942typedef void (* glSecondaryColor3usvEXTProcPtr) (const GLushort *v);
3943typedef void (* glSecondaryColorPointerEXTProcPtr) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
3944#else
3945extern void glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue);
3946extern void glSecondaryColor3bvEXT(const GLbyte *v);
3947extern void glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue);
3948extern void glSecondaryColor3dvEXT(const GLdouble *v);
3949extern void glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue);
3950extern void glSecondaryColor3fvEXT(const GLfloat *v);
3951extern void glSecondaryColor3iEXT(GLint red, GLint green, GLint blue);
3952extern void glSecondaryColor3ivEXT(const GLint *v);
3953extern void glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue);
3954extern void glSecondaryColor3svEXT(const GLshort *v);
3955extern void glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue);
3956extern void glSecondaryColor3ubvEXT(const GLubyte *v);
3957extern void glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue);
3958extern void glSecondaryColor3uivEXT(const GLuint *v);
3959extern void glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue);
3960extern void glSecondaryColor3usvEXT(const GLushort *v);
3961extern void glSecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
3962#endif /* GL_GLEXT_FUNCTION_POINTERS */
3963#endif
3964
3965#if GL_EXT_texture_perturb_normal
3966#ifdef GL_GLEXT_FUNCTION_POINTERS
3967typedef void (* glTextureNormalEXTProcPtr) (GLenum mode);
3968#else
3969extern void glTextureNormalEXT(GLenum mode);
3970#endif /* GL_GLEXT_FUNCTION_POINTERS */
3971#endif
3972
3973#if GL_EXT_multi_draw_arrays
3974#ifdef GL_GLEXT_FUNCTION_POINTERS
3975typedef void (* glMultiDrawArraysEXTProcPtr) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
3976typedef void (* glMultiDrawElementsEXTProcPtr) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
3977#else
3978extern void glMultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
3979extern void glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
3980#endif /* GL_GLEXT_FUNCTION_POINTERS */
3981#endif
3982
3983#if GL_EXT_fog_coord
3984#ifdef GL_GLEXT_FUNCTION_POINTERS
3985typedef void (* glFogCoordfEXTProcPtr) (GLfloat coord);
3986typedef void (* glFogCoordfvEXTProcPtr) (const GLfloat *coord);
3987typedef void (* glFogCoorddEXTProcPtr) (GLdouble coord);
3988typedef void (* glFogCoorddvEXTProcPtr) (const GLdouble *coord);
3989typedef void (* glFogCoordPointerEXTProcPtr) (GLenum type, GLsizei stride, const GLvoid *pointer);
3990#else
3991extern void glFogCoordfEXT(GLfloat coord);
3992extern void glFogCoordfvEXT(const GLfloat *coord);
3993extern void glFogCoorddEXT(GLdouble coord);
3994extern void glFogCoorddvEXT(const GLdouble *coord);
3995extern void glFogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);
3996#endif /* GL_GLEXT_FUNCTION_POINTERS */
3997#endif
3998
3999#if GL_EXT_coordinate_frame
4000#ifdef GL_GLEXT_FUNCTION_POINTERS
4001typedef void (* glTangent3bEXTProcPtr) (GLbyte, GLbyte, GLbyte);
4002typedef void (* glTangent3bvEXTProcPtr) (const GLbyte *);
4003typedef void (* glTangent3dEXTProcPtr) (GLdouble, GLdouble, GLdouble);
4004typedef void (* glTangent3dvEXTProcPtr) (const GLdouble *);
4005typedef void (* glTangent3fEXTProcPtr) (GLfloat, GLfloat, GLfloat);
4006typedef void (* glTangent3fvEXTProcPtr) (const GLfloat *);
4007typedef void (* glTangent3iEXTProcPtr) (GLint, GLint, GLint);
4008typedef void (* glTangent3ivEXTProcPtr) (const GLint *);
4009typedef void (* glTangent3sEXTProcPtr) (GLshort, GLshort, GLshort);
4010typedef void (* glTangent3svEXTProcPtr) (const GLshort *);
4011typedef void (* glBinormal3bEXTProcPtr) (GLbyte, GLbyte, GLbyte);
4012typedef void (* glBinormal3bvEXTProcPtr) (const GLbyte *);
4013typedef void (* glBinormal3dEXTProcPtr) (GLdouble, GLdouble, GLdouble);
4014typedef void (* glBinormal3dvEXTProcPtr) (const GLdouble *);
4015typedef void (* glBinormal3fEXTProcPtr) (GLfloat, GLfloat, GLfloat);
4016typedef void (* glBinormal3fvEXTProcPtr) (const GLfloat *);
4017typedef void (* glBinormal3iEXTProcPtr) (GLint, GLint, GLint);
4018typedef void (* glBinormal3ivEXTProcPtr) (const GLint *);
4019typedef void (* glBinormal3sEXTProcPtr) (GLshort, GLshort, GLshort);
4020typedef void (* glBinormal3svEXTProcPtr) (const GLshort *);
4021typedef void (* glTangentPointerEXTProcPtr) (GLenum, GLsizei, const GLvoid *);
4022typedef void (* glBinormalPointerEXTProcPtr) (GLenum, GLsizei, const GLvoid *);
4023#else
4024extern void glTangent3bEXT(GLbyte, GLbyte, GLbyte);
4025extern void glTangent3bvEXT(const GLbyte *);
4026extern void glTangent3dEXT(GLdouble, GLdouble, GLdouble);
4027extern void glTangent3dvEXT(const GLdouble *);
4028extern void glTangent3fEXT(GLfloat, GLfloat, GLfloat);
4029extern void glTangent3fvEXT(const GLfloat *);
4030extern void glTangent3iEXT(GLint, GLint, GLint);
4031extern void glTangent3ivEXT(const GLint *);
4032extern void glTangent3sEXT(GLshort, GLshort, GLshort);
4033extern void glTangent3svEXT(const GLshort *);
4034extern void glBinormal3bEXT(GLbyte, GLbyte, GLbyte);
4035extern void glBinormal3bvEXT(const GLbyte *);
4036extern void glBinormal3dEXT(GLdouble, GLdouble, GLdouble);
4037extern void glBinormal3dvEXT(const GLdouble *);
4038extern void glBinormal3fEXT(GLfloat, GLfloat, GLfloat);
4039extern void glBinormal3fvEXT(const GLfloat *);
4040extern void glBinormal3iEXT(GLint, GLint, GLint);
4041extern void glBinormal3ivEXT(const GLint *);
4042extern void glBinormal3sEXT(GLshort, GLshort, GLshort);
4043extern void glBinormal3svEXT(const GLshort *);
4044extern void glTangentPointerEXT(GLenum, GLsizei, const GLvoid *);
4045extern void glBinormalPointerEXT(GLenum, GLsizei, const GLvoid *);
4046#endif /* GL_GLEXT_FUNCTION_POINTERS */
4047#endif
4048
4049#if GL_EXT_blend_func_separate
4050#ifdef GL_GLEXT_FUNCTION_POINTERS
4051typedef void (* glBlendFuncSeparateEXTProcPtr) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
4052#else
4053extern void glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
4054#endif /* GL_GLEXT_FUNCTION_POINTERS */
4055#endif
4056
4057#if GL_EXT_vertex_weighting
4058#ifdef GL_GLEXT_FUNCTION_POINTERS
4059typedef void (* glVertexWeightfEXTProcPtr) (GLfloat);
4060typedef void (* glVertexWeightfvEXTProcPtr) (const GLfloat *);
4061typedef void (* glVertexWeightPointerEXTProcPtr) (GLsizei, GLenum, GLsizei, const GLvoid *);
4062#else
4063extern void glVertexWeightfEXT(GLfloat);
4064extern void glVertexWeightfvEXT(const GLfloat *);
4065extern void glVertexWeightPointerEXT(GLsizei, GLenum, GLsizei, const GLvoid *);
4066#endif /* GL_GLEXT_FUNCTION_POINTERS */
4067#endif
4068
4069#if GL_EXT_vertex_shader
4070#ifdef GL_GLEXT_FUNCTION_POINTERS
4071typedef void (* glBeginVertexShaderEXTProcPtr) (void);
4072typedef void (* glEndVertexShaderEXTProcPtr) (void);
4073typedef void (* glBindVertexShaderEXTProcPtr) (GLuint id);
4074typedef GLuint (* glGenVertexShadersEXTProcPtr) (GLuint range);
4075typedef void (* glDeleteVertexShaderEXTProcPtr) (GLuint id);
4076typedef void (* glShaderOp1EXTProcPtr) (GLenum op, GLuint res, GLuint arg1);
4077typedef void (* glShaderOp2EXTProcPtr) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
4078typedef void (* glShaderOp3EXTProcPtr) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
4079typedef void (* glSwizzleEXTProcPtr) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
4080typedef void (* glWriteMaskEXTProcPtr) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
4081typedef void (* glInsertComponentEXTProcPtr) (GLuint res, GLuint src, GLuint num);
4082typedef void (* glExtractComponentEXTProcPtr) (GLuint res, GLuint src, GLuint num);
4083typedef GLuint (* glGenSymbolsEXTProcPtr) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
4084typedef void (* glSetInvariantEXTProcPtr) (GLuint id, GLenum type, GLvoid *addr);
4085typedef void (* glSetLocalConstantEXTProcPtr) (GLuint id, GLenum type, GLvoid *addr);
4086typedef void (* glVariantbvEXTProcPtr) (GLuint id, GLbyte *addr);
4087typedef void (* glVariantdvEXTProcPtr) (GLuint id, GLdouble *addr);
4088typedef void (* glVariantfvEXTProcPtr) (GLuint id, GLfloat *addr);
4089typedef void (* glVariantivEXTProcPtr) (GLuint id, GLint *addr);
4090typedef void (* glVariantsvEXTProcPtr) (GLuint id, GLshort *addr);
4091typedef void (* glVariantubvEXTProcPtr) (GLuint id, GLubyte *addr);
4092typedef void (* glVariantuivEXTProcPtr) (GLuint id, GLuint *addr);
4093typedef void (* glVariantusvEXTProcPtr) (GLuint id, GLushort *addr);
4094typedef void (* glVariantPointerEXTProcPtr) (GLuint id, GLenum type, GLuint stride, GLvoid *addr);
4095typedef void (* glEnableVariantClientStateEXTProcPtr) (GLuint id);
4096typedef void (* glDisableVariantClientStateEXTProcPtr) (GLuint id);
4097typedef GLuint (* glBindLightParameterEXTProcPtr) (GLenum light, GLenum value);
4098typedef GLuint (* glBindMaterialParameterEXTProcPtr) (GLenum face, GLenum value);
4099typedef GLuint (* glBindTexGenParameterEXTProcPtr) (GLenum unit, GLenum coord, GLenum value);
4100typedef GLuint (* glBindTextureUnitParameterEXTProcPtr) (GLenum unit, GLenum value);
4101typedef GLuint (* glBindParameterEXTProcPtr) (GLenum value);
4102typedef GLboolean (* glIsVariantEnabledEXTProcPtr) (GLuint id, GLenum cap);
4103typedef void (* glGetVariantBooleanvEXTProcPtr) (GLuint id, GLenum value, GLboolean *data);
4104typedef void (* glGetVariantIntegervEXTProcPtr) (GLuint id, GLenum value, GLint *data);
4105typedef void (* glGetVariantFloatvEXTProcPtr) (GLuint id, GLenum value, GLfloat *data);
4106typedef void (* glGetVariantPointervEXTProcPtr) (GLuint id, GLenum value, GLvoid **data);
4107typedef void (* glGetInvariantBooleanvEXTProcPtr) (GLuint id, GLenum value, GLboolean *data);
4108typedef void (* glGetInvariantIntegervEXTProcPtr) (GLuint id, GLenum value, GLint *data);
4109typedef void (* glGetInvariantFloatvEXTProcPtr) (GLuint id, GLenum value, GLfloat *data);
4110typedef void (* glGetLocalConstantBooleanvEXTProcPtr) (GLuint id, GLenum value, GLboolean *data);
4111typedef void (* glGetLocalConstantIntegervEXTProcPtr) (GLuint id, GLenum value, GLint *data);
4112typedef void (* glGetLocalConstantFloatvEXTProcPtr) (GLuint id, GLenum value, GLfloat *data);
4113#else
4114extern void glBeginVertexShaderEXT(void);
4115extern void glEndVertexShaderEXT(void);
4116extern void glBindVertexShaderEXT(GLuint id);
4117extern GLuint glGenVertexShadersEXT(GLuint range);
4118extern void glDeleteVertexShaderEXT(GLuint id);
4119extern void glShaderOp1EXT(GLenum op, GLuint res, GLuint arg1);
4120extern void glShaderOp2EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2);
4121extern void glShaderOp3EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
4122extern void glSwizzleEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
4123extern void glWriteMaskEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
4124extern void glInsertComponentEXT(GLuint res, GLuint src, GLuint num);
4125extern void glExtractComponentEXT(GLuint res, GLuint src, GLuint num);
4126extern GLuint glGenSymbolsEXT(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
4127extern void glSetInvariantEXT(GLuint id, GLenum type, GLvoid *addr);
4128extern void glSetLocalConstantEXT(GLuint id, GLenum type, GLvoid *addr);
4129extern void glVariantbvEXT(GLuint id, GLbyte *addr);
4130extern void glVariantdvEXT(GLuint id, GLdouble *addr);
4131extern void glVariantfvEXT(GLuint id, GLfloat *addr);
4132extern void glVariantivEXT(GLuint id, GLint *addr);
4133extern void glVariantsvEXT(GLuint id, GLshort *addr);
4134extern void glVariantubvEXT(GLuint id, GLubyte *addr);
4135extern void glVariantuivEXT(GLuint id, GLuint *addr);
4136extern void glVariantusvEXT(GLuint id, GLushort *addr);
4137extern void glVariantPointerEXT(GLuint id, GLenum type, GLuint stride, GLvoid *addr);
4138extern void glEnableVariantClientStateEXT(GLuint id);
4139extern void glDisableVariantClientStateEXT(GLuint id);
4140extern GLuint glBindLightParameterEXT(GLenum light, GLenum value);
4141extern GLuint glBindMaterialParameterEXT(GLenum face, GLenum value);
4142extern GLuint glBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value);
4143extern GLuint glBindTextureUnitParameterEXT(GLenum unit, GLenum value);
4144extern GLuint glBindParameterEXT(GLenum value);
4145extern GLboolean glIsVariantEnabledEXT(GLuint id, GLenum cap);
4146extern void glGetVariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);
4147extern void glGetVariantIntegervEXT(GLuint id, GLenum value, GLint *data);
4148extern void glGetVariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);
4149extern void glGetVariantPointervEXT(GLuint id, GLenum value, GLvoid **data);
4150extern void glGetInvariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);
4151extern void glGetInvariantIntegervEXT(GLuint id, GLenum value, GLint *data);
4152extern void glGetInvariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);
4153extern void glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);
4154extern void glGetLocalConstantIntegervEXT(GLuint id, GLenum value, GLint *data);
4155extern void glGetLocalConstantFloatvEXT(GLuint id, GLenum value, GLfloat *data);
4156#endif /* GL_GLEXT_FUNCTION_POINTERS */
4157#endif
4158
4159#if GL_EXT_fragment_shader
4160#ifdef GL_GLEXT_FUNCTION_POINTERS
4161typedef GLuint (* glGenFragmentShadersEXTProcPtr) (GLuint range);
4162typedef void (* glBindFragmentShaderEXTProcPtr) (GLuint id);
4163typedef void (* glDeleteFragmentShaderEXTProcPtr) (GLuint id);
4164typedef void (* glBeginFragmentShaderEXTProcPtr) (void);
4165typedef void (* glEndFragmentShaderEXTProcPtr) (void);
4166typedef void (* glPassTexCoordEXTProcPtr) (GLuint dst, GLuint coord, GLenum swizzle);
4167typedef void (* glSampleMapEXTProcPtr) (GLuint dst, GLuint interp, GLenum swizzle);
4168typedef void (* glColorFragmentOp1EXTProcPtr) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
4169typedef void (* glColorFragmentOp2EXTProcPtr) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
4170typedef void (* glColorFragmentOp3EXTProcPtr) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
4171typedef void (* glAlphaFragmentOp1EXTProcPtr) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
4172typedef void (* glAlphaFragmentOp2EXTProcPtr) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
4173typedef void (* glAlphaFragmentOp3EXTProcPtr) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
4174typedef void (* glSetFragmentShaderConstantEXTProcPtr) (GLuint dst, const GLfloat *value);
4175#else
4176extern GLuint glGenFragmentShadersEXT(GLuint range);
4177extern void glBindFragmentShaderEXT(GLuint id);
4178extern void glDeleteFragmentShaderEXT(GLuint id);
4179extern void glBeginFragmentShaderEXT(void);
4180extern void glEndFragmentShaderEXT(void);
4181extern void glPassTexCoordEXT(GLuint dst, GLuint coord, GLenum swizzle);
4182extern void glSampleMapEXT(GLuint dst, GLuint interp, GLenum swizzle);
4183extern void glColorFragmentOp1EXT(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
4184extern void glColorFragmentOp2EXT(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
4185extern void glColorFragmentOp3EXT(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
4186extern void glAlphaFragmentOp1EXT(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
4187extern void glAlphaFragmentOp2EXT(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
4188extern void glAlphaFragmentOp3EXT(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
4189extern void glSetFragmentShaderConstantEXT(GLuint dst, const GLfloat *value);
4190#endif /* GL_GLEXT_FUNCTION_POINTERS */
4191#endif
4192
4193#if GL_EXT_multisample
4194#ifdef GL_GLEXT_FUNCTION_POINTERS
4195typedef void (* glSampleMaskEXTProcPtr) (GLclampf, GLboolean);
4196typedef void (* glSamplePatternEXTProcPtr) (GLenum);
4197#else
4198extern void glSampleMaskEXT(GLclampf, GLboolean);
4199extern void glSamplePatternEXT(GLenum);
4200#endif /* GL_GLEXT_FUNCTION_POINTERS */
4201#endif
4202
4203#if GL_EXT_stencil_two_side
4204#ifdef GL_GLEXT_FUNCTION_POINTERS
4205typedef void (* glActiveStencilFaceEXTProcPtr) (GLenum face);
4206#else
4207extern void glActiveStencilFaceEXT(GLenum face);
4208#endif /* GL_GLEXT_FUNCTION_POINTERS */
4209#endif
4210
4211#if GL_EXT_depth_bounds_test
4212#ifdef GL_GLEXT_FUNCTION_POINTERS
4213typedef void (* glDepthBoundsEXTProcPtr) (GLclampd zmin, GLclampd zmax);
4214#else
4215extern void glDepthBoundsEXT(GLclampd zmin, GLclampd zmax);
4216#endif /* GL_GLEXT_FUNCTION_POINTERS */
4217#endif
4218
4219#if GL_EXT_blend_equation_separate
4220#ifdef GL_GLEXT_FUNCTION_POINTERS
4221typedef void (* glBlendEquationSeparateEXTProcPtr) (GLenum modeRGB, GLenum modeAlpha);
4222#else
4223extern void glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha);
4224#endif /* GL_GLEXT_FUNCTION_POINTERS */
4225#endif
4226
4227#if GL_EXT_framebuffer_object
4228#ifdef GL_GLEXT_FUNCTION_POINTERS
4229typedef GLboolean (* glIsRenderbufferEXTProcPtr) (GLuint renderbuffer);
4230typedef void (* glBindRenderbufferEXTProcPtr) (GLenum target, GLuint renderbuffer);
4231typedef void (* glDeleteRenderbuffersEXTProcPtr) (GLsizei n, const GLuint *renderbuffers);
4232typedef void (* glGenRenderbuffersEXTProcPtr) (GLsizei n, GLuint *renderbuffers);
4233typedef void (* glRenderbufferStorageEXTProcPtr) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
4234typedef void (* glGetRenderbufferParameterivEXTProcPtr) (GLenum target, GLenum pname, GLint *params);
4235typedef GLboolean (* glIsFramebufferEXTProcPtr) (GLuint framebuffer);
4236typedef void (* glBindFramebufferEXTProcPtr) (GLenum target, GLuint framebuffer);
4237typedef void (* glDeleteFramebuffersEXTProcPtr) (GLsizei n, const GLuint *framebuffers);
4238typedef void (* glGenFramebuffersEXTProcPtr) (GLsizei n, GLuint *framebuffers);
4239typedef GLenum (* glCheckFramebufferStatusEXTProcPtr) (GLenum target);
4240typedef void (* glFramebufferTexture1DEXTProcPtr) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
4241typedef void (* glFramebufferTexture2DEXTProcPtr) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
4242typedef void (* glFramebufferTexture3DEXTProcPtr) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
4243typedef void (* glFramebufferRenderbufferEXTProcPtr) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
4244typedef void (* glGetFramebufferAttachmentParameterivEXTProcPtr) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
4245typedef void (* glGenerateMipmapEXTProcPtr) (GLenum target);
4246#else
4247extern GLboolean glIsRenderbufferEXT(GLuint renderbuffer);
4248extern void glBindRenderbufferEXT(GLenum target, GLuint renderbuffer);
4249extern void glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers);
4250extern void glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers);
4251extern void glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
4252extern void glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params);
4253extern GLboolean glIsFramebufferEXT(GLuint framebuffer);
4254extern void glBindFramebufferEXT(GLenum target, GLuint framebuffer);
4255extern void glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers);
4256extern void glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers);
4257extern GLenum glCheckFramebufferStatusEXT(GLenum target);
4258extern void glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
4259extern void glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
4260extern void glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
4261extern void glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
4262extern void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params);
4263extern void glGenerateMipmapEXT(GLenum target);
4264#endif /* GL_GLEXT_FUNCTION_POINTERS */
4265#endif
4266
4267#if GL_EXT_framebuffer_blit
4268#ifdef GL_GLEXT_FUNCTION_POINTERS
4269typedef void (* glBlitFramebufferEXTProcPtr) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
4270#else
4271extern void glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
4272#endif /* GL_GLEXT_FUNCTION_POINTERS */
4273#endif
4274
4275#if GL_EXT_framebuffer_multisample
4276#ifdef GL_GLEXT_FUNCTION_POINTERS
4277typedef void (* glRenderbufferStorageMultisampleEXTProcPtr) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
4278#else
4279extern void glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
4280#endif /* GL_GLEXT_FUNCTION_POINTERS */
4281#endif
4282
4283#if GL_EXT_geometry_shader4
4284#ifdef GL_GLEXT_FUNCTION_POINTERS
4285typedef void (* glProgramParameteriEXTProcPtr) (GLuint program, GLenum pname, GLint value);
4286typedef void (* glFramebufferTextureEXTProcPtr) (GLenum target, GLenum attachment, GLuint texture, GLint level);
4287typedef void (* glFramebufferTextureFaceEXTProcPtr) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
4288#else
4289extern void glProgramParameteriEXT(GLuint program, GLenum pname, GLint value);
4290extern void glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level);
4291extern void glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
4292#endif /* GL_GLEXT_FUNCTION_POINTERS */
4293#endif
4294
4295#if GL_EXT_geometry_shader4 || GL_EXT_texture_array
4296#ifdef GL_GLEXT_FUNCTION_POINTERS
4297typedef void (* glFramebufferTextureLayerEXTProcPtr) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
4298#else
4299extern void glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
4300#endif
4301#endif
4302
4303#if GL_ARB_framebuffer_object
4304#ifdef GL_GLEXT_FUNCTION_POINTERS
4305typedef GLboolean (* glIsRenderbufferProcPtr) (GLuint renderbuffer);
4306typedef void (* glBindRenderbufferProcPtr) (GLenum target, GLuint renderbuffer);
4307typedef void (* glDeleteRenderbuffersProcPtr) (GLsizei n, const GLuint *renderbuffers);
4308typedef void (* glGenRenderbuffersProcPtr) (GLsizei n, GLuint *renderbuffers);
4309typedef void (* glRenderbufferStorageProcPtr) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
4310typedef void (* glGetRenderbufferParameterivProcPtr) (GLenum target, GLenum pname, GLint *params);
4311typedef GLboolean (* glIsFramebufferProcPtr) (GLuint framebuffer);
4312typedef void (* glBindFramebufferProcPtr) (GLenum target, GLuint framebuffer);
4313typedef void (* glDeleteFramebuffersProcPtr) (GLsizei n, const GLuint *framebuffers);
4314typedef void (* glGenFramebuffersProcPtr) (GLsizei n, GLuint *framebuffers);
4315typedef GLenum (* glCheckFramebufferStatusProcPtr) (GLenum target);
4316typedef void (* glFramebufferTexture1DProcPtr) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
4317typedef void (* glFramebufferTexture2DProcPtr) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
4318typedef void (* glFramebufferTexture3DProcPtr) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
4319typedef void (* glFramebufferRenderbufferProcPtr) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
4320typedef void (* glGetFramebufferAttachmentParameterivProcPtr) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
4321typedef void (* glGenerateMipmapProcPtr) (GLenum target);
4322typedef void (* glBlitFramebufferProcPtr) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
4323typedef void (* glRenderbufferStorageMultisampleProcPtr) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
4324typedef void (* glFramebufferTextureLayerProcPtr) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
4325#else
4326extern GLboolean glIsRenderbuffer(GLuint renderbuffer);
4327extern void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
4328extern void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
4329extern void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
4330extern void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
4331extern void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
4332extern GLboolean glIsFramebuffer(GLuint framebuffer);
4333extern void glBindFramebuffer(GLenum target, GLuint framebuffer);
4334extern void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
4335extern void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
4336extern GLenum glCheckFramebufferStatus(GLenum target);
4337extern void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
4338extern void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
4339extern void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
4340extern void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
4341extern void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
4342extern void glGenerateMipmap(GLenum target);
4343extern void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
4344extern void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
4345extern void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
4346#endif /* GL_GLEXT_FUNCTION_POINTERS */
4347#endif
4348
4349#if GL_EXT_transform_feedback
4350#ifdef GL_GLEXT_FUNCTION_POINTERS
4351typedef void (* glBindBufferRangeEXTProcPtr) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
4352typedef void (* glBindBufferOffsetEXTProcPtr) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
4353typedef void (* glBindBufferBaseEXTProcPtr) (GLenum target, GLuint index, GLuint buffer);
4354typedef void (* glBeginTransformFeedbackEXTProcPtr) (GLenum primitiveMode);
4355typedef void (* glEndTransformFeedbackEXTProcPtr) (void);
4356typedef void (* glTransformFeedbackVaryingsEXTProcPtr) (GLuint program, GLsizei count, const GLchar **varyings, GLenum bufferMode);
4357typedef void (* glGetTransformFeedbackVaryingEXTProcPtr) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
4358#else
4359extern void glBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
4360extern void glBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset);
4361extern void glBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer);
4362extern void glBeginTransformFeedbackEXT(GLenum primitiveMode);
4363extern void glEndTransformFeedbackEXT(void);
4364extern void glTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, const GLchar **varyings, GLenum bufferMode);
4365extern void glGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
4366#endif
4367#endif /* GL_EXT_transform_feedback */
4368
4369#if GL_EXT_transform_feedback || GL_EXT_draw_buffers2
4370#ifdef GL_GLEXT_FUNCTION_POINTERS
4371typedef void (* glGetIntegerIndexedvEXTProcPtr) (GLenum param, GLint index, GLint *values);
4372typedef void (* glGetBooleanIndexedvEXTProcPtr) (GLenum param, GLint index, GLboolean *values);
4373#else
4374extern void glGetIntegerIndexedvEXT(GLenum param, GLuint index, GLint *values);
4375extern void glGetBooleanIndexedvEXT(GLenum param, GLuint index, GLboolean *values);
4376#endif
4377#endif /* GL_EXT_transform_feedback || GL_EXT_draw_buffers2 */
4378
4379#if GL_EXT_bindable_uniform
4380#ifdef GL_GLEXT_FUNCTION_POINTERS
4381typedef void (*glUniformBufferEXTProcPtr) (GLuint program, GLint location, GLuint buffer);
4382typedef GLint (*glGetUniformBufferSizeEXTProcPtr) (GLuint program, GLint location);
4383typedef GLintptr (*glGetUniformOffsetEXTProcPtr) (GLuint program, GLint location);
4384#else
4385extern void glUniformBufferEXT(GLuint program, GLint location, GLuint buffer);
4386extern GLint glGetUniformBufferSizeEXT(GLuint program, GLint location);
4387extern GLintptr glGetUniformOffsetEXT(GLuint program, GLint location);
4388#endif
4389#endif /* GL_EXT_bindable_uniform */
4390
4391#if GL_EXT_texture_integer
4392#ifdef GL_GLEXT_FUNCTION_POINTERS
4393typedef void (*glClearColorIiEXTProcPtr) ( GLint r, GLint g, GLint b, GLint a );
4394typedef void (*glClearColorIuiEXTProcPtr) ( GLuint r, GLuint g, GLuint b, GLuint a );
4395typedef void (*glTexParameterIivEXTProcPtr)( GLenum target, GLenum pname, GLint *params );
4396typedef void (*glTexParameterIuivEXTProcPtr)( GLenum target, GLenum pname, GLuint *params );
4397typedef void (*glGetTexParameterIivEXTProcPtr) ( GLenum target, GLenum pname, GLint *params);
4398typedef void (*glGetTexParameterIuivEXTProcPtr) ( GLenum target, GLenum pname, GLuint *params);
4399#else
4400extern void glClearColorIiEXT( GLint r, GLint g, GLint b, GLint a );
4401extern void glClearColorIuiEXT( GLuint r, GLuint g, GLuint b, GLuint a );
4402extern void glTexParameterIivEXT( GLenum target, GLenum pname, GLint *params );
4403extern void glTexParameterIuivEXT( GLenum target, GLenum pname, GLuint *params );
4404extern void glGetTexParameterIivEXT( GLenum target, GLenum pname, GLint *params);
4405extern void glGetTexParameterIuivEXT( GLenum target, GLenum pname, GLuint *params);
4406#endif
4407#endif /* GL_EXT_texture_integer */
4408
4409#if GL_EXT_gpu_shader4
4410#ifdef GL_GLEXT_FUNCTION_POINTERS
4411typedef void (*glVertexAttribI1iEXTProcPtr) (GLuint index, GLint x);
4412typedef void (*glVertexAttribI2iEXTProcPtr) (GLuint index, GLint x, GLint y);
4413typedef void (*glVertexAttribI3iEXTProcPtr) (GLuint index, GLint x, GLint y, GLint z);
4414typedef void (*glVertexAttribI4iEXTProcPtr) (GLuint index, GLint x, GLint y, GLint z, GLint w);
4415typedef void (*glVertexAttribI1uiEXTProcPtr) (GLuint index, GLuint x);
4416typedef void (*glVertexAttribI2uiEXTProcPtr) (GLuint index, GLuint x, GLuint y);
4417typedef void (*glVertexAttribI3uiEXTProcPtr) (GLuint index, GLuint x, GLuint y, GLuint z);
4418typedef void (*glVertexAttribI4uiEXTProcPtr) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
4419typedef void (*glVertexAttribI1ivEXTProcPtr) (GLuint index, const GLint *v);
4420typedef void (*glVertexAttribI2ivEXTProcPtr) (GLuint index, const GLint *v);
4421typedef void (*glVertexAttribI3ivEXTProcPtr) (GLuint index, const GLint *v);
4422typedef void (*glVertexAttribI4ivEXTProcPtr) (GLuint index, const GLint *v);
4423typedef void (*glVertexAttribI1uivEXTProcPtr) (GLuint index, const GLuint *v);
4424typedef void (*glVertexAttribI2uivEXTProcPtr) (GLuint index, const GLuint *v);
4425typedef void (*glVertexAttribI3uivEXTProcPtr) (GLuint index, const GLuint *v);
4426typedef void (*glVertexAttribI4uivEXTProcPtr) (GLuint index, const GLuint *v);
4427typedef void (*glVertexAttribI4bvEXTProcPtr) (GLuint index, const GLbyte *v);
4428typedef void (*glVertexAttribI4svEXTProcPtr) (GLuint index, const GLshort *v);
4429typedef void (*glVertexAttribI4ubvEXTProcPtr) (GLuint index, const GLubyte *v);
4430typedef void (*glVertexAttribI4usvEXTProcPtr) (GLuint index, const GLushort *v);
4431typedef void (*glVertexAttribIPointerEXTProcPtr) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
4432typedef void (*glGetVertexAttribIivEXTProcPtr) (GLuint index, GLenum pname, GLint *params);
4433typedef void (*glGetVertexAttribIuivEXTProcPtr) (GLuint index, GLenum pname, GLuint *params);
4434typedef void (*glUniform1uiEXTProcPtr) (GLint location, GLuint v0);
4435typedef void (*glUniform2uiEXTProcPtr) (GLint location, GLuint v0, GLuint v1);
4436typedef void (*glUniform3uiEXTProcPtr) (GLint location, GLuint v0, GLuint v1, GLuint v2);
4437typedef void (*glUniform4uiEXTProcPtr) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
4438typedef void (*glUniform1uivEXTProcPtr) (GLint location, GLsizei count, const GLuint *value);
4439typedef void (*glUniform2uivEXTProcPtr) (GLint location, GLsizei count, const GLuint *value);
4440typedef void (*glUniform3uivEXTProcPtr) (GLint location, GLsizei count, const GLuint *value);
4441typedef void (*glUniform4uivEXTProcPtr) (GLint location, GLsizei count, const GLuint *value);
4442typedef void (*glGetUniformuivEXTProcPtr) (GLuint program, GLint location, GLuint *params);
4443typedef void (*glBindFragDataLocationEXTProcPtr) (GLuint program, GLuint colorNumber, const GLchar *name);
4444typedef GLint (*glGetFragDataLocationEXTProcPtr) (GLuint program, const GLchar *name);
4445#else
4446extern void glVertexAttribI1iEXT(GLuint index, GLint x);
4447extern void glVertexAttribI2iEXT(GLuint index, GLint x, GLint y);
4448extern void glVertexAttribI3iEXT(GLuint index, GLint x, GLint y, GLint z);
4449extern void glVertexAttribI4iEXT(GLuint index, GLint x, GLint y, GLint z, GLint w);
4450extern void glVertexAttribI1uiEXT(GLuint index, GLuint x);
4451extern void glVertexAttribI2uiEXT(GLuint index, GLuint x, GLuint y);
4452extern void glVertexAttribI3uiEXT(GLuint index, GLuint x, GLuint y, GLuint z);
4453extern void glVertexAttribI4uiEXT(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
4454extern void glVertexAttribI1ivEXT(GLuint index, const GLint *v);
4455extern void glVertexAttribI2ivEXT(GLuint index, const GLint *v);
4456extern void glVertexAttribI3ivEXT(GLuint index, const GLint *v);
4457extern void glVertexAttribI4ivEXT(GLuint index, const GLint *v);
4458extern void glVertexAttribI1uivEXT(GLuint index, const GLuint *v);
4459extern void glVertexAttribI2uivEXT(GLuint index, const GLuint *v);
4460extern void glVertexAttribI3uivEXT(GLuint index, const GLuint *v);
4461extern void glVertexAttribI4uivEXT(GLuint index, const GLuint *v);
4462extern void glVertexAttribI4bvEXT(GLuint index, const GLbyte *v);
4463extern void glVertexAttribI4svEXT(GLuint index, const GLshort *v);
4464extern void glVertexAttribI4ubvEXT(GLuint index, const GLubyte *v);
4465extern void glVertexAttribI4usvEXT(GLuint index, const GLushort *v);
4466extern void glVertexAttribIPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
4467extern void glGetVertexAttribIivEXT(GLuint index, GLenum pname, GLint *params);
4468extern void glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint *params);
4469extern void glUniform1uiEXT(GLint location, GLuint v0);
4470extern void glUniform2uiEXT(GLint location, GLuint v0, GLuint v1);
4471extern void glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2);
4472extern void glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
4473extern void glUniform1uivEXT(GLint location, GLsizei count, const GLuint *value);
4474extern void glUniform2uivEXT(GLint location, GLsizei count, const GLuint *value);
4475extern void glUniform3uivEXT(GLint location, GLsizei count, const GLuint *value);
4476extern void glUniform4uivEXT(GLint location, GLsizei count, const GLuint *value);
4477extern void glGetUniformuivEXT(GLuint program, GLint location, GLuint *params);
4478extern void glBindFragDataLocationEXT(GLuint program, GLuint colorNumber, const GLchar *name);
4479extern GLint glGetFragDataLocationEXT(GLuint program, const GLchar *name);
4480#endif
4481#endif /* GL_EXT_gpu_shader4 */
4482
4483#if GL_EXT_draw_buffers2
4484#ifdef GL_GLEXT_FUNCTION_POINTERS
4485typedef void (* glColorMaskIndexedEXTProcPtr) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
4486typedef void (* glEnableIndexedEXTProcPtr) (GLenum target, GLuint index);
4487typedef void (* glDisableIndexedEXTProcPtr) (GLenum target, GLuint index);
4488typedef GLboolean (* glIsEnabledIndexedEXTProcPtr) (GLenum target, GLuint index);
4489#else
4490extern void glColorMaskIndexedEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
4491extern void glEnableIndexedEXT(GLenum target, GLuint index);
4492extern void glDisableIndexedEXT(GLenum target, GLuint index);
4493extern GLboolean glIsEnabledIndexedEXT(GLenum target, GLuint index);
4494#endif /* GL_GLEXT_FUNCTION_POINTERS */
4495#endif
4496
4497#if GL_EXT_provoking_vertex
4498#ifdef GL_GLEXT_FUNCTION_POINTERS
4499typedef void (* glProvokingVertexEXTProcPtr) (GLenum mode);
4500#else
4501extern void glProvokingVertexEXT(GLenum mode);
4502#endif /* GL_GLEXT_FUNCTION_POINTERS */
4503#endif
4504
4505#if GL_ARB_provoking_vertex
4506#ifdef GL_GLEXT_FUNCTION_POINTERS
4507typedef void (* glProvokingVertexProcPtr) (GLenum mode);
4508#else
4509extern void glProvokingVertex(GLenum mode);
4510#endif /* GL_GLEXT_FUNCTION_POINTERS */
4511#endif
4512
4513#if GL_EXT_timer_query
4514#ifdef GL_GLEXT_FUNCTION_POINTERS
4515typedef void (* glGetQueryObjecti64vEXTProcPtr)(GLuint id, GLenum pname, GLint64EXT *params);
4516typedef void (* glGetQueryObjectui64vEXTProcPtr)(GLuint id, GLenum pname, GLuint64EXT *params);
4517#else
4518extern void glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params);
4519extern void glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params);
4520#endif /* GL_GLEXT_FUNCTION_POINTERS */
4521#endif
4522
4523#if GL_APPLE_texture_range
4524#ifdef GL_GLEXT_FUNCTION_POINTERS
4525typedef void (* glTextureRangeAPPLEProcPtr) (GLenum target, GLsizei length, const GLvoid *pointer);
4526typedef void (* glGetTexParameterPointervAPPLEProcPtr) (GLenum target, GLenum pname, GLvoid **params);
4527#else
4528extern void glTextureRangeAPPLE(GLenum target, GLsizei length, const GLvoid *pointer);
4529extern void glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, GLvoid **params);
4530#endif /* GL_GLEXT_FUNCTION_POINTERS */
4531#endif
4532
4533#if GL_APPLE_vertex_array_range
4534#ifdef GL_GLEXT_FUNCTION_POINTERS
4535typedef void (* glVertexArrayRangeAPPLEProcPtr) (GLsizei length, const GLvoid *pointer);
4536typedef void (* glFlushVertexArrayRangeAPPLEProcPtr) (GLsizei length, const GLvoid *pointer);
4537typedef void (* glVertexArrayParameteriAPPLEProcPtr) (GLenum pname, GLint param);
4538#else
4539extern void glVertexArrayRangeAPPLE(GLsizei length, const GLvoid *pointer);
4540extern void glFlushVertexArrayRangeAPPLE(GLsizei length, const GLvoid *pointer);
4541extern void glVertexArrayParameteriAPPLE(GLenum pname, GLint param);
4542#endif /* GL_GLEXT_FUNCTION_POINTERS */
4543#endif
4544
4545#if GL_APPLE_vertex_array_object
4546#ifdef GL_GLEXT_FUNCTION_POINTERS
4547typedef void (* glBindVertexArrayAPPLEProcPtr) (GLuint id);
4548typedef void (* glDeleteVertexArraysAPPLEProcPtr) (GLsizei n, const GLuint *ids);
4549typedef void (* glGenVertexArraysAPPLEProcPtr) (GLsizei n, GLuint *ids);
4550typedef GLboolean (* glIsVertexArrayAPPLEProcPtr) (GLuint id);
4551#else
4552extern void glBindVertexArrayAPPLE(GLuint id);
4553extern void glDeleteVertexArraysAPPLE(GLsizei n, const GLuint *ids);
4554extern void glGenVertexArraysAPPLE(GLsizei n, GLuint *ids);
4555extern GLboolean glIsVertexArrayAPPLE(GLuint id);
4556#endif /* GL_GLEXT_FUNCTION_POINTERS */
4557#endif
4558
4559#if GL_APPLE_fence
4560#ifdef GL_GLEXT_FUNCTION_POINTERS
4561typedef void (* glGenFencesAPPLEProcPtr) (GLsizei n, GLuint *fences);
4562typedef void (* glDeleteFencesAPPLEProcPtr) (GLsizei n, const GLuint *fences);
4563typedef void (* glSetFenceAPPLEProcPtr) (GLuint fence);
4564typedef GLboolean (* glIsFenceAPPLEProcPtr) (GLuint fence);
4565typedef GLboolean (* glTestFenceAPPLEProcPtr) (GLuint fence);
4566typedef void (* glFinishFenceAPPLEProcPtr) (GLuint fence);
4567typedef GLboolean (* glTestObjectAPPLEProcPtr) (GLenum object, GLuint name);
4568typedef void (* glFinishObjectAPPLEProcPtr) (GLenum object, GLuint name);
4569#else
4570extern void glGenFencesAPPLE(GLsizei n, GLuint *fences);
4571extern void glDeleteFencesAPPLE(GLsizei n, const GLuint *fences);
4572extern void glSetFenceAPPLE(GLuint fence);
4573extern GLboolean glIsFenceAPPLE(GLuint fence);
4574extern GLboolean glTestFenceAPPLE(GLuint fence);
4575extern void glFinishFenceAPPLE(GLuint fence);
4576extern GLboolean glTestObjectAPPLE(GLenum object, GLuint name);
4577extern void glFinishObjectAPPLE(GLenum object, GLuint name);
4578#endif /* GL_GLEXT_FUNCTION_POINTERS */
4579#endif
4580
4581#if GL_APPLE_element_array
4582#ifdef GL_GLEXT_FUNCTION_POINTERS
4583typedef void (* glElementPointerAPPLEProcPtr) (GLenum type, const GLvoid *pointer);
4584typedef void (* glDrawElementArrayAPPLEProcPtr) (GLenum mode, GLint first, GLsizei count);
4585typedef void (* glDrawRangeElementArrayAPPLEProcPtr) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
4586typedef void (* glMultiDrawElementArrayAPPLEProcPtr) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
4587typedef void (* glMultiDrawRangeElementArrayAPPLEProcPtr) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
4588#else
4589extern void glElementPointerAPPLE(GLenum type, const GLvoid *pointer);
4590extern void glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count);
4591extern void glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
4592extern void glMultiDrawElementArrayAPPLE(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
4593extern void glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
4594#endif /* GL_GLEXT_FUNCTION_POINTERS */
4595#endif
4596
4597#if GL_APPLE_flush_render
4598#ifdef GL_GLEXT_FUNCTION_POINTERS
4599typedef void (* glFlushRenderAPPLEProcPtr) (void);
4600typedef void (* glFinishRenderAPPLEProcPtr) (void);
4601typedef void (* glSwapAPPLEProcPtr) (void);
4602#else
4603extern void glFlushRenderAPPLE(void);
4604extern void glFinishRenderAPPLE(void);
4605extern void glSwapAPPLE(void);
4606#endif /* GL_GLEXT_FUNCTION_POINTERS */
4607#endif
4608
4609#if GL_APPLE_vertex_program_evaluators
4610#ifdef GL_GLEXT_FUNCTION_POINTERS
4611typedef void (* glEnableVertexAttribAPPLEProcPtr) (GLuint index, GLenum pname);
4612typedef void (* glDisableVertexAttribAPPLEProcPtr) (GLuint index, GLenum pname);
4613typedef GLboolean (* glIsVertexAttribEnabledAPPLEProcPtr) (GLuint index, GLenum pname);
4614typedef void (* glMapVertexAttrib1dAPPLEProcPtr) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
4615typedef void (* glMapVertexAttrib1fAPPLEProcPtr) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
4616typedef void (* glMapVertexAttrib2dAPPLEProcPtr) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
4617typedef void (* glMapVertexAttrib2fAPPLEProcPtr) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
4618#else
4619extern void glEnableVertexAttribAPPLE(GLuint index, GLenum pname);
4620extern void glDisableVertexAttribAPPLE(GLuint index, GLenum pname);
4621extern GLboolean glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname);
4622extern void glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
4623extern void glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
4624extern void glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
4625extern void glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
4626#endif /* GL_GLEXT_FUNCTION_POINTERS */
4627#endif
4628
4629#if GL_APPLE_flush_buffer_range
4630#ifdef GL_GLEXT_FUNCTION_POINTERS
4631typedef void (* glBufferParameteriAPPLEProcPtr) (GLenum target, GLenum pname, GLint param);
4632typedef void (* glFlushMappedBufferRangeAPPLEProcPtr) (GLenum target, GLintptr offset, GLsizeiptr size);
4633#else
4634extern void glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param);
4635extern void glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size);
4636#endif /* GL_GLEXT_FUNCTION_POINTERS */
4637#endif
4638
4639#if GL_APPLE_object_purgeable
4640#ifdef GL_GLEXT_FUNCTION_POINTERS
4641typedef GLenum (* glObjectPurgeableAPPLEProcPtr) (GLenum objectType, GLuint name, GLenum option);
4642typedef GLenum (* glObjectUnpurgeableAPPLEProcPtr) (GLenum objectType, GLuint name, GLenum option);
4643typedef void (* glGetObjectParameterivAPPLEProcPtr) (GLenum objectType, GLuint name, GLenum pname, GLint *params);
4644#else
4645extern GLenum glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);
4646extern GLenum glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);
4647extern void glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint *params);
4648#endif /* GL_GLEXT_FUNCTION_POINTERS */
4649#endif
4650
4651#if GL_APPLE_vertex_point_size
4652#ifdef GL_GLEXT_FUNCTION_POINTERS
4653typedef void (* glPointSizePointerAPPLEProcPtr) (GLenum type, GLsizei stride, const GLvoid *pointer);
4654typedef void (* glVertexPointSizefAPPLEProcPtr) (GLfloat size);
4655#else
4656extern void glPointSizePointerAPPLE(GLenum type, GLsizei stride, const GLvoid *pointer);
4657extern void glVertexPointSizefAPPLE(GLfloat size);
4658#endif
4659#endif
4660
4661#if GL_ATI_pn_triangles
4662#ifdef GL_GLEXT_FUNCTION_POINTERS
4663typedef void (* glPNTrianglesiATIProcPtr) (GLenum pname, GLint param);
4664typedef void (* glPNTrianglesfATIProcPtr) (GLenum pname, GLfloat param);
4665#else
4666extern void glPNTrianglesiATI(GLenum pname, GLint param);
4667extern void glPNTrianglesfATI(GLenum pname, GLfloat param);
4668#endif /* GL_GLEXT_FUNCTION_POINTERS */
4669#endif
4670
4671#if GL_ATI_blend_equation_separate
4672#ifdef GL_GLEXT_FUNCTION_POINTERS
4673typedef void (* glBlendEquationSeparateATIProcPtr) (GLenum equationRGB, GLenum equationAlpha);
4674#else
4675extern void glBlendEquationSeparateATI(GLenum equationRGB, GLenum equationAlpha);
4676#endif /* GL_GLEXT_FUNCTION_POINTERS */
4677#endif
4678
4679#if GL_ATI_separate_stencil
4680#ifdef GL_GLEXT_FUNCTION_POINTERS
4681typedef void (* glStencilOpSeparateATIProcPtr) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
4682typedef void (* glStencilFuncSeparateATIProcPtr) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
4683#else
4684extern void glStencilOpSeparateATI(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
4685extern void glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
4686#endif /* GL_GLEXT_FUNCTION_POINTERS */
4687#endif
4688
4689#if GL_ATIX_pn_triangles
4690#ifdef GL_GLEXT_FUNCTION_POINTERS
4691typedef void (* glPNTrianglesiATIXProcPtr) (GLenum pname, GLint param);
4692typedef void (* glPNTrianglesfATIXProcPtr) (GLenum pname, GLfloat param);
4693#else
4694extern void glPNTrianglesiATIX(GLenum pname, GLint param);
4695extern void glPNTrianglesfATIX(GLenum pname, GLfloat param);
4696#endif /* GL_GLEXT_FUNCTION_POINTERS */
4697#endif
4698
4699
4700#if GL_HP_image_transform
4701#ifdef GL_GLEXT_FUNCTION_POINTERS
4702typedef void (* glImageTransformParameteriHPProcPtr) (GLenum, GLenum, GLint);
4703typedef void (* glImageTransformParameterfHPProcPtr) (GLenum, GLenum, GLfloat);
4704typedef void (* glImageTransformParameterivHPProcPtr) (GLenum, GLenum, const GLint *);
4705typedef void (* glImageTransformParameterfvHPProcPtr) (GLenum, GLenum, const GLfloat *);
4706typedef void (* glGetImageTransformParameterivHPProcPtr) (GLenum, GLenum, GLint *);
4707typedef void (* glGetImageTransformParameterfvHPProcPtr) (GLenum, GLenum, GLfloat *);
4708#else
4709extern void glImageTransformParameteriHP (GLenum, GLenum, GLint);
4710extern void glImageTransformParameterfHP (GLenum, GLenum, GLfloat);
4711extern void glImageTransformParameterivHP (GLenum, GLenum, const GLint *);
4712extern void glImageTransformParameterfvHP (GLenum, GLenum, const GLfloat *);
4713extern void glGetImageTransformParameterivHP (GLenum, GLenum, GLint *);
4714extern void glGetImageTransformParameterfvHP (GLenum, GLenum, GLfloat *);
4715#endif /* GL_GLEXT_FUNCTION_POINTERS */
4716#endif
4717
4718
4719#if GL_IBM_multimode_draw_arrays
4720#ifdef GL_GLEXT_FUNCTION_POINTERS
4721typedef void (* glMultiModeDrawArraysIBMProcPtr) (GLenum, const GLint *, const GLsizei *, GLsizei, GLint);
4722typedef void (* glMultiModeDrawElementsIBMProcPtr) (const GLenum *, const GLsizei *, GLenum, const GLvoid **, GLsizei, GLint);
4723#else
4724extern void glMultiModeDrawArraysIBM (GLenum, const GLint *, const GLsizei *, GLsizei, GLint);
4725extern void glMultiModeDrawElementsIBM (const GLenum *, const GLsizei *, GLenum, const GLvoid **, GLsizei, GLint);
4726#endif /* GL_GLEXT_FUNCTION_POINTERS */
4727#endif
4728
4729#if GL_IBM_vertex_array_lists
4730#ifdef GL_GLEXT_FUNCTION_POINTERS
4731typedef void (* glColorPointerListIBMProcPtr) (GLint, GLenum, GLint, const GLvoid **, GLint);
4732typedef void (* glSecondaryColorPointerListIBMProcPtr) (GLint, GLenum, GLint, const GLvoid **, GLint);
4733typedef void (* glEdgeFlagPointerListIBMProcPtr) (GLint, const GLboolean **, GLint);
4734typedef void (* glFogCoordPointerListIBMProcPtr) (GLenum, GLint, const GLvoid **, GLint);
4735typedef void (* glIndexPointerListIBMProcPtr) (GLenum, GLint, const GLvoid **, GLint);
4736typedef void (* glNormalPointerListIBMProcPtr) (GLenum, GLint, const GLvoid **, GLint);
4737typedef void (* glTexCoordPointerListIBMProcPtr) (GLint, GLenum, GLint, const GLvoid **, GLint);
4738typedef void (* glVertexPointerListIBMProcPtr) (GLint, GLenum, GLint, const GLvoid **, GLint);
4739#else
4740extern void glColorPointerListIBM (GLint, GLenum, GLint, const GLvoid **, GLint);
4741extern void glSecondaryColorPointerListIBM (GLint, GLenum, GLint, const GLvoid **, GLint);
4742extern void glEdgeFlagPointerListIBM (GLint, const GLboolean **, GLint);
4743extern void glFogCoordPointerListIBM (GLenum, GLint, const GLvoid **, GLint);
4744extern void glIndexPointerListIBM (GLenum, GLint, const GLvoid **, GLint);
4745extern void glNormalPointerListIBM (GLenum, GLint, const GLvoid **, GLint);
4746extern void glTexCoordPointerListIBM (GLint, GLenum, GLint, const GLvoid **, GLint);
4747extern void glVertexPointerListIBM (GLint, GLenum, GLint, const GLvoid **, GLint);
4748#endif /* GL_GLEXT_FUNCTION_POINTERS */
4749#endif
4750
4751
4752#if GL_INTEL_parallel_arrays
4753#ifdef GL_GLEXT_FUNCTION_POINTERS
4754typedef void (* glVertexPointervINTELProcPtr) (GLint, GLenum, const GLvoid **);
4755typedef void (* glNormalPointervINTELProcPtr) (GLenum, const GLvoid **);
4756typedef void (* glColorPointervINTELProcPtr) (GLint, GLenum, const GLvoid **);
4757typedef void (* glTexCoordPointervINTELProcPtr) (GLint, GLenum, const GLvoid **);
4758#else
4759extern void glVertexPointervINTEL (GLint, GLenum, const GLvoid **);
4760extern void glNormalPointervINTEL (GLenum, const GLvoid **);
4761extern void glColorPointervINTEL (GLint, GLenum, const GLvoid **);
4762extern void glTexCoordPointervINTEL (GLint, GLenum, const GLvoid **);
4763#endif /* GL_GLEXT_FUNCTION_POINTERS */
4764#endif
4765
4766
4767#if GL_MESA_resize_buffers
4768#ifdef GL_GLEXT_FUNCTION_POINTERS
4769typedef void (* glResizeBuffersMESAProcPtr) (void);
4770#else
4771extern void glResizeBuffersMESA (void);
4772#endif /* GL_GLEXT_FUNCTION_POINTERS */
4773#endif
4774
4775
4776#if GL_NV_vertex_array_range
4777#ifdef GL_GLEXT_FUNCTION_POINTERS
4778typedef void (* glFlushVertexArrayRangeNVProcPtr) (void);
4779typedef void (* glVertexArrayRangeNVProcPtr) (GLsizei, const GLvoid *);
4780#else
4781extern void glFlushVertexArrayRangeNV (void);
4782extern void glVertexArrayRangeNV (GLsizei, const GLvoid *);
4783#endif /* GL_GLEXT_FUNCTION_POINTERS */
4784#endif
4785
4786#if GL_NV_register_combiners
4787#ifdef GL_GLEXT_FUNCTION_POINTERS
4788typedef void (* glCombinerParameterfvNVProcPtr) (GLenum, const GLfloat *);
4789typedef void (* glCombinerParameterfNVProcPtr) (GLenum, GLfloat);
4790typedef void (* glCombinerParameterivNVProcPtr) (GLenum, const GLint *);
4791typedef void (* glCombinerParameteriNVProcPtr) (GLenum, GLint);
4792typedef void (* glCombinerInputNVProcPtr) (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum);
4793typedef void (* glCombinerOutputNVProcPtr) (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean);
4794typedef void (* glFinalCombinerInputNVProcPtr) (GLenum, GLenum, GLenum, GLenum);
4795typedef void (* glGetCombinerInputParameterfvNVProcPtr) (GLenum, GLenum, GLenum, GLenum, GLfloat *);
4796typedef void (* glGetCombinerInputParameterivNVProcPtr) (GLenum, GLenum, GLenum, GLenum, GLint *);
4797typedef void (* glGetCombinerOutputParameterfvNVProcPtr) (GLenum, GLenum, GLenum, GLfloat *);
4798typedef void (* glGetCombinerOutputParameterivNVProcPtr) (GLenum, GLenum, GLenum, GLint *);
4799typedef void (* glGetFinalCombinerInputParameterfvNVProcPtr) (GLenum, GLenum, GLfloat *);
4800typedef void (* glGetFinalCombinerInputParameterivNVProcPtr) (GLenum, GLenum, GLint *);
4801#else
4802extern void glCombinerParameterfvNV (GLenum, const GLfloat *);
4803extern void glCombinerParameterfNV (GLenum, GLfloat);
4804extern void glCombinerParameterivNV (GLenum, const GLint *);
4805extern void glCombinerParameteriNV (GLenum, GLint);
4806extern void glCombinerInputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum);
4807extern void glCombinerOutputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean);
4808extern void glFinalCombinerInputNV (GLenum, GLenum, GLenum, GLenum);
4809extern void glGetCombinerInputParameterfvNV (GLenum, GLenum, GLenum, GLenum, GLfloat *);
4810extern void glGetCombinerInputParameterivNV (GLenum, GLenum, GLenum, GLenum, GLint *);
4811extern void glGetCombinerOutputParameterfvNV (GLenum, GLenum, GLenum, GLfloat *);
4812extern void glGetCombinerOutputParameterivNV (GLenum, GLenum, GLenum, GLint *);
4813extern void glGetFinalCombinerInputParameterfvNV (GLenum, GLenum, GLfloat *);
4814extern void glGetFinalCombinerInputParameterivNV (GLenum, GLenum, GLint *);
4815#endif /* GL_GLEXT_FUNCTION_POINTERS */
4816#endif
4817
4818#if GL_NV_register_combiners2
4819#ifdef GL_GLEXT_FUNCTION_POINTERS
4820typedef void (* glCombinerStageParameterfvNVProcPtr) (GLenum, GLenum, const GLfloat *);
4821typedef void (* glGetCombinerStageParameterfvNVProcPtr) (GLenum, GLenum, GLfloat *);
4822#else
4823extern void glCombinerStageParameterfvNV (GLenum, GLenum, const GLfloat *);
4824extern void glGetCombinerStageParameterfvNV (GLenum, GLenum, GLfloat *);
4825#endif /* GL_GLEXT_FUNCTION_POINTERS */
4826#endif
4827
4828#if GL_NV_vertex_program
4829#ifdef GL_GLEXT_FUNCTION_POINTERS
4830typedef void (* glBindProgramNVProcPtr) (GLenum target, GLuint id);
4831typedef void (* glDeleteProgramsNVProcPtr) (GLsizei n, const GLuint *ids);
4832typedef void (* glExecuteProgramNVProcPtr) (GLenum target, GLuint id, const GLfloat *params);
4833typedef void (* glGenProgramsNVProcPtr) (GLsizei n, GLuint *ids);
4834typedef GLboolean (* glAreProgramsResidentNVProcPtr) (GLsizei n, const GLuint *ids, GLboolean *residences);
4835typedef void (* glRequestResidentProgramsNVProcPtr) (GLsizei n, GLuint *ids);
4836typedef void (* glGetProgramParameterfvNVProcPtr) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
4837typedef void (* glGetProgramParameterdvNVProcPtr) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
4838typedef void (* glGetProgramivNVProcPtr) (GLuint id, GLenum pname, GLint *params);
4839typedef void (* glGetProgramStringNVProcPtr) (GLuint id, GLenum pname, GLubyte *program);
4840typedef void (* glGetTrackMatrixivNVProcPtr) (GLenum target, GLuint address, GLenum pname, GLint *params);
4841typedef void (* glGetVertexAttribdvNVProcPtr) (GLuint index, GLenum pname, GLdouble *params);
4842typedef void (* glGetVertexAttribfvNVProcPtr) (GLuint index, GLenum pname, GLfloat *params);
4843typedef void (* glGetVertexAttribivNVProcPtr) (GLuint index, GLenum pname, GLint *params);
4844typedef void (* glGetVertexAttribPointervNVProcPtr) (GLuint index, GLenum pname, GLvoid **pointer);
4845typedef GLboolean (* glIsProgramNVProcPtr) (GLuint id);
4846typedef void (* glLoadProgramNVProcPtr) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
4847typedef void (* glProgramParameter4fNVProcPtr) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
4848typedef void (* glProgramParameter4dNVProcPtr) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
4849typedef void (* glProgramParameter4dvNVProcPtr) (GLenum target, GLuint index, const GLdouble *params);
4850typedef void (* glProgramParameter4fvNVProcPtr) (GLenum target, GLuint index, const GLfloat *params);
4851typedef void (* glProgramParameters4dvNVProcPtr) (GLenum target, GLuint index, GLuint num, const GLdouble *params);
4852typedef void (* glProgramParameters4fvNVProcPtr) (GLenum target, GLuint index, GLuint num, const GLfloat *params);
4853typedef void (* glTrackMatrixNVProcPtr) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
4854typedef void (* glVertexAttribPointerNVProcPtr) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
4855typedef void (* glVertexAttrib1sNVProcPtr) (GLuint index, GLshort x);
4856typedef void (* glVertexAttrib1fNVProcPtr) (GLuint index, GLfloat x);
4857typedef void (* glVertexAttrib1dNVProcPtr) (GLuint index, GLdouble x);
4858typedef void (* glVertexAttrib2sNVProcPtr) (GLuint index, GLshort x, GLshort y);
4859typedef void (* glVertexAttrib2fNVProcPtr) (GLuint index, GLfloat x, GLfloat y);
4860typedef void (* glVertexAttrib2dNVProcPtr) (GLuint index, GLdouble x, GLdouble y);
4861typedef void (* glVertexAttrib3sNVProcPtr) (GLuint index, GLshort x, GLshort y, GLshort z);
4862typedef void (* glVertexAttrib3fNVProcPtr) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
4863typedef void (* glVertexAttrib3dNVProcPtr) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
4864typedef void (* glVertexAttrib4sNVProcPtr) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
4865typedef void (* glVertexAttrib4fNVProcPtr) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
4866typedef void (* glVertexAttrib4dNVProcPtr) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
4867typedef void (* glVertexAttrib4ubNVProcPtr) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
4868typedef void (* glVertexAttrib1svNVProcPtr) (GLuint index, GLshort *v);
4869typedef void (* glVertexAttrib1fvNVProcPtr) (GLuint index, GLfloat *v);
4870typedef void (* glVertexAttrib1dvNVProcPtr) (GLuint index, GLdouble *v);
4871typedef void (* glVertexAttrib2svNVProcPtr) (GLuint index, GLshort *v);
4872typedef void (* glVertexAttrib2fvNVProcPtr) (GLuint index, GLfloat *v);
4873typedef void (* glVertexAttrib2dvNVProcPtr) (GLuint index, GLdouble *v);
4874typedef void (* glVertexAttrib3svNVProcPtr) (GLuint index, GLshort *v);
4875typedef void (* glVertexAttrib3fvNVProcPtr) (GLuint index, GLfloat *v);
4876typedef void (* glVertexAttrib3dvNVProcPtr) (GLuint index, GLdouble *v);
4877typedef void (* glVertexAttrib4svNVProcPtr) (GLuint index, GLshort *v);
4878typedef void (* glVertexAttrib4fvNVProcPtr) (GLuint index, GLfloat *v);
4879typedef void (* glVertexAttrib4dvNVProcPtr) (GLuint index, GLdouble *v);
4880typedef void (* glVertexAttrib4ubvNVProcPtr) (GLuint index, GLubyte *v);
4881typedef void (* glVertexAttribs1svNVProcPtr) (GLuint index, GLsizei n, GLshort *v);
4882typedef void (* glVertexAttribs1fvNVProcPtr) (GLuint index, GLsizei n, GLfloat *v);
4883typedef void (* glVertexAttribs1dvNVProcPtr) (GLuint index, GLsizei n, GLdouble *v);
4884typedef void (* glVertexAttribs2svNVProcPtr) (GLuint index, GLsizei n, GLshort *v);
4885typedef void (* glVertexAttribs2fvNVProcPtr) (GLuint index, GLsizei n, GLfloat *v);
4886typedef void (* glVertexAttribs2dvNVProcPtr) (GLuint index, GLsizei n, GLdouble *v);
4887typedef void (* glVertexAttribs3svNVProcPtr) (GLuint index, GLsizei n, GLshort *v);
4888typedef void (* glVertexAttribs3fvNVProcPtr) (GLuint index, GLsizei n, GLfloat *v);
4889typedef void (* glVertexAttribs3dvNVProcPtr) (GLuint index, GLsizei n, GLdouble *v);
4890typedef void (* glVertexAttribs4svNVProcPtr) (GLuint index, GLsizei n, GLshort *v);
4891typedef void (* glVertexAttribs4fvNVProcPtr) (GLuint index, GLsizei n, GLfloat *v);
4892typedef void (* glVertexAttribs4dvNVProcPtr) (GLuint index, GLsizei n, GLdouble *v);
4893typedef void (* glVertexAttribs4ubvNVProcPtr) (GLuint index, GLsizei n, GLubyte *v);
4894#else
4895extern void glBindProgramNV(GLenum target, GLuint id);
4896extern void glDeleteProgramsNV(GLsizei n, const GLuint *ids);
4897extern void glExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params);
4898extern void glGenProgramsNV(GLsizei n, GLuint *ids);
4899extern GLboolean glAreProgramsResidentNV(GLsizei n, const GLuint *ids, GLboolean *residences);
4900extern void glRequestResidentProgramsNV(GLsizei n, GLuint *ids);
4901extern void glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);
4902extern void glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params);
4903extern void glGetProgramivNV(GLuint id, GLenum pname, GLint *params);
4904extern void glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program);
4905extern void glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params);
4906extern void glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params);
4907extern void glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params);
4908extern void glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params);
4909extern void glGetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer);
4910extern GLboolean glIsProgramNV(GLuint id);
4911extern void glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program);
4912extern void glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
4913extern void glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
4914extern void glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble *params);
4915extern void glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *params);
4916extern void glProgramParameters4dvNV(GLenum target, GLuint index, GLuint num, const GLdouble *params);
4917extern void glProgramParameters4fvNV(GLenum target, GLuint index, GLuint num, const GLfloat *params);
4918extern void glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform);
4919extern void glVertexAttribPointerNV(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
4920extern void glVertexAttrib1sNV(GLuint index, GLshort x);
4921extern void glVertexAttrib1fNV(GLuint index, GLfloat x);
4922extern void glVertexAttrib1dNV(GLuint index, GLdouble x);
4923extern void glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y);
4924extern void glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y);
4925extern void glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y);
4926extern void glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z);
4927extern void glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z);
4928extern void glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z);
4929extern void glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
4930extern void glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
4931extern void glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
4932extern void glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
4933extern void glVertexAttrib1svNV(GLuint index, GLshort *v);
4934extern void glVertexAttrib1fvNV(GLuint index, GLfloat *v);
4935extern void glVertexAttrib1dvNV(GLuint index, GLdouble *v);
4936extern void glVertexAttrib2svNV(GLuint index, GLshort *v);
4937extern void glVertexAttrib2fvNV(GLuint index, GLfloat *v);
4938extern void glVertexAttrib2dvNV(GLuint index, GLdouble *v);
4939extern void glVertexAttrib3svNV(GLuint index, GLshort *v);
4940extern void glVertexAttrib3fvNV(GLuint index, GLfloat *v);
4941extern void glVertexAttrib3dvNV(GLuint index, GLdouble *v);
4942extern void glVertexAttrib4svNV(GLuint index, GLshort *v);
4943extern void glVertexAttrib4fvNV(GLuint index, GLfloat *v);
4944extern void glVertexAttrib4dvNV(GLuint index, GLdouble *v);
4945extern void glVertexAttrib4ubvNV(GLuint index, GLubyte *v);
4946extern void glVertexAttribs1svNV(GLuint index, GLsizei n, GLshort *v);
4947extern void glVertexAttribs1fvNV(GLuint index, GLsizei n, GLfloat *v);
4948extern void glVertexAttribs1dvNV(GLuint index, GLsizei n, GLdouble *v);
4949extern void glVertexAttribs2svNV(GLuint index, GLsizei n, GLshort *v);
4950extern void glVertexAttribs2fvNV(GLuint index, GLsizei n, GLfloat *v);
4951extern void glVertexAttribs2dvNV(GLuint index, GLsizei n, GLdouble *v);
4952extern void glVertexAttribs3svNV(GLuint index, GLsizei n, GLshort *v);
4953extern void glVertexAttribs3fvNV(GLuint index, GLsizei n, GLfloat *v);
4954extern void glVertexAttribs3dvNV(GLuint index, GLsizei n, GLdouble *v);
4955extern void glVertexAttribs4svNV(GLuint index, GLsizei n, GLshort *v);
4956extern void glVertexAttribs4fvNV(GLuint index, GLsizei n, GLfloat *v);
4957extern void glVertexAttribs4dvNV(GLuint index, GLsizei n, GLdouble *v);
4958extern void glVertexAttribs4ubvNV(GLuint index, GLsizei n, GLubyte *v);
4959#endif /* GL_GLEXT_FUNCTION_POINTERS */
4960#endif
4961
4962#if GL_NV_point_sprite
4963#ifdef GL_GLEXT_FUNCTION_POINTERS
4964typedef void (* glPointParameteriNVProcPtr) (GLenum pname, GLint param);
4965typedef void (* glPointParameterivNVProcPtr) (GLenum pname, const GLint *params);
4966#else
4967extern void glPointParameteriNV(GLenum pname, GLint param);
4968extern void glPointParameterivNV(GLenum pname, const GLint *params);
4969#endif /* GL_GLEXT_FUNCTION_POINTERS */
4970#endif
4971
4972
4973#if GL_PGI_misc_hints
4974#ifdef GL_GLEXT_FUNCTION_POINTERS
4975typedef void (* glHintPGIProcPtr) (GLenum, GLint);
4976#else
4977extern void glHintPGI (GLenum, GLint);
4978#endif /* GL_GLEXT_FUNCTION_POINTERS */
4979#endif
4980
4981
4982#if GL_SGI_color_table
4983#ifdef GL_GLEXT_FUNCTION_POINTERS
4984typedef void (* glColorTableSGIProcPtr) (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
4985typedef void (* glColorTableParameterfvSGIProcPtr) (GLenum, GLenum, const GLfloat *);
4986typedef void (* glColorTableParameterivSGIProcPtr) (GLenum, GLenum, const GLint *);
4987typedef void (* glCopyColorTableSGIProcPtr) (GLenum, GLenum, GLint, GLint, GLsizei);
4988typedef void (* glGetColorTableSGIProcPtr) (GLenum, GLenum, GLenum, GLvoid *);
4989typedef void (* glGetColorTableParameterfvSGIProcPtr) (GLenum, GLenum, GLfloat *);
4990typedef void (* glGetColorTableParameterivSGIProcPtr) (GLenum, GLenum, GLint *);
4991#else
4992extern void glColorTableSGI (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
4993extern void glColorTableParameterfvSGI (GLenum, GLenum, const GLfloat *);
4994extern void glColorTableParameterivSGI (GLenum, GLenum, const GLint *);
4995extern void glCopyColorTableSGI (GLenum, GLenum, GLint, GLint, GLsizei);
4996extern void glGetColorTableSGI (GLenum, GLenum, GLenum, GLvoid *);
4997extern void glGetColorTableParameterfvSGI (GLenum, GLenum, GLfloat *);
4998extern void glGetColorTableParameterivSGI (GLenum, GLenum, GLint *);
4999#endif /* GL_GLEXT_FUNCTION_POINTERS */
5000#endif
5001
5002#if GL_SGIS_texture_filter4
5003#ifdef GL_GLEXT_FUNCTION_POINTERS
5004typedef void (* glGetTexFilterFuncSGISProcPtr) (GLenum, GLenum, GLfloat *);
5005typedef void (* glTexFilterFuncSGISProcPtr) (GLenum, GLenum, GLsizei, const GLfloat *);
5006#else
5007extern void glGetTexFilterFuncSGIS (GLenum, GLenum, GLfloat *);
5008extern void glTexFilterFuncSGIS (GLenum, GLenum, GLsizei, const GLfloat *);
5009#endif /* GL_GLEXT_FUNCTION_POINTERS */
5010#endif
5011
5012#if GL_SGIS_pixel_texture
5013#ifdef GL_GLEXT_FUNCTION_POINTERS
5014typedef void (* glPixelTexGenParameteriSGISProcPtr) (GLenum, GLint);
5015typedef void (* glPixelTexGenParameterivSGISProcPtr) (GLenum, const GLint *);
5016typedef void (* glPixelTexGenParameterfSGISProcPtr) (GLenum, GLfloat);
5017typedef void (* glPixelTexGenParameterfvSGISProcPtr) (GLenum, const GLfloat *);
5018typedef void (* glGetPixelTexGenParameterivSGISProcPtr) (GLenum, GLint *);
5019typedef void (* glGetPixelTexGenParameterfvSGISProcPtr) (GLenum, GLfloat *);
5020#else
5021extern void glPixelTexGenParameteriSGIS (GLenum, GLint);
5022extern void glPixelTexGenParameterivSGIS (GLenum, const GLint *);
5023extern void glPixelTexGenParameterfSGIS (GLenum, GLfloat);
5024extern void glPixelTexGenParameterfvSGIS (GLenum, const GLfloat *);
5025extern void glGetPixelTexGenParameterivSGIS (GLenum, GLint *);
5026extern void glGetPixelTexGenParameterfvSGIS (GLenum, GLfloat *);
5027#endif /* GL_GLEXT_FUNCTION_POINTERS */
5028#endif
5029
5030#if GL_SGIS_texture4D
5031#ifdef GL_GLEXT_FUNCTION_POINTERS
5032typedef void (* glTexImage4DSGISProcPtr) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
5033typedef void (* glTexSubImage4DSGISProcPtr) (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
5034#else
5035extern void glTexImage4DSGIS (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
5036extern void glTexSubImage4DSGIS (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
5037#endif /* GL_GLEXT_FUNCTION_POINTERS */
5038#endif
5039
5040#if GL_SGIS_detail_texture
5041#ifdef GL_GLEXT_FUNCTION_POINTERS
5042typedef void (* glDetailTexFuncSGISProcPtr) (GLenum, GLsizei, const GLfloat *);
5043typedef void (* glGetDetailTexFuncSGISProcPtr) (GLenum, GLfloat *);
5044#else
5045extern void glDetailTexFuncSGIS (GLenum, GLsizei, const GLfloat *);
5046extern void glGetDetailTexFuncSGIS (GLenum, GLfloat *);
5047#endif /* GL_GLEXT_FUNCTION_POINTERS */
5048#endif
5049
5050#if GL_SGIS_sharpen_texture
5051#ifdef GL_GLEXT_FUNCTION_POINTERS
5052typedef void (* glSharpenTexFuncSGISProcPtr) (GLenum, GLsizei, const GLfloat *);
5053typedef void (* glGetSharpenTexFuncSGISProcPtr) (GLenum, GLfloat *);
5054#else
5055extern void glSharpenTexFuncSGIS (GLenum, GLsizei, const GLfloat *);
5056extern void glGetSharpenTexFuncSGIS (GLenum, GLfloat *);
5057#endif /* GL_GLEXT_FUNCTION_POINTERS */
5058#endif
5059
5060#if GL_SGIS_multisample
5061#ifdef GL_GLEXT_FUNCTION_POINTERS
5062typedef void (* glSampleMaskSGISProcPtr) (GLclampf, GLboolean);
5063typedef void (* glSamplePatternSGISProcPtr) (GLenum);
5064#else
5065extern void glSampleMaskSGIS (GLclampf, GLboolean);
5066extern void glSamplePatternSGIS (GLenum);
5067#endif /* GL_GLEXT_FUNCTION_POINTERS */
5068#endif
5069
5070#if GL_SGIS_fog_function
5071#ifdef GL_GLEXT_FUNCTION_POINTERS
5072typedef void (* glFogFuncSGISProcPtr) (GLsizei, const GLfloat *);
5073typedef void (* glGetFogFuncSGISProcPtr) (const GLfloat *);
5074#else
5075extern void glFogFuncSGIS (GLsizei, const GLfloat *);
5076extern void glGetFogFuncSGIS (const GLfloat *);
5077#endif /* GL_GLEXT_FUNCTION_POINTERS */
5078#endif
5079
5080#if GL_SGIS_texture_color_mask
5081#ifdef GL_GLEXT_FUNCTION_POINTERS
5082typedef void (* glTextureColorMaskSGISProcPtr) (GLboolean, GLboolean, GLboolean, GLboolean);
5083#else
5084extern void glTextureColorMaskSGIS (GLboolean, GLboolean, GLboolean, GLboolean);
5085#endif /* GL_GLEXT_FUNCTION_POINTERS */
5086#endif
5087
5088#if GL_SGIX_pixel_texture
5089#ifdef GL_GLEXT_FUNCTION_POINTERS
5090typedef void (* glPixelTexGenSGIXProcPtr) (GLenum);
5091#else
5092extern void glPixelTexGenSGIX (GLenum);
5093#endif /* GL_GLEXT_FUNCTION_POINTERS */
5094#endif
5095
5096#if GL_SGIX_sprite
5097#ifdef GL_GLEXT_FUNCTION_POINTERS
5098typedef void (* glSpriteParameterfSGIXProcPtr) (GLenum, GLfloat);
5099typedef void (* glSpriteParameterfvSGIXProcPtr) (GLenum, const GLfloat *);
5100typedef void (* glSpriteParameteriSGIXProcPtr) (GLenum, GLint);
5101typedef void (* glSpriteParameterivSGIXProcPtr) (GLenum, const GLint *);
5102#else
5103extern void glSpriteParameterfSGIX (GLenum, GLfloat);
5104extern void glSpriteParameterfvSGIX (GLenum, const GLfloat *);
5105extern void glSpriteParameteriSGIX (GLenum, GLint);
5106extern void glSpriteParameterivSGIX (GLenum, const GLint *);
5107#endif /* GL_GLEXT_FUNCTION_POINTERS */
5108#endif
5109
5110#if GL_SGIX_instruments
5111#ifdef GL_GLEXT_FUNCTION_POINTERS
5112typedef GLint (* glGetInstrumentsSGIXProcPtr) (void);
5113typedef void (* glInstrumentsBufferSGIXProcPtr) (GLsizei, GLint *);
5114typedef GLint (* glPollInstrumentsSGIXProcPtr) (GLint *);
5115typedef void (* glReadInstrumentsSGIXProcPtr) (GLint);
5116typedef void (* glStartInstrumentsSGIXProcPtr) (void);
5117typedef void (* glStopInstrumentsSGIXProcPtr) (GLint);
5118#else
5119extern GLint glGetInstrumentsSGIX (void);
5120extern void glInstrumentsBufferSGIX (GLsizei, GLint *);
5121extern GLint glPollInstrumentsSGIX (GLint *);
5122extern void glReadInstrumentsSGIX (GLint);
5123extern void glStartInstrumentsSGIX (void);
5124extern void glStopInstrumentsSGIX (GLint);
5125#endif /* GL_GLEXT_FUNCTION_POINTERS */
5126#endif
5127
5128#if GL_SGIX_framezoom
5129#ifdef GL_GLEXT_FUNCTION_POINTERS
5130typedef void (* glFrameZoomSGIXProcPtr) (GLint);
5131#else
5132extern void glFrameZoomSGIX (GLint);
5133#endif /* GL_GLEXT_FUNCTION_POINTERS */
5134#endif
5135
5136#if GL_SGIX_tag_sample_buffer
5137#ifdef GL_GLEXT_FUNCTION_POINTERS
5138typedef void (* glTagSampleBufferSGIXProcPtr) (void);
5139#else
5140extern void glTagSampleBufferSGIX (void);
5141#endif /* GL_GLEXT_FUNCTION_POINTERS */
5142#endif
5143
5144#if GL_SGIX_polynomial_ffd
5145#ifdef GL_GLEXT_FUNCTION_POINTERS
5146typedef void (* glDeformationMap3dSGIXProcPtr) (GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
5147typedef void (* glDeformationMap3fSGIXProcPtr) (GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
5148typedef void (* glDeformSGIXProcPtr) (GLbitfield);
5149typedef void (* glLoadIdentityDeformationMapSGIXProcPtr) (GLbitfield);
5150#else
5151extern void glDeformationMap3dSGIX (GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
5152extern void glDeformationMap3fSGIX (GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
5153extern void glDeformSGIX (GLbitfield);
5154extern void glLoadIdentityDeformationMapSGIX (GLbitfield);
5155#endif /* GL_GLEXT_FUNCTION_POINTERS */
5156#endif
5157
5158#if GL_SGIX_reference_plane
5159#ifdef GL_GLEXT_FUNCTION_POINTERS
5160typedef void (* glReferencePlaneSGIXProcPtr) (const GLdouble *);
5161#else
5162extern void glReferencePlaneSGIX (const GLdouble *);
5163#endif /* GL_GLEXT_FUNCTION_POINTERS */
5164#endif
5165
5166#if GL_SGIX_flush_raster
5167#ifdef GL_GLEXT_FUNCTION_POINTERS
5168typedef void (* glFlushRasterSGIXProcPtr) (void);
5169#else
5170extern void glFlushRasterSGIX (void);
5171#endif /* GL_GLEXT_FUNCTION_POINTERS */
5172#endif
5173
5174#if GL_SGIX_list_priority
5175#ifdef GL_GLEXT_FUNCTION_POINTERS
5176typedef void (* glGetListParameterfvSGIXProcPtr) (GLuint, GLenum, GLfloat *);
5177typedef void (* glGetListParameterivSGIXProcPtr) (GLuint, GLenum, GLint *);
5178typedef void (* glListParameterfSGIXProcPtr) (GLuint, GLenum, GLfloat);
5179typedef void (* glListParameterfvSGIXProcPtr) (GLuint, GLenum, const GLfloat *);
5180typedef void (* glListParameteriSGIXProcPtr) (GLuint, GLenum, GLint);
5181typedef void (* glListParameterivSGIXProcPtr) (GLuint, GLenum, const GLint *);
5182#else
5183extern void glGetListParameterfvSGIX (GLuint, GLenum, GLfloat *);
5184extern void glGetListParameterivSGIX (GLuint, GLenum, GLint *);
5185extern void glListParameterfSGIX (GLuint, GLenum, GLfloat);
5186extern void glListParameterfvSGIX (GLuint, GLenum, const GLfloat *);
5187extern void glListParameteriSGIX (GLuint, GLenum, GLint);
5188extern void glListParameterivSGIX (GLuint, GLenum, const GLint *);
5189#endif /* GL_GLEXT_FUNCTION_POINTERS */
5190#endif
5191
5192#if GL_SGIX_fragment_lighting
5193#ifdef GL_GLEXT_FUNCTION_POINTERS
5194typedef void (* glFragmentColorMaterialSGIXProcPtr) (GLenum, GLenum);
5195typedef void (* glFragmentLightfSGIXProcPtr) (GLenum, GLenum, GLfloat);
5196typedef void (* glFragmentLightfvSGIXProcPtr) (GLenum, GLenum, const GLfloat *);
5197typedef void (* glFragmentLightiSGIXProcPtr) (GLenum, GLenum, GLint);
5198typedef void (* glFragmentLightivSGIXProcPtr) (GLenum, GLenum, const GLint *);
5199typedef void (* glFragmentLightModelfSGIXProcPtr) (GLenum, GLfloat);
5200typedef void (* glFragmentLightModelfvSGIXProcPtr) (GLenum, const GLfloat *);
5201typedef void (* glFragmentLightModeliSGIXProcPtr) (GLenum, GLint);
5202typedef void (* glFragmentLightModelivSGIXProcPtr) (GLenum, const GLint *);
5203typedef void (* glFragmentMaterialfSGIXProcPtr) (GLenum, GLenum, GLfloat);
5204typedef void (* glFragmentMaterialfvSGIXProcPtr) (GLenum, GLenum, const GLfloat *);
5205typedef void (* glFragmentMaterialiSGIXProcPtr) (GLenum, GLenum, GLint);
5206typedef void (* glFragmentMaterialivSGIXProcPtr) (GLenum, GLenum, const GLint *);
5207typedef void (* glGetFragmentLightfvSGIXProcPtr) (GLenum, GLenum, GLfloat *);
5208typedef void (* glGetFragmentLightivSGIXProcPtr) (GLenum, GLenum, GLint *);
5209typedef void (* glGetFragmentMaterialfvSGIXProcPtr) (GLenum, GLenum, GLfloat *);
5210typedef void (* glGetFragmentMaterialivSGIXProcPtr) (GLenum, GLenum, GLint *);
5211typedef void (* glLightEnviSGIXProcPtr) (GLenum, GLint);
5212#else
5213extern void glFragmentColorMaterialSGIX (GLenum, GLenum);
5214extern void glFragmentLightfSGIX (GLenum, GLenum, GLfloat);
5215extern void glFragmentLightfvSGIX (GLenum, GLenum, const GLfloat *);
5216extern void glFragmentLightiSGIX (GLenum, GLenum, GLint);
5217extern void glFragmentLightivSGIX (GLenum, GLenum, const GLint *);
5218extern void glFragmentLightModelfSGIX (GLenum, GLfloat);
5219extern void glFragmentLightModelfvSGIX (GLenum, const GLfloat *);
5220extern void glFragmentLightModeliSGIX (GLenum, GLint);
5221extern void glFragmentLightModelivSGIX (GLenum, const GLint *);
5222extern void glFragmentMaterialfSGIX (GLenum, GLenum, GLfloat);
5223extern void glFragmentMaterialfvSGIX (GLenum, GLenum, const GLfloat *);
5224extern void glFragmentMaterialiSGIX (GLenum, GLenum, GLint);
5225extern void glFragmentMaterialivSGIX (GLenum, GLenum, const GLint *);
5226extern void glGetFragmentLightfvSGIX (GLenum, GLenum, GLfloat *);
5227extern void glGetFragmentLightivSGIX (GLenum, GLenum, GLint *);
5228extern void glGetFragmentMaterialfvSGIX (GLenum, GLenum, GLfloat *);
5229extern void glGetFragmentMaterialivSGIX (GLenum, GLenum, GLint *);
5230extern void glLightEnviSGIX (GLenum, GLint);
5231#endif /* GL_GLEXT_FUNCTION_POINTERS */
5232#endif
5233
5234#if GL_SGIX_async
5235#ifdef GL_GLEXT_FUNCTION_POINTERS
5236typedef void (* glAsyncMarkerSGIXProcPtr) (GLuint);
5237typedef GLint (* glFinishAsyncSGIXProcPtr) (GLuint *);
5238typedef GLint (* glPollAsyncSGIXProcPtr) (GLuint *);
5239typedef GLuint (* glGenAsyncMarkersSGIXProcPtr) (GLsizei);
5240typedef void (* glDeleteAsyncMarkersSGIXProcPtr) (GLuint, GLsizei);
5241typedef GLboolean (* glIsAsyncMarkerSGIXProcPtr) (GLuint);
5242#else
5243extern void glAsyncMarkerSGIX (GLuint);
5244extern GLint glFinishAsyncSGIX (GLuint *);
5245extern GLint glPollAsyncSGIX (GLuint *);
5246extern GLuint glGenAsyncMarkersSGIX (GLsizei);
5247extern void glDeleteAsyncMarkersSGIX (GLuint, GLsizei);
5248extern GLboolean glIsAsyncMarkerSGIX (GLuint);
5249#endif /* GL_GLEXT_FUNCTION_POINTERS */
5250#endif
5251
5252#if GL_SGIX_igloo_interface
5253#ifdef GL_GLEXT_FUNCTION_POINTERS
5254typedef void (* glIglooInterfaceSGIXProcPtr) (GLenum, const GLvoid *);
5255#else
5256extern void glIglooInterfaceSGIX (GLenum, const GLvoid *);
5257#endif /* GL_GLEXT_FUNCTION_POINTERS */
5258#endif
5259
5260
5261#if GL_SUN_global_alpha
5262#ifdef GL_GLEXT_FUNCTION_POINTERS
5263typedef void (* glGlobalAlphaFactorbSUNProcPtr) (GLbyte);
5264typedef void (* glGlobalAlphaFactorsSUNProcPtr) (GLshort);
5265typedef void (* glGlobalAlphaFactoriSUNProcPtr) (GLint);
5266typedef void (* glGlobalAlphaFactorfSUNProcPtr) (GLfloat);
5267typedef void (* glGlobalAlphaFactordSUNProcPtr) (GLdouble);
5268typedef void (* glGlobalAlphaFactorubSUNProcPtr) (GLubyte);
5269typedef void (* glGlobalAlphaFactorusSUNProcPtr) (GLushort);
5270typedef void (* glGlobalAlphaFactoruiSUNProcPtr) (GLuint);
5271#else
5272extern void glGlobalAlphaFactorbSUN (GLbyte);
5273extern void glGlobalAlphaFactorsSUN (GLshort);
5274extern void glGlobalAlphaFactoriSUN (GLint);
5275extern void glGlobalAlphaFactorfSUN (GLfloat);
5276extern void glGlobalAlphaFactordSUN (GLdouble);
5277extern void glGlobalAlphaFactorubSUN (GLubyte);
5278extern void glGlobalAlphaFactorusSUN (GLushort);
5279extern void glGlobalAlphaFactoruiSUN (GLuint);
5280#endif /* GL_GLEXT_FUNCTION_POINTERS */
5281#endif
5282
5283#if GL_SUN_triangle_list
5284#ifdef GL_GLEXT_FUNCTION_POINTERS
5285typedef void (* glReplacementCodeuiSUNProcPtr) (GLuint);
5286typedef void (* glReplacementCodeusSUNProcPtr) (GLushort);
5287typedef void (* glReplacementCodeubSUNProcPtr) (GLubyte);
5288typedef void (* glReplacementCodeuivSUNProcPtr) (const GLuint *);
5289typedef void (* glReplacementCodeusvSUNProcPtr) (const GLushort *);
5290typedef void (* glReplacementCodeubvSUNProcPtr) (const GLubyte *);
5291typedef void (* glReplacementCodePointerSUNProcPtr) (GLenum, GLsizei, const GLvoid **);
5292#else
5293extern void glReplacementCodeuiSUN (GLuint);
5294extern void glReplacementCodeusSUN (GLushort);
5295extern void glReplacementCodeubSUN (GLubyte);
5296extern void glReplacementCodeuivSUN (const GLuint *);
5297extern void glReplacementCodeusvSUN (const GLushort *);
5298extern void glReplacementCodeubvSUN (const GLubyte *);
5299extern void glReplacementCodePointerSUN (GLenum, GLsizei, const GLvoid **);
5300#endif /* GL_GLEXT_FUNCTION_POINTERS */
5301#endif
5302
5303#if GL_SUN_vertex
5304#ifdef GL_GLEXT_FUNCTION_POINTERS
5305typedef void (* glColor4ubVertex2fSUNProcPtr) (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat);
5306typedef void (* glColor4ubVertex2fvSUNProcPtr) (const GLubyte *, const GLfloat *);
5307typedef void (* glColor4ubVertex3fSUNProcPtr) (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
5308typedef void (* glColor4ubVertex3fvSUNProcPtr) (const GLubyte *, const GLfloat *);
5309typedef void (* glColor3fVertex3fSUNProcPtr) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5310typedef void (* glColor3fVertex3fvSUNProcPtr) (const GLfloat *, const GLfloat *);
5311typedef void (* glNormal3fVertex3fSUNProcPtr) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5312typedef void (* glNormal3fVertex3fvSUNProcPtr) (const GLfloat *, const GLfloat *);
5313typedef void (* glColor4fNormal3fVertex3fSUNProcPtr) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5314typedef void (* glColor4fNormal3fVertex3fvSUNProcPtr) (const GLfloat *, const GLfloat *, const GLfloat *);
5315typedef void (* glTexCoord2fVertex3fSUNProcPtr) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5316typedef void (* glTexCoord2fVertex3fvSUNProcPtr) (const GLfloat *, const GLfloat *);
5317typedef void (* glTexCoord4fVertex4fSUNProcPtr) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5318typedef void (* glTexCoord4fVertex4fvSUNProcPtr) (const GLfloat *, const GLfloat *);
5319typedef void (* glTexCoord2fColor4ubVertex3fSUNProcPtr) (GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
5320typedef void (* glTexCoord2fColor4ubVertex3fvSUNProcPtr) (const GLfloat *, const GLubyte *, const GLfloat *);
5321typedef void (* glTexCoord2fColor3fVertex3fSUNProcPtr) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5322typedef void (* glTexCoord2fColor3fVertex3fvSUNProcPtr) (const GLfloat *, const GLfloat *, const GLfloat *);
5323typedef void (* glTexCoord2fNormal3fVertex3fSUNProcPtr) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5324typedef void (* glTexCoord2fNormal3fVertex3fvSUNProcPtr) (const GLfloat *, const GLfloat *, const GLfloat *);
5325typedef void (* glTexCoord2fColor4fNormal3fVertex3fSUNProcPtr) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5326typedef void (* glTexCoord2fColor4fNormal3fVertex3fvSUNProcPtr) (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
5327typedef void (* glTexCoord4fColor4fNormal3fVertex4fSUNProcPtr) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5328typedef void (* glTexCoord4fColor4fNormal3fVertex4fvSUNProcPtr) (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
5329typedef void (* glReplacementCodeuiVertex3fSUNProcPtr) (GLenum, GLfloat, GLfloat, GLfloat);
5330typedef void (* glReplacementCodeuiVertex3fvSUNProcPtr) (const GLenum *, const GLfloat *);
5331typedef void (* glReplacementCodeuiColor4ubVertex3fSUNProcPtr) (GLenum, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
5332typedef void (* glReplacementCodeuiColor4ubVertex3fvSUNProcPtr) (const GLenum *, const GLubyte *, const GLfloat *);
5333typedef void (* glReplacementCodeuiColor3fVertex3fSUNProcPtr) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5334typedef void (* glReplacementCodeuiColor3fVertex3fvSUNProcPtr) (const GLenum *, const GLfloat *, const GLfloat *);
5335typedef void (* glReplacementCodeuiNormal3fVertex3fSUNProcPtr) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5336typedef void (* glReplacementCodeuiNormal3fVertex3fvSUNProcPtr) (const GLenum *, const GLfloat *, const GLfloat *);
5337typedef void (* glReplacementCodeuiColor4fNormal3fVertex3fSUNProcPtr) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5338typedef void (* glReplacementCodeuiColor4fNormal3fVertex3fvSUNProcPtr) (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
5339typedef void (* glReplacementCodeuiTexCoord2fVertex3fSUNProcPtr) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5340typedef void (* glReplacementCodeuiTexCoord2fVertex3fvSUNProcPtr) (const GLenum *, const GLfloat *, const GLfloat *);
5341typedef void (* glReplacementCodeuiTexCoord2fNormal3fVertex3fSUNProcPtr) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5342typedef void (* glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUNProcPtr) (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
5343typedef void (* glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUNProcPtr) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5344typedef void (* glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUNProcPtr) (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
5345#else
5346extern void glColor4ubVertex2fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat);
5347extern void glColor4ubVertex2fvSUN (const GLubyte *, const GLfloat *);
5348extern void glColor4ubVertex3fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
5349extern void glColor4ubVertex3fvSUN (const GLubyte *, const GLfloat *);
5350extern void glColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5351extern void glColor3fVertex3fvSUN (const GLfloat *, const GLfloat *);
5352extern void glNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5353extern void glNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *);
5354extern void glColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5355extern void glColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
5356extern void glTexCoord2fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5357extern void glTexCoord2fVertex3fvSUN (const GLfloat *, const GLfloat *);
5358extern void glTexCoord4fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5359extern void glTexCoord4fVertex4fvSUN (const GLfloat *, const GLfloat *);
5360extern void glTexCoord2fColor4ubVertex3fSUN (GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
5361extern void glTexCoord2fColor4ubVertex3fvSUN (const GLfloat *, const GLubyte *, const GLfloat *);
5362extern void glTexCoord2fColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5363extern void glTexCoord2fColor3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
5364extern void glTexCoord2fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5365extern void glTexCoord2fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
5366extern void glTexCoord2fColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5367extern void glTexCoord2fColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
5368extern void glTexCoord4fColor4fNormal3fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5369extern void glTexCoord4fColor4fNormal3fVertex4fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
5370extern void glReplacementCodeuiVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat);
5371extern void glReplacementCodeuiVertex3fvSUN (const GLenum *, const GLfloat *);
5372extern void glReplacementCodeuiColor4ubVertex3fSUN (GLenum, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
5373extern void glReplacementCodeuiColor4ubVertex3fvSUN (const GLenum *, const GLubyte *, const GLfloat *);
5374extern void glReplacementCodeuiColor3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5375extern void glReplacementCodeuiColor3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
5376extern void glReplacementCodeuiNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5377extern void glReplacementCodeuiNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
5378extern void glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5379extern void glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
5380extern void glReplacementCodeuiTexCoord2fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5381extern void glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
5382extern void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5383extern void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
5384extern void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
5385extern void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
5386#endif /* GL_GLEXT_FUNCTION_POINTERS */
5387#endif
5388
5389#if GL_SUNX_constant_data
5390#ifdef GL_GLEXT_FUNCTION_POINTERS
5391typedef void (* glFinishTextureSUNXProcPtr) (void);
5392#else
5393extern void glFinishTextureSUNX(void);
5394#endif /* GL_GLEXT_FUNCTION_POINTERS */
5395#endif
5396
5397
5398#if GL_3DFX_tbuffer
5399#ifdef GL_GLEXT_FUNCTION_POINTERS
5400typedef void (* glTbufferMask3DFXProcPtr) (GLuint);
5401#else
5402extern void glTbufferMask3DFX(GLuint);
5403#endif /* GL_GLEXT_FUNCTION_POINTERS */
5404#endif
5405
5406
5407#ifdef GL_GLEXT_FUNCTION_POINTERS
5408typedef void (* glBeginConditionalRenderNVProcPtr) (GLuint id, GLenum mode);
5409typedef void (* glEndConditionalRenderNVProcPtr) (void);
5410#else
5411extern void glBeginConditionalRenderNV(GLuint id, GLenum mode);
5412extern void glEndConditionalRenderNV(void);
5413#endif
5414
5415#ifdef __cplusplus
5416}
5417#endif
5418
5419#endif