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