ae6939bc12eaf56d59b230d3bb23dbf2a69d5474
[mesa.git] / src / glx / x11 / indirect_size.c
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.h"
31
32 # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
33 # define HAVE_ALIAS
34 # endif
35
36 # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
37 # define PURE __attribute__((pure))
38 # else
39 # define PURE
40 # endif
41
42 # if defined(__i386__) && defined(__GNUC__)
43 # define FASTCALL __attribute__((fastcall))
44 # else
45 # define FASTCALL
46 # endif
47
48 # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
49 # define INTERNAL __attribute__((visibility("internal")))
50 # else
51 # define INTERNAL
52 # endif
53
54
55 #ifdef HAVE_ALIAS
56 # define ALIAS2(from,to) \
57 INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
58 __attribute__ ((alias( # to )));
59 # define ALIAS(from,to) ALIAS2( from, __gl ## to ## _size )
60 #else
61 # define ALIAS(from,to) \
62 INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
63 { return __gl ## to ## _size( e ); }
64 #endif
65
66
67 INTERNAL PURE FASTCALL GLint
68 __glCallLists_size( GLenum e )
69 {
70 switch( e ) {
71 case GL_BYTE:
72 case GL_UNSIGNED_BYTE:
73 return 1;
74 case GL_SHORT:
75 case GL_UNSIGNED_SHORT:
76 case GL_2_BYTES:
77 return 2;
78 case GL_3_BYTES:
79 return 3;
80 case GL_INT:
81 case GL_UNSIGNED_INT:
82 case GL_FLOAT:
83 case GL_4_BYTES:
84 return 4;
85 default: return 0;
86 }
87 }
88
89 INTERNAL PURE FASTCALL GLint
90 __glFogfv_size( GLenum e )
91 {
92 switch( e ) {
93 case GL_FOG_INDEX:
94 case GL_FOG_DENSITY:
95 case GL_FOG_START:
96 case GL_FOG_END:
97 case GL_FOG_MODE:
98 case GL_FOG_OFFSET_VALUE_SGIX:
99 case GL_FOG_DISTANCE_MODE_NV:
100 return 1;
101 case GL_FOG_COLOR:
102 return 4;
103 default: return 0;
104 }
105 }
106
107 INTERNAL PURE FASTCALL GLint
108 __glLightfv_size( GLenum e )
109 {
110 switch( e ) {
111 case GL_SPOT_EXPONENT:
112 case GL_SPOT_CUTOFF:
113 case GL_CONSTANT_ATTENUATION:
114 case GL_LINEAR_ATTENUATION:
115 case GL_QUADRATIC_ATTENUATION:
116 return 1;
117 case GL_SPOT_DIRECTION:
118 return 3;
119 case GL_AMBIENT:
120 case GL_DIFFUSE:
121 case GL_SPECULAR:
122 case GL_POSITION:
123 return 4;
124 default: return 0;
125 }
126 }
127
128 INTERNAL PURE FASTCALL GLint
129 __glLightModelfv_size( GLenum e )
130 {
131 switch( e ) {
132 case GL_LIGHT_MODEL_LOCAL_VIEWER:
133 case GL_LIGHT_MODEL_TWO_SIDE:
134 case GL_LIGHT_MODEL_COLOR_CONTROL:
135 /* case GL_LIGHT_MODEL_COLOR_CONTROL_EXT:*/
136 return 1;
137 case GL_LIGHT_MODEL_AMBIENT:
138 return 4;
139 default: return 0;
140 }
141 }
142
143 INTERNAL PURE FASTCALL GLint
144 __glMaterialfv_size( GLenum e )
145 {
146 switch( e ) {
147 case GL_SHININESS:
148 return 1;
149 case GL_COLOR_INDEXES:
150 return 3;
151 case GL_AMBIENT:
152 case GL_DIFFUSE:
153 case GL_SPECULAR:
154 case GL_EMISSION:
155 case GL_AMBIENT_AND_DIFFUSE:
156 return 4;
157 default: return 0;
158 }
159 }
160
161 INTERNAL PURE FASTCALL GLint
162 __glTexParameterfv_size( GLenum e )
163 {
164 switch( e ) {
165 case GL_TEXTURE_MAG_FILTER:
166 case GL_TEXTURE_MIN_FILTER:
167 case GL_TEXTURE_WRAP_S:
168 case GL_TEXTURE_WRAP_T:
169 case GL_TEXTURE_PRIORITY:
170 case GL_TEXTURE_WRAP_R:
171 case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
172 /* case GL_SHADOW_AMBIENT_SGIX:*/
173 case GL_TEXTURE_MIN_LOD:
174 case GL_TEXTURE_MAX_LOD:
175 case GL_TEXTURE_BASE_LEVEL:
176 case GL_TEXTURE_MAX_LEVEL:
177 case GL_TEXTURE_CLIPMAP_FRAME_SGIX:
178 case GL_TEXTURE_LOD_BIAS_S_SGIX:
179 case GL_TEXTURE_LOD_BIAS_T_SGIX:
180 case GL_TEXTURE_LOD_BIAS_R_SGIX:
181 case GL_GENERATE_MIPMAP:
182 /* case GL_GENERATE_MIPMAP_SGIS:*/
183 case GL_TEXTURE_COMPARE_SGIX:
184 case GL_TEXTURE_COMPARE_OPERATOR_SGIX:
185 case GL_TEXTURE_MAX_CLAMP_S_SGIX:
186 case GL_TEXTURE_MAX_CLAMP_T_SGIX:
187 case GL_TEXTURE_MAX_CLAMP_R_SGIX:
188 case GL_TEXTURE_MAX_ANISOTROPY_EXT:
189 case GL_TEXTURE_LOD_BIAS:
190 /* case GL_TEXTURE_LOD_BIAS_EXT:*/
191 case GL_DEPTH_TEXTURE_MODE:
192 /* case GL_DEPTH_TEXTURE_MODE_ARB:*/
193 case GL_TEXTURE_COMPARE_MODE:
194 /* case GL_TEXTURE_COMPARE_MODE_ARB:*/
195 case GL_TEXTURE_COMPARE_FUNC:
196 /* case GL_TEXTURE_COMPARE_FUNC_ARB:*/
197 case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
198 return 1;
199 case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
200 case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
201 return 2;
202 case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
203 return 3;
204 case GL_TEXTURE_BORDER_COLOR:
205 case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
206 case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
207 return 4;
208 default: return 0;
209 }
210 }
211
212 INTERNAL PURE FASTCALL GLint
213 __glTexEnvfv_size( GLenum e )
214 {
215 switch( e ) {
216 case GL_ALPHA_SCALE:
217 case GL_TEXTURE_ENV_MODE:
218 case GL_TEXTURE_LOD_BIAS:
219 case GL_COMBINE_RGB:
220 case GL_COMBINE_ALPHA:
221 case GL_RGB_SCALE:
222 case GL_SOURCE0_RGB:
223 case GL_SOURCE1_RGB:
224 case GL_SOURCE2_RGB:
225 case GL_SOURCE3_RGB_NV:
226 case GL_SOURCE0_ALPHA:
227 case GL_SOURCE1_ALPHA:
228 case GL_SOURCE2_ALPHA:
229 case GL_SOURCE3_ALPHA_NV:
230 case GL_OPERAND0_RGB:
231 case GL_OPERAND1_RGB:
232 case GL_OPERAND2_RGB:
233 case GL_OPERAND3_RGB_NV:
234 case GL_OPERAND0_ALPHA:
235 case GL_OPERAND1_ALPHA:
236 case GL_OPERAND2_ALPHA:
237 case GL_OPERAND3_ALPHA_NV:
238 case GL_COORD_REPLACE_ARB:
239 /* case GL_COORD_REPLACE_NV:*/
240 return 1;
241 case GL_TEXTURE_ENV_COLOR:
242 return 4;
243 default: return 0;
244 }
245 }
246
247 INTERNAL PURE FASTCALL GLint
248 __glTexGendv_size( GLenum e )
249 {
250 switch( e ) {
251 case GL_TEXTURE_GEN_MODE:
252 return 1;
253 case GL_OBJECT_PLANE:
254 case GL_EYE_PLANE:
255 return 4;
256 default: return 0;
257 }
258 }
259
260 INTERNAL PURE FASTCALL GLint
261 __glMap1d_size( GLenum e )
262 {
263 switch( e ) {
264 case GL_MAP1_INDEX:
265 case GL_MAP1_TEXTURE_COORD_1:
266 return 1;
267 case GL_MAP1_TEXTURE_COORD_2:
268 return 2;
269 case GL_MAP1_NORMAL:
270 case GL_MAP1_TEXTURE_COORD_3:
271 case GL_MAP1_VERTEX_3:
272 return 3;
273 case GL_MAP1_COLOR_4:
274 case GL_MAP1_TEXTURE_COORD_4:
275 case GL_MAP1_VERTEX_4:
276 return 4;
277 default: return 0;
278 }
279 }
280
281 INTERNAL PURE FASTCALL GLint
282 __glMap2d_size( GLenum e )
283 {
284 switch( e ) {
285 case GL_MAP2_INDEX:
286 case GL_MAP2_TEXTURE_COORD_1:
287 return 1;
288 case GL_MAP2_TEXTURE_COORD_2:
289 return 2;
290 case GL_MAP2_NORMAL:
291 case GL_MAP2_TEXTURE_COORD_3:
292 case GL_MAP2_VERTEX_3:
293 return 3;
294 case GL_MAP2_COLOR_4:
295 case GL_MAP2_TEXTURE_COORD_4:
296 case GL_MAP2_VERTEX_4:
297 return 4;
298 default: return 0;
299 }
300 }
301
302 INTERNAL PURE FASTCALL GLint
303 __glColorTableParameterfv_size( GLenum e )
304 {
305 switch( e ) {
306 case GL_COLOR_TABLE_SCALE:
307 case GL_COLOR_TABLE_BIAS:
308 return 4;
309 default: return 0;
310 }
311 }
312
313 INTERNAL PURE FASTCALL GLint
314 __glConvolutionParameterfv_size( GLenum e )
315 {
316 switch( e ) {
317 case GL_CONVOLUTION_BORDER_MODE:
318 /* case GL_CONVOLUTION_BORDER_MODE_EXT:*/
319 return 1;
320 case GL_CONVOLUTION_FILTER_SCALE:
321 /* case GL_CONVOLUTION_FILTER_SCALE_EXT:*/
322 case GL_CONVOLUTION_FILTER_BIAS:
323 /* case GL_CONVOLUTION_FILTER_BIAS_EXT:*/
324 case GL_CONVOLUTION_BORDER_COLOR:
325 /* case GL_CONVOLUTION_BORDER_COLOR_HP:*/
326 return 4;
327 default: return 0;
328 }
329 }
330
331 INTERNAL PURE FASTCALL GLint
332 __glPointParameterfvEXT_size( GLenum e )
333 {
334 switch( e ) {
335 case GL_POINT_SIZE_MIN:
336 /* case GL_POINT_SIZE_MIN_ARB:*/
337 /* case GL_POINT_SIZE_MIN_EXT:*/
338 /* case GL_POINT_SIZE_MIN_SGIS:*/
339 case GL_POINT_SIZE_MAX:
340 /* case GL_POINT_SIZE_MAX_ARB:*/
341 /* case GL_POINT_SIZE_MAX_EXT:*/
342 /* case GL_POINT_SIZE_MAX_SGIS:*/
343 case GL_POINT_FADE_THRESHOLD_SIZE:
344 /* case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/
345 /* case GL_POINT_FADE_THRESHOLD_SIZE_EXT:*/
346 /* case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/
347 case GL_POINT_SPRITE_R_MODE_NV:
348 case GL_POINT_SPRITE_COORD_ORIGIN:
349 return 1;
350 case GL_POINT_DISTANCE_ATTENUATION:
351 /* case GL_POINT_DISTANCE_ATTENUATION_ARB:*/
352 /* case GL_POINT_DISTANCE_ATTENUATION_EXT:*/
353 /* case GL_POINT_DISTANCE_ATTENUATION_SGIS:*/
354 return 3;
355 default: return 0;
356 }
357 }
358
359 ALIAS( Fogiv, Fogfv )
360 ALIAS( Lightiv, Lightfv )
361 ALIAS( LightModeliv, LightModelfv )
362 ALIAS( Materialiv, Materialfv )
363 ALIAS( TexParameteriv, TexParameterfv )
364 ALIAS( TexEnviv, TexEnvfv )
365 ALIAS( TexGenfv, TexGendv )
366 ALIAS( TexGeniv, TexGendv )
367 ALIAS( Map1f, Map1d )
368 ALIAS( Map2f, Map2d )
369 ALIAS( ColorTableParameteriv, ColorTableParameterfv )
370 ALIAS( ConvolutionParameteriv, ConvolutionParameterfv )
371 ALIAS( PointParameterivNV, PointParameterfvEXT )