1/* DO NOT EDIT - This file generated automatically by glX_proto_size.py (from Mesa) script */
2
3/*
4 * (C) Copyright IBM Corporation 2004
5 * All Rights Reserved.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a
8 * copy of this software and associated documentation files (the "Software"),
9 * to deal in the Software without restriction, including without limitation
10 * the rights to use, copy, modify, merge, publish, distribute, sub license,
11 * and/or sell copies of the Software, and to permit persons to whom the
12 * Software is furnished to do so, subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice (including the next
15 * paragraph) shall be included in all copies or substantial portions of the
16 * Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
21 * IBM,
22 * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
24 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 * SOFTWARE.
26 */
27
28
29#include <GL/gl.h>
30#include "indirect_size_get.h"
31#include "glxserver.h"
32#include "indirect_util.h"
33#include "indirect_size.h"
34
35#  if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
36#    define PURE __attribute__((pure))
37#  else
38#    define PURE
39#  endif
40
41#  if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
42#    define FASTCALL __attribute__((fastcall))
43#  else
44#    define FASTCALL
45#  endif
46
47#  if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))) && defined(__ELF__)
48#    define INTERNAL  __attribute__((visibility("internal")))
49#  else
50#    define INTERNAL
51#  endif
52
53
54#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__APPLE__)
55#  undef HAVE_ALIAS
56#endif
57#ifdef HAVE_ALIAS
58#  define ALIAS2(from,to) \
59    INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
60        __attribute__ ((alias( # to )));
61#  define ALIAS(from,to) ALIAS2( from, __gl ## to ## _size )
62#else
63#  define ALIAS(from,to) \
64    INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
65    { return __gl ## to ## _size( e ); }
66#endif
67
68
69INTERNAL PURE FASTCALL GLint
70__glCallLists_size(GLenum e)
71{
72    switch (e) {
73    case GL_BYTE:
74    case GL_UNSIGNED_BYTE:
75        return 1;
76    case GL_SHORT:
77    case GL_UNSIGNED_SHORT:
78    case GL_2_BYTES:
79        return 2;
80    case GL_3_BYTES:
81        return 3;
82    case GL_INT:
83    case GL_UNSIGNED_INT:
84    case GL_FLOAT:
85    case GL_4_BYTES:
86        return 4;
87    default:
88        return 0;
89    }
90}
91
92INTERNAL PURE FASTCALL GLint
93__glFogfv_size(GLenum e)
94{
95    switch (e) {
96    case GL_FOG_INDEX:
97    case GL_FOG_DENSITY:
98    case GL_FOG_START:
99    case GL_FOG_END:
100    case GL_FOG_MODE:
101    case GL_FOG_OFFSET_VALUE_SGIX:
102    case GL_FOG_DISTANCE_MODE_NV:
103        return 1;
104    case GL_FOG_COLOR:
105        return 4;
106    default:
107        return 0;
108    }
109}
110
111INTERNAL PURE FASTCALL GLint
112__glLightfv_size(GLenum e)
113{
114    switch (e) {
115    case GL_SPOT_EXPONENT:
116    case GL_SPOT_CUTOFF:
117    case GL_CONSTANT_ATTENUATION:
118    case GL_LINEAR_ATTENUATION:
119    case GL_QUADRATIC_ATTENUATION:
120        return 1;
121    case GL_SPOT_DIRECTION:
122        return 3;
123    case GL_AMBIENT:
124    case GL_DIFFUSE:
125    case GL_SPECULAR:
126    case GL_POSITION:
127        return 4;
128    default:
129        return 0;
130    }
131}
132
133INTERNAL PURE FASTCALL GLint
134__glLightModelfv_size(GLenum e)
135{
136    switch (e) {
137    case GL_LIGHT_MODEL_LOCAL_VIEWER:
138    case GL_LIGHT_MODEL_TWO_SIDE:
139    case GL_LIGHT_MODEL_COLOR_CONTROL:
140/*      case GL_LIGHT_MODEL_COLOR_CONTROL_EXT:*/
141        return 1;
142    case GL_LIGHT_MODEL_AMBIENT:
143        return 4;
144    default:
145        return 0;
146    }
147}
148
149INTERNAL PURE FASTCALL GLint
150__glMaterialfv_size(GLenum e)
151{
152    switch (e) {
153    case GL_SHININESS:
154        return 1;
155    case GL_COLOR_INDEXES:
156        return 3;
157    case GL_AMBIENT:
158    case GL_DIFFUSE:
159    case GL_SPECULAR:
160    case GL_EMISSION:
161    case GL_AMBIENT_AND_DIFFUSE:
162        return 4;
163    default:
164        return 0;
165    }
166}
167
168INTERNAL PURE FASTCALL GLint
169__glTexParameterfv_size(GLenum e)
170{
171    switch (e) {
172    case GL_TEXTURE_MAG_FILTER:
173    case GL_TEXTURE_MIN_FILTER:
174    case GL_TEXTURE_WRAP_S:
175    case GL_TEXTURE_WRAP_T:
176    case GL_TEXTURE_PRIORITY:
177    case GL_TEXTURE_WRAP_R:
178    case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
179/*      case GL_SHADOW_AMBIENT_SGIX:*/
180    case GL_TEXTURE_MIN_LOD:
181    case GL_TEXTURE_MAX_LOD:
182    case GL_TEXTURE_BASE_LEVEL:
183    case GL_TEXTURE_MAX_LEVEL:
184    case GL_TEXTURE_CLIPMAP_FRAME_SGIX:
185    case GL_TEXTURE_LOD_BIAS_S_SGIX:
186    case GL_TEXTURE_LOD_BIAS_T_SGIX:
187    case GL_TEXTURE_LOD_BIAS_R_SGIX:
188    case GL_GENERATE_MIPMAP:
189/*      case GL_GENERATE_MIPMAP_SGIS:*/
190    case GL_TEXTURE_COMPARE_SGIX:
191    case GL_TEXTURE_COMPARE_OPERATOR_SGIX:
192    case GL_TEXTURE_MAX_CLAMP_S_SGIX:
193    case GL_TEXTURE_MAX_CLAMP_T_SGIX:
194    case GL_TEXTURE_MAX_CLAMP_R_SGIX:
195    case GL_TEXTURE_MAX_ANISOTROPY_EXT:
196    case GL_TEXTURE_LOD_BIAS:
197/*      case GL_TEXTURE_LOD_BIAS_EXT:*/
198    case GL_DEPTH_TEXTURE_MODE:
199/*      case GL_DEPTH_TEXTURE_MODE_ARB:*/
200    case GL_TEXTURE_COMPARE_MODE:
201/*      case GL_TEXTURE_COMPARE_MODE_ARB:*/
202    case GL_TEXTURE_COMPARE_FUNC:
203/*      case GL_TEXTURE_COMPARE_FUNC_ARB:*/
204    case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
205        return 1;
206    case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
207    case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
208        return 2;
209    case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
210        return 3;
211    case GL_TEXTURE_BORDER_COLOR:
212    case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
213    case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
214        return 4;
215    default:
216        return 0;
217    }
218}
219
220INTERNAL PURE FASTCALL GLint
221__glTexEnvfv_size(GLenum e)
222{
223    switch (e) {
224    case GL_ALPHA_SCALE:
225    case GL_TEXTURE_ENV_MODE:
226    case GL_TEXTURE_LOD_BIAS:
227    case GL_COMBINE_RGB:
228    case GL_COMBINE_ALPHA:
229    case GL_RGB_SCALE:
230    case GL_SOURCE0_RGB:
231    case GL_SOURCE1_RGB:
232    case GL_SOURCE2_RGB:
233    case GL_SOURCE3_RGB_NV:
234    case GL_SOURCE0_ALPHA:
235    case GL_SOURCE1_ALPHA:
236    case GL_SOURCE2_ALPHA:
237    case GL_SOURCE3_ALPHA_NV:
238    case GL_OPERAND0_RGB:
239    case GL_OPERAND1_RGB:
240    case GL_OPERAND2_RGB:
241    case GL_OPERAND3_RGB_NV:
242    case GL_OPERAND0_ALPHA:
243    case GL_OPERAND1_ALPHA:
244    case GL_OPERAND2_ALPHA:
245    case GL_OPERAND3_ALPHA_NV:
246    case GL_COORD_REPLACE_ARB:
247/*      case GL_COORD_REPLACE_NV:*/
248        return 1;
249    case GL_TEXTURE_ENV_COLOR:
250        return 4;
251    default:
252        return 0;
253    }
254}
255
256INTERNAL PURE FASTCALL GLint
257__glTexGendv_size(GLenum e)
258{
259    switch (e) {
260    case GL_TEXTURE_GEN_MODE:
261        return 1;
262    case GL_OBJECT_PLANE:
263    case GL_EYE_PLANE:
264        return 4;
265    default:
266        return 0;
267    }
268}
269
270INTERNAL PURE FASTCALL GLint
271__glMap1d_size(GLenum e)
272{
273    switch (e) {
274    case GL_MAP1_INDEX:
275    case GL_MAP1_TEXTURE_COORD_1:
276        return 1;
277    case GL_MAP1_TEXTURE_COORD_2:
278        return 2;
279    case GL_MAP1_NORMAL:
280    case GL_MAP1_TEXTURE_COORD_3:
281    case GL_MAP1_VERTEX_3:
282        return 3;
283    case GL_MAP1_COLOR_4:
284    case GL_MAP1_TEXTURE_COORD_4:
285    case GL_MAP1_VERTEX_4:
286        return 4;
287    default:
288        return 0;
289    }
290}
291
292INTERNAL PURE FASTCALL GLint
293__glMap2d_size(GLenum e)
294{
295    switch (e) {
296    case GL_MAP2_INDEX:
297    case GL_MAP2_TEXTURE_COORD_1:
298        return 1;
299    case GL_MAP2_TEXTURE_COORD_2:
300        return 2;
301    case GL_MAP2_NORMAL:
302    case GL_MAP2_TEXTURE_COORD_3:
303    case GL_MAP2_VERTEX_3:
304        return 3;
305    case GL_MAP2_COLOR_4:
306    case GL_MAP2_TEXTURE_COORD_4:
307    case GL_MAP2_VERTEX_4:
308        return 4;
309    default:
310        return 0;
311    }
312}
313
314INTERNAL PURE FASTCALL GLint
315__glGetBooleanv_size(GLenum e)
316{
317    switch (e) {
318    case GL_CURRENT_INDEX:
319    case GL_CURRENT_RASTER_INDEX:
320    case GL_CURRENT_RASTER_POSITION_VALID:
321    case GL_CURRENT_RASTER_DISTANCE:
322    case GL_POINT_SMOOTH:
323    case GL_POINT_SIZE:
324    case GL_SMOOTH_POINT_SIZE_GRANULARITY:
325    case GL_LINE_SMOOTH:
326    case GL_LINE_WIDTH:
327    case GL_LINE_WIDTH_GRANULARITY:
328    case GL_LINE_STIPPLE:
329    case GL_LINE_STIPPLE_PATTERN:
330    case GL_LINE_STIPPLE_REPEAT:
331    case GL_LIST_MODE:
332    case GL_MAX_LIST_NESTING:
333    case GL_LIST_BASE:
334    case GL_LIST_INDEX:
335    case GL_POLYGON_SMOOTH:
336    case GL_POLYGON_STIPPLE:
337    case GL_EDGE_FLAG:
338    case GL_CULL_FACE:
339    case GL_CULL_FACE_MODE:
340    case GL_FRONT_FACE:
341    case GL_LIGHTING:
342    case GL_LIGHT_MODEL_LOCAL_VIEWER:
343    case GL_LIGHT_MODEL_TWO_SIDE:
344    case GL_SHADE_MODEL:
345    case GL_COLOR_MATERIAL_FACE:
346    case GL_COLOR_MATERIAL_PARAMETER:
347    case GL_COLOR_MATERIAL:
348    case GL_FOG:
349    case GL_FOG_INDEX:
350    case GL_FOG_DENSITY:
351    case GL_FOG_START:
352    case GL_FOG_END:
353    case GL_FOG_MODE:
354    case GL_DEPTH_TEST:
355    case GL_DEPTH_WRITEMASK:
356    case GL_DEPTH_CLEAR_VALUE:
357    case GL_DEPTH_FUNC:
358    case GL_STENCIL_TEST:
359    case GL_STENCIL_CLEAR_VALUE:
360    case GL_STENCIL_FUNC:
361    case GL_STENCIL_VALUE_MASK:
362    case GL_STENCIL_FAIL:
363    case GL_STENCIL_PASS_DEPTH_FAIL:
364    case GL_STENCIL_PASS_DEPTH_PASS:
365    case GL_STENCIL_REF:
366    case GL_STENCIL_WRITEMASK:
367    case GL_MATRIX_MODE:
368    case GL_NORMALIZE:
369    case GL_MODELVIEW_STACK_DEPTH:
370    case GL_PROJECTION_STACK_DEPTH:
371    case GL_TEXTURE_STACK_DEPTH:
372    case GL_ATTRIB_STACK_DEPTH:
373    case GL_CLIENT_ATTRIB_STACK_DEPTH:
374    case GL_ALPHA_TEST:
375    case GL_ALPHA_TEST_FUNC:
376    case GL_ALPHA_TEST_REF:
377    case GL_DITHER:
378    case GL_BLEND_DST:
379    case GL_BLEND_SRC:
380    case GL_BLEND:
381    case GL_LOGIC_OP_MODE:
382    case GL_LOGIC_OP:
383    case GL_AUX_BUFFERS:
384    case GL_DRAW_BUFFER:
385    case GL_READ_BUFFER:
386    case GL_SCISSOR_TEST:
387    case GL_INDEX_CLEAR_VALUE:
388    case GL_INDEX_WRITEMASK:
389    case GL_INDEX_MODE:
390    case GL_RGBA_MODE:
391    case GL_DOUBLEBUFFER:
392    case GL_STEREO:
393    case GL_RENDER_MODE:
394    case GL_PERSPECTIVE_CORRECTION_HINT:
395    case GL_POINT_SMOOTH_HINT:
396    case GL_LINE_SMOOTH_HINT:
397    case GL_POLYGON_SMOOTH_HINT:
398    case GL_FOG_HINT:
399    case GL_TEXTURE_GEN_S:
400    case GL_TEXTURE_GEN_T:
401    case GL_TEXTURE_GEN_R:
402    case GL_TEXTURE_GEN_Q:
403    case GL_PIXEL_MAP_I_TO_I:
404    case GL_PIXEL_MAP_I_TO_I_SIZE:
405    case GL_PIXEL_MAP_S_TO_S_SIZE:
406    case GL_PIXEL_MAP_I_TO_R_SIZE:
407    case GL_PIXEL_MAP_I_TO_G_SIZE:
408    case GL_PIXEL_MAP_I_TO_B_SIZE:
409    case GL_PIXEL_MAP_I_TO_A_SIZE:
410    case GL_PIXEL_MAP_R_TO_R_SIZE:
411    case GL_PIXEL_MAP_G_TO_G_SIZE:
412    case GL_PIXEL_MAP_B_TO_B_SIZE:
413    case GL_PIXEL_MAP_A_TO_A_SIZE:
414    case GL_UNPACK_SWAP_BYTES:
415    case GL_UNPACK_LSB_FIRST:
416    case GL_UNPACK_ROW_LENGTH:
417    case GL_UNPACK_SKIP_ROWS:
418    case GL_UNPACK_SKIP_PIXELS:
419    case GL_UNPACK_ALIGNMENT:
420    case GL_PACK_SWAP_BYTES:
421    case GL_PACK_LSB_FIRST:
422    case GL_PACK_ROW_LENGTH:
423    case GL_PACK_SKIP_ROWS:
424    case GL_PACK_SKIP_PIXELS:
425    case GL_PACK_ALIGNMENT:
426    case GL_MAP_COLOR:
427    case GL_MAP_STENCIL:
428    case GL_INDEX_SHIFT:
429    case GL_INDEX_OFFSET:
430    case GL_RED_SCALE:
431    case GL_RED_BIAS:
432    case GL_ZOOM_X:
433    case GL_ZOOM_Y:
434    case GL_GREEN_SCALE:
435    case GL_GREEN_BIAS:
436    case GL_BLUE_SCALE:
437    case GL_BLUE_BIAS:
438    case GL_ALPHA_SCALE:
439    case GL_ALPHA_BIAS:
440    case GL_DEPTH_SCALE:
441    case GL_DEPTH_BIAS:
442    case GL_MAX_EVAL_ORDER:
443    case GL_MAX_LIGHTS:
444    case GL_MAX_CLIP_PLANES:
445    case GL_MAX_TEXTURE_SIZE:
446    case GL_MAX_PIXEL_MAP_TABLE:
447    case GL_MAX_ATTRIB_STACK_DEPTH:
448    case GL_MAX_MODELVIEW_STACK_DEPTH:
449    case GL_MAX_NAME_STACK_DEPTH:
450    case GL_MAX_PROJECTION_STACK_DEPTH:
451    case GL_MAX_TEXTURE_STACK_DEPTH:
452    case GL_MAX_CLIENT_ATTRIB_STACK_DEPTH:
453    case GL_SUBPIXEL_BITS:
454    case GL_INDEX_BITS:
455    case GL_RED_BITS:
456    case GL_GREEN_BITS:
457    case GL_BLUE_BITS:
458    case GL_ALPHA_BITS:
459    case GL_DEPTH_BITS:
460    case GL_STENCIL_BITS:
461    case GL_ACCUM_RED_BITS:
462    case GL_ACCUM_GREEN_BITS:
463    case GL_ACCUM_BLUE_BITS:
464    case GL_ACCUM_ALPHA_BITS:
465    case GL_NAME_STACK_DEPTH:
466    case GL_AUTO_NORMAL:
467    case GL_MAP1_COLOR_4:
468    case GL_MAP1_INDEX:
469    case GL_MAP1_NORMAL:
470    case GL_MAP1_TEXTURE_COORD_1:
471    case GL_MAP1_TEXTURE_COORD_2:
472    case GL_MAP1_TEXTURE_COORD_3:
473    case GL_MAP1_TEXTURE_COORD_4:
474    case GL_MAP1_VERTEX_3:
475    case GL_MAP1_VERTEX_4:
476    case GL_MAP2_COLOR_4:
477    case GL_MAP2_INDEX:
478    case GL_MAP2_NORMAL:
479    case GL_MAP2_TEXTURE_COORD_1:
480    case GL_MAP2_TEXTURE_COORD_2:
481    case GL_MAP2_TEXTURE_COORD_3:
482    case GL_MAP2_TEXTURE_COORD_4:
483    case GL_MAP2_VERTEX_3:
484    case GL_MAP2_VERTEX_4:
485    case GL_MAP1_GRID_SEGMENTS:
486    case GL_TEXTURE_1D:
487    case GL_TEXTURE_2D:
488    case GL_POLYGON_OFFSET_UNITS:
489    case GL_CLIP_PLANE0:
490    case GL_CLIP_PLANE1:
491    case GL_CLIP_PLANE2:
492    case GL_CLIP_PLANE3:
493    case GL_CLIP_PLANE4:
494    case GL_CLIP_PLANE5:
495    case GL_LIGHT0:
496    case GL_LIGHT1:
497    case GL_LIGHT2:
498    case GL_LIGHT3:
499    case GL_LIGHT4:
500    case GL_LIGHT5:
501    case GL_LIGHT6:
502    case GL_LIGHT7:
503    case GL_BLEND_EQUATION:
504/*      case GL_BLEND_EQUATION_EXT:*/
505    case GL_CONVOLUTION_1D:
506    case GL_CONVOLUTION_2D:
507    case GL_SEPARABLE_2D:
508    case GL_MAX_CONVOLUTION_WIDTH:
509/*      case GL_MAX_CONVOLUTION_WIDTH_EXT:*/
510    case GL_MAX_CONVOLUTION_HEIGHT:
511/*      case GL_MAX_CONVOLUTION_HEIGHT_EXT:*/
512    case GL_POST_CONVOLUTION_RED_SCALE:
513/*      case GL_POST_CONVOLUTION_RED_SCALE_EXT:*/
514    case GL_POST_CONVOLUTION_GREEN_SCALE:
515/*      case GL_POST_CONVOLUTION_GREEN_SCALE_EXT:*/
516    case GL_POST_CONVOLUTION_BLUE_SCALE:
517/*      case GL_POST_CONVOLUTION_BLUE_SCALE_EXT:*/
518    case GL_POST_CONVOLUTION_ALPHA_SCALE:
519/*      case GL_POST_CONVOLUTION_ALPHA_SCALE_EXT:*/
520    case GL_POST_CONVOLUTION_RED_BIAS:
521/*      case GL_POST_CONVOLUTION_RED_BIAS_EXT:*/
522    case GL_POST_CONVOLUTION_GREEN_BIAS:
523/*      case GL_POST_CONVOLUTION_GREEN_BIAS_EXT:*/
524    case GL_POST_CONVOLUTION_BLUE_BIAS:
525/*      case GL_POST_CONVOLUTION_BLUE_BIAS_EXT:*/
526    case GL_POST_CONVOLUTION_ALPHA_BIAS:
527/*      case GL_POST_CONVOLUTION_ALPHA_BIAS_EXT:*/
528    case GL_HISTOGRAM:
529    case GL_MINMAX:
530    case GL_POLYGON_OFFSET_FACTOR:
531    case GL_RESCALE_NORMAL:
532/*      case GL_RESCALE_NORMAL_EXT:*/
533    case GL_TEXTURE_BINDING_1D:
534    case GL_TEXTURE_BINDING_2D:
535    case GL_TEXTURE_BINDING_3D:
536    case GL_PACK_SKIP_IMAGES:
537    case GL_PACK_IMAGE_HEIGHT:
538    case GL_UNPACK_SKIP_IMAGES:
539    case GL_UNPACK_IMAGE_HEIGHT:
540    case GL_TEXTURE_3D:
541    case GL_MAX_3D_TEXTURE_SIZE:
542    case GL_VERTEX_ARRAY:
543    case GL_NORMAL_ARRAY:
544    case GL_COLOR_ARRAY:
545    case GL_INDEX_ARRAY:
546    case GL_TEXTURE_COORD_ARRAY:
547    case GL_EDGE_FLAG_ARRAY:
548    case GL_VERTEX_ARRAY_SIZE:
549    case GL_VERTEX_ARRAY_TYPE:
550    case GL_VERTEX_ARRAY_STRIDE:
551    case GL_NORMAL_ARRAY_TYPE:
552    case GL_NORMAL_ARRAY_STRIDE:
553    case GL_COLOR_ARRAY_SIZE:
554    case GL_COLOR_ARRAY_TYPE:
555    case GL_COLOR_ARRAY_STRIDE:
556    case GL_INDEX_ARRAY_TYPE:
557    case GL_INDEX_ARRAY_STRIDE:
558    case GL_TEXTURE_COORD_ARRAY_SIZE:
559    case GL_TEXTURE_COORD_ARRAY_TYPE:
560    case GL_TEXTURE_COORD_ARRAY_STRIDE:
561    case GL_EDGE_FLAG_ARRAY_STRIDE:
562    case GL_MULTISAMPLE:
563/*      case GL_MULTISAMPLE_ARB:*/
564    case GL_SAMPLE_ALPHA_TO_COVERAGE:
565/*      case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:*/
566    case GL_SAMPLE_ALPHA_TO_ONE:
567/*      case GL_SAMPLE_ALPHA_TO_ONE_ARB:*/
568    case GL_SAMPLE_COVERAGE:
569/*      case GL_SAMPLE_COVERAGE_ARB:*/
570    case GL_SAMPLE_BUFFERS:
571/*      case GL_SAMPLE_BUFFERS_ARB:*/
572    case GL_SAMPLES:
573/*      case GL_SAMPLES_ARB:*/
574    case GL_SAMPLE_COVERAGE_VALUE:
575/*      case GL_SAMPLE_COVERAGE_VALUE_ARB:*/
576    case GL_SAMPLE_COVERAGE_INVERT:
577/*      case GL_SAMPLE_COVERAGE_INVERT_ARB:*/
578    case GL_COLOR_MATRIX_STACK_DEPTH:
579    case GL_MAX_COLOR_MATRIX_STACK_DEPTH:
580    case GL_POST_COLOR_MATRIX_RED_SCALE:
581    case GL_POST_COLOR_MATRIX_GREEN_SCALE:
582    case GL_POST_COLOR_MATRIX_BLUE_SCALE:
583    case GL_POST_COLOR_MATRIX_ALPHA_SCALE:
584    case GL_POST_COLOR_MATRIX_RED_BIAS:
585    case GL_POST_COLOR_MATRIX_GREEN_BIAS:
586    case GL_POST_COLOR_MATRIX_BLUE_BIAS:
587    case GL_POST_COLOR_MATRIX_ALPHA_BIAS:
588    case GL_BLEND_DST_RGB:
589    case GL_BLEND_SRC_RGB:
590    case GL_BLEND_DST_ALPHA:
591    case GL_BLEND_SRC_ALPHA:
592    case GL_COLOR_TABLE:
593    case GL_POST_CONVOLUTION_COLOR_TABLE:
594    case GL_POST_COLOR_MATRIX_COLOR_TABLE:
595    case GL_MAX_ELEMENTS_VERTICES:
596    case GL_MAX_ELEMENTS_INDICES:
597    case GL_CLIP_VOLUME_CLIPPING_HINT_EXT:
598    case GL_POINT_SIZE_MIN:
599    case GL_POINT_SIZE_MAX:
600    case GL_POINT_FADE_THRESHOLD_SIZE:
601    case GL_OCCLUSION_TEST_HP:
602    case GL_OCCLUSION_TEST_RESULT_HP:
603    case GL_LIGHT_MODEL_COLOR_CONTROL:
604    case GL_CURRENT_FOG_COORD:
605    case GL_FOG_COORDINATE_ARRAY_TYPE:
606    case GL_FOG_COORDINATE_ARRAY_STRIDE:
607    case GL_FOG_COORD_ARRAY:
608    case GL_COLOR_SUM_ARB:
609    case GL_SECONDARY_COLOR_ARRAY_SIZE:
610    case GL_SECONDARY_COLOR_ARRAY_TYPE:
611    case GL_SECONDARY_COLOR_ARRAY_STRIDE:
612    case GL_SECONDARY_COLOR_ARRAY:
613    case GL_ACTIVE_TEXTURE:
614/*      case GL_ACTIVE_TEXTURE_ARB:*/
615    case GL_CLIENT_ACTIVE_TEXTURE:
616/*      case GL_CLIENT_ACTIVE_TEXTURE_ARB:*/
617    case GL_MAX_TEXTURE_UNITS:
618/*      case GL_MAX_TEXTURE_UNITS_ARB:*/
619    case GL_MAX_RENDERBUFFER_SIZE_EXT:
620    case GL_TEXTURE_COMPRESSION_HINT:
621/*      case GL_TEXTURE_COMPRESSION_HINT_ARB:*/
622    case GL_TEXTURE_RECTANGLE_ARB:
623/*      case GL_TEXTURE_RECTANGLE_NV:*/
624    case GL_TEXTURE_BINDING_RECTANGLE_ARB:
625/*      case GL_TEXTURE_BINDING_RECTANGLE_NV:*/
626    case GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB:
627/*      case GL_MAX_RECTANGLE_TEXTURE_SIZE_NV:*/
628    case GL_MAX_TEXTURE_LOD_BIAS:
629    case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT:
630    case GL_MAX_SHININESS_NV:
631    case GL_MAX_SPOT_EXPONENT_NV:
632    case GL_TEXTURE_CUBE_MAP:
633/*      case GL_TEXTURE_CUBE_MAP_ARB:*/
634    case GL_TEXTURE_BINDING_CUBE_MAP:
635/*      case GL_TEXTURE_BINDING_CUBE_MAP_ARB:*/
636    case GL_MAX_CUBE_MAP_TEXTURE_SIZE:
637/*      case GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB:*/
638    case GL_MULTISAMPLE_FILTER_HINT_NV:
639    case GL_FOG_DISTANCE_MODE_NV:
640    case GL_VERTEX_PROGRAM_ARB:
641    case GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB:
642    case GL_MAX_PROGRAM_MATRICES_ARB:
643    case GL_CURRENT_MATRIX_STACK_DEPTH_ARB:
644    case GL_VERTEX_PROGRAM_POINT_SIZE_ARB:
645    case GL_VERTEX_PROGRAM_TWO_SIDE_ARB:
646    case GL_PROGRAM_ERROR_POSITION_ARB:
647    case GL_DEPTH_CLAMP_NV:
648    case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
649/*      case GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB:*/
650    case GL_MAX_VERTEX_UNITS_ARB:
651    case GL_ACTIVE_VERTEX_UNITS_ARB:
652    case GL_WEIGHT_SUM_UNITY_ARB:
653    case GL_VERTEX_BLEND_ARB:
654    case GL_CURRENT_WEIGHT_ARB:
655    case GL_WEIGHT_ARRAY_TYPE_ARB:
656    case GL_WEIGHT_ARRAY_STRIDE_ARB:
657    case GL_WEIGHT_ARRAY_SIZE_ARB:
658    case GL_WEIGHT_ARRAY_ARB:
659    case GL_PACK_INVERT_MESA:
660    case GL_STENCIL_BACK_FUNC_ATI:
661    case GL_STENCIL_BACK_FAIL_ATI:
662    case GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI:
663    case GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI:
664    case GL_FRAGMENT_PROGRAM_ARB:
665    case GL_MAX_DRAW_BUFFERS_ARB:
666/*      case GL_MAX_DRAW_BUFFERS_ATI:*/
667    case GL_DRAW_BUFFER0_ARB:
668/*      case GL_DRAW_BUFFER0_ATI:*/
669    case GL_DRAW_BUFFER1_ARB:
670/*      case GL_DRAW_BUFFER1_ATI:*/
671    case GL_DRAW_BUFFER2_ARB:
672/*      case GL_DRAW_BUFFER2_ATI:*/
673    case GL_DRAW_BUFFER3_ARB:
674/*      case GL_DRAW_BUFFER3_ATI:*/
675    case GL_DRAW_BUFFER4_ARB:
676/*      case GL_DRAW_BUFFER4_ATI:*/
677    case GL_DRAW_BUFFER5_ARB:
678/*      case GL_DRAW_BUFFER5_ATI:*/
679    case GL_DRAW_BUFFER6_ARB:
680/*      case GL_DRAW_BUFFER6_ATI:*/
681    case GL_DRAW_BUFFER7_ARB:
682/*      case GL_DRAW_BUFFER7_ATI:*/
683    case GL_DRAW_BUFFER8_ARB:
684/*      case GL_DRAW_BUFFER8_ATI:*/
685    case GL_DRAW_BUFFER9_ARB:
686/*      case GL_DRAW_BUFFER9_ATI:*/
687    case GL_DRAW_BUFFER10_ARB:
688/*      case GL_DRAW_BUFFER10_ATI:*/
689    case GL_DRAW_BUFFER11_ARB:
690/*      case GL_DRAW_BUFFER11_ATI:*/
691    case GL_DRAW_BUFFER12_ARB:
692/*      case GL_DRAW_BUFFER12_ATI:*/
693    case GL_DRAW_BUFFER13_ARB:
694/*      case GL_DRAW_BUFFER13_ATI:*/
695    case GL_DRAW_BUFFER14_ARB:
696/*      case GL_DRAW_BUFFER14_ATI:*/
697    case GL_DRAW_BUFFER15_ARB:
698/*      case GL_DRAW_BUFFER15_ATI:*/
699    case GL_BLEND_EQUATION_ALPHA_EXT:
700    case GL_MATRIX_PALETTE_ARB:
701    case GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB:
702    case GL_MAX_PALETTE_MATRICES_ARB:
703    case GL_CURRENT_PALETTE_MATRIX_ARB:
704    case GL_MATRIX_INDEX_ARRAY_ARB:
705    case GL_CURRENT_MATRIX_INDEX_ARB:
706    case GL_MATRIX_INDEX_ARRAY_SIZE_ARB:
707    case GL_MATRIX_INDEX_ARRAY_TYPE_ARB:
708    case GL_MATRIX_INDEX_ARRAY_STRIDE_ARB:
709    case GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT:
710    case GL_POINT_SPRITE_ARB:
711/*      case GL_POINT_SPRITE_NV:*/
712    case GL_POINT_SPRITE_R_MODE_NV:
713    case GL_MAX_VERTEX_ATTRIBS_ARB:
714    case GL_MAX_TEXTURE_COORDS_ARB:
715    case GL_MAX_TEXTURE_IMAGE_UNITS_ARB:
716    case GL_DEPTH_BOUNDS_TEST_EXT:
717    case GL_ARRAY_BUFFER_BINDING_ARB:
718    case GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB:
719    case GL_VERTEX_ARRAY_BUFFER_BINDING_ARB:
720    case GL_NORMAL_ARRAY_BUFFER_BINDING_ARB:
721    case GL_COLOR_ARRAY_BUFFER_BINDING_ARB:
722    case GL_INDEX_ARRAY_BUFFER_BINDING_ARB:
723    case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB:
724    case GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB:
725    case GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB:
726    case GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB:
727    case GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB:
728    case GL_MAX_ARRAY_TEXTURE_LAYERS_EXT:
729    case GL_STENCIL_TEST_TWO_SIDE_EXT:
730    case GL_ACTIVE_STENCIL_FACE_EXT:
731    case GL_TEXTURE_BINDING_1D_ARRAY_EXT:
732    case GL_TEXTURE_BINDING_2D_ARRAY_EXT:
733    case GL_DRAW_FRAMEBUFFER_BINDING_EXT:
734    case GL_RENDERBUFFER_BINDING_EXT:
735    case GL_READ_FRAMEBUFFER_BINDING_EXT:
736    case GL_MAX_COLOR_ATTACHMENTS_EXT:
737    case GL_RASTER_POSITION_UNCLIPPED_IBM:
738        return 1;
739    case GL_SMOOTH_POINT_SIZE_RANGE:
740    case GL_LINE_WIDTH_RANGE:
741    case GL_POLYGON_MODE:
742    case GL_DEPTH_RANGE:
743    case GL_MAX_VIEWPORT_DIMS:
744    case GL_MAP1_GRID_DOMAIN:
745    case GL_MAP2_GRID_SEGMENTS:
746    case GL_ALIASED_POINT_SIZE_RANGE:
747    case GL_ALIASED_LINE_WIDTH_RANGE:
748    case GL_DEPTH_BOUNDS_EXT:
749        return 2;
750    case GL_CURRENT_NORMAL:
751    case GL_POINT_DISTANCE_ATTENUATION:
752        return 3;
753    case GL_CURRENT_COLOR:
754    case GL_CURRENT_TEXTURE_COORDS:
755    case GL_CURRENT_RASTER_COLOR:
756    case GL_CURRENT_RASTER_TEXTURE_COORDS:
757    case GL_CURRENT_RASTER_POSITION:
758    case GL_LIGHT_MODEL_AMBIENT:
759    case GL_FOG_COLOR:
760    case GL_ACCUM_CLEAR_VALUE:
761    case GL_VIEWPORT:
762    case GL_SCISSOR_BOX:
763    case GL_COLOR_CLEAR_VALUE:
764    case GL_COLOR_WRITEMASK:
765    case GL_MAP2_GRID_DOMAIN:
766    case GL_BLEND_COLOR:
767/*      case GL_BLEND_COLOR_EXT:*/
768    case GL_CURRENT_SECONDARY_COLOR:
769        return 4;
770    case GL_MODELVIEW_MATRIX:
771    case GL_PROJECTION_MATRIX:
772    case GL_TEXTURE_MATRIX:
773    case GL_MODELVIEW0_ARB:
774    case GL_COLOR_MATRIX:
775    case GL_MODELVIEW1_ARB:
776    case GL_CURRENT_MATRIX_ARB:
777    case GL_MODELVIEW2_ARB:
778    case GL_MODELVIEW3_ARB:
779    case GL_MODELVIEW4_ARB:
780    case GL_MODELVIEW5_ARB:
781    case GL_MODELVIEW6_ARB:
782    case GL_MODELVIEW7_ARB:
783    case GL_MODELVIEW8_ARB:
784    case GL_MODELVIEW9_ARB:
785    case GL_MODELVIEW10_ARB:
786    case GL_MODELVIEW11_ARB:
787    case GL_MODELVIEW12_ARB:
788    case GL_MODELVIEW13_ARB:
789    case GL_MODELVIEW14_ARB:
790    case GL_MODELVIEW15_ARB:
791    case GL_MODELVIEW16_ARB:
792    case GL_MODELVIEW17_ARB:
793    case GL_MODELVIEW18_ARB:
794    case GL_MODELVIEW19_ARB:
795    case GL_MODELVIEW20_ARB:
796    case GL_MODELVIEW21_ARB:
797    case GL_MODELVIEW22_ARB:
798    case GL_MODELVIEW23_ARB:
799    case GL_MODELVIEW24_ARB:
800    case GL_MODELVIEW25_ARB:
801    case GL_MODELVIEW26_ARB:
802    case GL_MODELVIEW27_ARB:
803    case GL_MODELVIEW28_ARB:
804    case GL_MODELVIEW29_ARB:
805    case GL_MODELVIEW30_ARB:
806    case GL_MODELVIEW31_ARB:
807    case GL_TRANSPOSE_CURRENT_MATRIX_ARB:
808        return 16;
809    case GL_FOG_COORDINATE_SOURCE:
810    case GL_COMPRESSED_TEXTURE_FORMATS:
811        return __glGetBooleanv_variable_size(e);
812    default:
813        return 0;
814    }
815}
816
817INTERNAL PURE FASTCALL GLint
818__glGetTexParameterfv_size(GLenum e)
819{
820    switch (e) {
821    case GL_TEXTURE_MAG_FILTER:
822    case GL_TEXTURE_MIN_FILTER:
823    case GL_TEXTURE_WRAP_S:
824    case GL_TEXTURE_WRAP_T:
825    case GL_TEXTURE_PRIORITY:
826    case GL_TEXTURE_RESIDENT:
827    case GL_TEXTURE_WRAP_R:
828    case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
829/*      case GL_SHADOW_AMBIENT_SGIX:*/
830    case GL_TEXTURE_MIN_LOD:
831    case GL_TEXTURE_MAX_LOD:
832    case GL_TEXTURE_BASE_LEVEL:
833    case GL_TEXTURE_MAX_LEVEL:
834    case GL_TEXTURE_CLIPMAP_FRAME_SGIX:
835    case GL_TEXTURE_LOD_BIAS_S_SGIX:
836    case GL_TEXTURE_LOD_BIAS_T_SGIX:
837    case GL_TEXTURE_LOD_BIAS_R_SGIX:
838    case GL_GENERATE_MIPMAP:
839/*      case GL_GENERATE_MIPMAP_SGIS:*/
840    case GL_TEXTURE_COMPARE_SGIX:
841    case GL_TEXTURE_COMPARE_OPERATOR_SGIX:
842    case GL_TEXTURE_MAX_CLAMP_S_SGIX:
843    case GL_TEXTURE_MAX_CLAMP_T_SGIX:
844    case GL_TEXTURE_MAX_CLAMP_R_SGIX:
845    case GL_TEXTURE_MAX_ANISOTROPY_EXT:
846    case GL_TEXTURE_LOD_BIAS:
847/*      case GL_TEXTURE_LOD_BIAS_EXT:*/
848    case GL_DEPTH_TEXTURE_MODE:
849/*      case GL_DEPTH_TEXTURE_MODE_ARB:*/
850    case GL_TEXTURE_COMPARE_MODE:
851/*      case GL_TEXTURE_COMPARE_MODE_ARB:*/
852    case GL_TEXTURE_COMPARE_FUNC:
853/*      case GL_TEXTURE_COMPARE_FUNC_ARB:*/
854    case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
855        return 1;
856    case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
857    case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
858        return 2;
859    case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
860        return 3;
861    case GL_TEXTURE_BORDER_COLOR:
862    case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
863    case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
864        return 4;
865    default:
866        return 0;
867    }
868}
869
870INTERNAL PURE FASTCALL GLint
871__glGetTexLevelParameterfv_size(GLenum e)
872{
873    switch (e) {
874    case GL_TEXTURE_WIDTH:
875    case GL_TEXTURE_HEIGHT:
876    case GL_TEXTURE_COMPONENTS:
877    case GL_TEXTURE_BORDER:
878    case GL_TEXTURE_RED_SIZE:
879/*      case GL_TEXTURE_RED_SIZE_EXT:*/
880    case GL_TEXTURE_GREEN_SIZE:
881/*      case GL_TEXTURE_GREEN_SIZE_EXT:*/
882    case GL_TEXTURE_BLUE_SIZE:
883/*      case GL_TEXTURE_BLUE_SIZE_EXT:*/
884    case GL_TEXTURE_ALPHA_SIZE:
885/*      case GL_TEXTURE_ALPHA_SIZE_EXT:*/
886    case GL_TEXTURE_LUMINANCE_SIZE:
887/*      case GL_TEXTURE_LUMINANCE_SIZE_EXT:*/
888    case GL_TEXTURE_INTENSITY_SIZE:
889/*      case GL_TEXTURE_INTENSITY_SIZE_EXT:*/
890    case GL_TEXTURE_DEPTH:
891    case GL_TEXTURE_INDEX_SIZE_EXT:
892    case GL_TEXTURE_COMPRESSED_IMAGE_SIZE:
893/*      case GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB:*/
894    case GL_TEXTURE_COMPRESSED:
895/*      case GL_TEXTURE_COMPRESSED_ARB:*/
896    case GL_TEXTURE_DEPTH_SIZE:
897/*      case GL_TEXTURE_DEPTH_SIZE_ARB:*/
898        return 1;
899    default:
900        return 0;
901    }
902}
903
904INTERNAL PURE FASTCALL GLint
905__glColorTableParameterfv_size(GLenum e)
906{
907    switch (e) {
908    case GL_COLOR_TABLE_SCALE:
909    case GL_COLOR_TABLE_BIAS:
910        return 4;
911    default:
912        return 0;
913    }
914}
915
916INTERNAL PURE FASTCALL GLint
917__glGetColorTableParameterfv_size(GLenum e)
918{
919    switch (e) {
920    case GL_COLOR_TABLE_FORMAT:
921/*      case GL_COLOR_TABLE_FORMAT_EXT:*/
922    case GL_COLOR_TABLE_WIDTH:
923/*      case GL_COLOR_TABLE_WIDTH_EXT:*/
924    case GL_COLOR_TABLE_RED_SIZE:
925/*      case GL_COLOR_TABLE_RED_SIZE_EXT:*/
926    case GL_COLOR_TABLE_GREEN_SIZE:
927/*      case GL_COLOR_TABLE_GREEN_SIZE_EXT:*/
928    case GL_COLOR_TABLE_BLUE_SIZE:
929/*      case GL_COLOR_TABLE_BLUE_SIZE_EXT:*/
930    case GL_COLOR_TABLE_ALPHA_SIZE:
931/*      case GL_COLOR_TABLE_ALPHA_SIZE_EXT:*/
932    case GL_COLOR_TABLE_LUMINANCE_SIZE:
933/*      case GL_COLOR_TABLE_LUMINANCE_SIZE_EXT:*/
934    case GL_COLOR_TABLE_INTENSITY_SIZE:
935/*      case GL_COLOR_TABLE_INTENSITY_SIZE_EXT:*/
936        return 1;
937    case GL_COLOR_TABLE_SCALE:
938    case GL_COLOR_TABLE_BIAS:
939        return 4;
940    default:
941        return 0;
942    }
943}
944
945INTERNAL PURE FASTCALL GLint
946__glConvolutionParameterfv_size(GLenum e)
947{
948    switch (e) {
949    case GL_CONVOLUTION_BORDER_MODE:
950/*      case GL_CONVOLUTION_BORDER_MODE_EXT:*/
951        return 1;
952    case GL_CONVOLUTION_FILTER_SCALE:
953/*      case GL_CONVOLUTION_FILTER_SCALE_EXT:*/
954    case GL_CONVOLUTION_FILTER_BIAS:
955/*      case GL_CONVOLUTION_FILTER_BIAS_EXT:*/
956    case GL_CONVOLUTION_BORDER_COLOR:
957/*      case GL_CONVOLUTION_BORDER_COLOR_HP:*/
958        return 4;
959    default:
960        return 0;
961    }
962}
963
964INTERNAL PURE FASTCALL GLint
965__glGetConvolutionParameterfv_size(GLenum e)
966{
967    switch (e) {
968    case GL_CONVOLUTION_BORDER_MODE:
969/*      case GL_CONVOLUTION_BORDER_MODE_EXT:*/
970    case GL_CONVOLUTION_FORMAT:
971/*      case GL_CONVOLUTION_FORMAT_EXT:*/
972    case GL_CONVOLUTION_WIDTH:
973/*      case GL_CONVOLUTION_WIDTH_EXT:*/
974    case GL_CONVOLUTION_HEIGHT:
975/*      case GL_CONVOLUTION_HEIGHT_EXT:*/
976    case GL_MAX_CONVOLUTION_WIDTH:
977/*      case GL_MAX_CONVOLUTION_WIDTH_EXT:*/
978    case GL_MAX_CONVOLUTION_HEIGHT:
979/*      case GL_MAX_CONVOLUTION_HEIGHT_EXT:*/
980        return 1;
981    case GL_CONVOLUTION_FILTER_SCALE:
982/*      case GL_CONVOLUTION_FILTER_SCALE_EXT:*/
983    case GL_CONVOLUTION_FILTER_BIAS:
984/*      case GL_CONVOLUTION_FILTER_BIAS_EXT:*/
985    case GL_CONVOLUTION_BORDER_COLOR:
986/*      case GL_CONVOLUTION_BORDER_COLOR_HP:*/
987        return 4;
988    default:
989        return 0;
990    }
991}
992
993INTERNAL PURE FASTCALL GLint
994__glGetHistogramParameterfv_size(GLenum e)
995{
996    switch (e) {
997    case GL_HISTOGRAM_WIDTH:
998    case GL_HISTOGRAM_FORMAT:
999    case GL_HISTOGRAM_RED_SIZE:
1000    case GL_HISTOGRAM_GREEN_SIZE:
1001    case GL_HISTOGRAM_BLUE_SIZE:
1002    case GL_HISTOGRAM_ALPHA_SIZE:
1003    case GL_HISTOGRAM_LUMINANCE_SIZE:
1004    case GL_HISTOGRAM_SINK:
1005        return 1;
1006    default:
1007        return 0;
1008    }
1009}
1010
1011INTERNAL PURE FASTCALL GLint
1012__glGetMinmaxParameterfv_size(GLenum e)
1013{
1014    switch (e) {
1015    case GL_MINMAX_FORMAT:
1016    case GL_MINMAX_SINK:
1017        return 1;
1018    default:
1019        return 0;
1020    }
1021}
1022
1023INTERNAL PURE FASTCALL GLint
1024__glGetProgramivARB_size(GLenum e)
1025{
1026    switch (e) {
1027    case GL_PROGRAM_LENGTH_ARB:
1028    case GL_PROGRAM_BINDING_ARB:
1029    case GL_PROGRAM_ALU_INSTRUCTIONS_ARB:
1030    case GL_PROGRAM_TEX_INSTRUCTIONS_ARB:
1031    case GL_PROGRAM_TEX_INDIRECTIONS_ARB:
1032    case GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB:
1033    case GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB:
1034    case GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB:
1035    case GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB:
1036    case GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB:
1037    case GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB:
1038    case GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB:
1039    case GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB:
1040    case GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB:
1041    case GL_PROGRAM_FORMAT_ARB:
1042    case GL_PROGRAM_INSTRUCTIONS_ARB:
1043    case GL_MAX_PROGRAM_INSTRUCTIONS_ARB:
1044    case GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB:
1045    case GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB:
1046    case GL_PROGRAM_TEMPORARIES_ARB:
1047    case GL_MAX_PROGRAM_TEMPORARIES_ARB:
1048    case GL_PROGRAM_NATIVE_TEMPORARIES_ARB:
1049    case GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB:
1050    case GL_PROGRAM_PARAMETERS_ARB:
1051    case GL_MAX_PROGRAM_PARAMETERS_ARB:
1052    case GL_PROGRAM_NATIVE_PARAMETERS_ARB:
1053    case GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB:
1054    case GL_PROGRAM_ATTRIBS_ARB:
1055    case GL_MAX_PROGRAM_ATTRIBS_ARB:
1056    case GL_PROGRAM_NATIVE_ATTRIBS_ARB:
1057    case GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB:
1058    case GL_PROGRAM_ADDRESS_REGISTERS_ARB:
1059    case GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB:
1060    case GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB:
1061    case GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB:
1062    case GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB:
1063    case GL_MAX_PROGRAM_ENV_PARAMETERS_ARB:
1064    case GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB:
1065    case GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV:
1066    case GL_MAX_PROGRAM_CALL_DEPTH_NV:
1067    case GL_MAX_PROGRAM_IF_DEPTH_NV:
1068    case GL_MAX_PROGRAM_LOOP_DEPTH_NV:
1069    case GL_MAX_PROGRAM_LOOP_COUNT_NV:
1070        return 1;
1071    default:
1072        return 0;
1073    }
1074}
1075
1076INTERNAL PURE FASTCALL GLint
1077__glGetVertexAttribdvARB_size(GLenum e)
1078{
1079    switch (e) {
1080    case GL_VERTEX_PROGRAM_ARB:
1081    case GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB:
1082    case GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB:
1083    case GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB:
1084    case GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB:
1085    case GL_CURRENT_VERTEX_ATTRIB_ARB:
1086    case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB:
1087        return 1;
1088    default:
1089        return 0;
1090    }
1091}
1092
1093INTERNAL PURE FASTCALL GLint
1094__glGetQueryObjectivARB_size(GLenum e)
1095{
1096    switch (e) {
1097    case GL_QUERY_RESULT_ARB:
1098    case GL_QUERY_RESULT_AVAILABLE_ARB:
1099        return 1;
1100    default:
1101        return 0;
1102    }
1103}
1104
1105INTERNAL PURE FASTCALL GLint
1106__glGetQueryivARB_size(GLenum e)
1107{
1108    switch (e) {
1109    case GL_QUERY_COUNTER_BITS_ARB:
1110    case GL_CURRENT_QUERY_ARB:
1111        return 1;
1112    default:
1113        return 0;
1114    }
1115}
1116
1117INTERNAL PURE FASTCALL GLint
1118__glPointParameterfvEXT_size(GLenum e)
1119{
1120    switch (e) {
1121    case GL_POINT_SIZE_MIN:
1122/*      case GL_POINT_SIZE_MIN_ARB:*/
1123/*      case GL_POINT_SIZE_MIN_SGIS:*/
1124    case GL_POINT_SIZE_MAX:
1125/*      case GL_POINT_SIZE_MAX_ARB:*/
1126/*      case GL_POINT_SIZE_MAX_SGIS:*/
1127    case GL_POINT_FADE_THRESHOLD_SIZE:
1128/*      case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/
1129/*      case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/
1130    case GL_POINT_SPRITE_R_MODE_NV:
1131    case GL_POINT_SPRITE_COORD_ORIGIN:
1132        return 1;
1133    case GL_POINT_DISTANCE_ATTENUATION:
1134/*      case GL_POINT_DISTANCE_ATTENUATION_ARB:*/
1135/*      case GL_POINT_DISTANCE_ATTENUATION_SGIS:*/
1136        return 3;
1137    default:
1138        return 0;
1139    }
1140}
1141
1142INTERNAL PURE FASTCALL GLint
1143__glGetProgramivNV_size(GLenum e)
1144{
1145    switch (e) {
1146    case GL_PROGRAM_LENGTH_NV:
1147    case GL_PROGRAM_TARGET_NV:
1148    case GL_PROGRAM_RESIDENT_NV:
1149        return 1;
1150    default:
1151        return 0;
1152    }
1153}
1154
1155INTERNAL PURE FASTCALL GLint
1156__glGetVertexAttribdvNV_size(GLenum e)
1157{
1158    switch (e) {
1159    case GL_ATTRIB_ARRAY_SIZE_NV:
1160    case GL_ATTRIB_ARRAY_STRIDE_NV:
1161    case GL_ATTRIB_ARRAY_TYPE_NV:
1162    case GL_CURRENT_ATTRIB_NV:
1163        return 1;
1164    default:
1165        return 0;
1166    }
1167}
1168
1169INTERNAL PURE FASTCALL GLint
1170__glGetFramebufferAttachmentParameterivEXT_size(GLenum e)
1171{
1172    switch (e) {
1173    case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT:
1174    case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT:
1175    case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT:
1176    case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT:
1177    case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT:
1178        return 1;
1179    default:
1180        return 0;
1181    }
1182}
1183
1184ALIAS(Fogiv, Fogfv)
1185    ALIAS(Lightiv, Lightfv)
1186    ALIAS(LightModeliv, LightModelfv)
1187    ALIAS(Materialiv, Materialfv)
1188    ALIAS(TexParameteriv, TexParameterfv)
1189    ALIAS(TexEnviv, TexEnvfv)
1190    ALIAS(TexGenfv, TexGendv)
1191    ALIAS(TexGeniv, TexGendv)
1192    ALIAS(Map1f, Map1d)
1193    ALIAS(Map2f, Map2d)
1194    ALIAS(GetDoublev, GetBooleanv)
1195    ALIAS(GetFloatv, GetBooleanv)
1196    ALIAS(GetIntegerv, GetBooleanv)
1197    ALIAS(GetLightfv, Lightfv)
1198    ALIAS(GetLightiv, Lightfv)
1199    ALIAS(GetMaterialfv, Materialfv)
1200    ALIAS(GetMaterialiv, Materialfv)
1201    ALIAS(GetTexEnvfv, TexEnvfv)
1202    ALIAS(GetTexEnviv, TexEnvfv)
1203    ALIAS(GetTexGendv, TexGendv)
1204    ALIAS(GetTexGenfv, TexGendv)
1205    ALIAS(GetTexGeniv, TexGendv)
1206    ALIAS(GetTexParameteriv, GetTexParameterfv)
1207    ALIAS(GetTexLevelParameteriv, GetTexLevelParameterfv)
1208    ALIAS(ColorTableParameteriv, ColorTableParameterfv)
1209    ALIAS(GetColorTableParameteriv, GetColorTableParameterfv)
1210    ALIAS(ConvolutionParameteriv, ConvolutionParameterfv)
1211    ALIAS(GetConvolutionParameteriv, GetConvolutionParameterfv)
1212    ALIAS(GetHistogramParameteriv, GetHistogramParameterfv)
1213    ALIAS(GetMinmaxParameteriv, GetMinmaxParameterfv)
1214    ALIAS(GetVertexAttribfvARB, GetVertexAttribdvARB)
1215    ALIAS(GetVertexAttribivARB, GetVertexAttribdvARB)
1216    ALIAS(GetQueryObjectuivARB, GetQueryObjectivARB)
1217    ALIAS(GetVertexAttribfvNV, GetVertexAttribdvNV)
1218    ALIAS(GetVertexAttribivNV, GetVertexAttribdvNV)
1219    ALIAS(PointParameterivNV, PointParameterfvEXT)
1220#  undef PURE
1221#  undef FASTCALL
1222#  undef INTERNAL
1223