137e69cb044a89b12a0998e8e0ba5936c6ef65a8
[mesa.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(__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