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