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