Ticket #20638: glext.h

File glext.h, 220.3 KB (added by dbevans (David B. Evans), 15 years ago)

tiger ppc glext.h

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