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