Fix some get / set errors with COLOR_TABLE_*. SCALE and BIAS can be
[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__ >= 95)
33 # define HAVE_ALIAS
34 # endif
35
36 # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
37 # define PURE __attribute__((pure))
38 # else
39 # define PURE
40 # endif
41
42 # if defined(__i386__) && defined(__GNUC__)
43 # define FASTCALL __attribute__((fastcall))
44 # else
45 # define FASTCALL
46 # endif
47
48 # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
49 # define INTERNAL __attribute__((visibility("internal")))
50 # else
51 # define INTERNAL
52 # endif
53
54
55 #ifdef HAVE_ALIAS
56 # define ALIAS2(from,to) \
57 INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
58 __attribute__ ((alias( # to )));
59 # define ALIAS(from,to) ALIAS2( from, __gl ## to ## _size )
60 #else
61 # define ALIAS(from,to) \
62 INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
63 { return __gl ## to ## _size( e ); }
64 #endif
65
66
67 INTERNAL PURE FASTCALL GLint
68 __glCallLists_size( GLenum e )
69 {
70 switch( e ) {
71 case GL_BYTE:
72 case GL_UNSIGNED_BYTE:
73 return 1;
74 case GL_SHORT:
75 case GL_UNSIGNED_SHORT:
76 case GL_2_BYTES:
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: 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: return 0;
104 }
105 }
106
107 INTERNAL PURE FASTCALL GLint
108 __glLightfv_size( GLenum e )
109 {
110 switch( e ) {
111 case GL_SPOT_EXPONENT:
112 case GL_SPOT_CUTOFF:
113 case GL_CONSTANT_ATTENUATION:
114 case GL_LINEAR_ATTENUATION:
115 case GL_QUADRATIC_ATTENUATION:
116 return 1;
117 case GL_SPOT_DIRECTION:
118 return 3;
119 case GL_AMBIENT:
120 case GL_DIFFUSE:
121 case GL_SPECULAR:
122 case GL_POSITION:
123 return 4;
124 default: return 0;
125 }
126 }
127
128 INTERNAL PURE FASTCALL GLint
129 __glLightModelfv_size( GLenum e )
130 {
131 switch( e ) {
132 case GL_LIGHT_MODEL_LOCAL_VIEWER:
133 case GL_LIGHT_MODEL_TWO_SIDE:
134 case GL_LIGHT_MODEL_COLOR_CONTROL:
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_EXT:*/
337 /* case GL_POINT_SIZE_MIN_SGIS:*/
338 case GL_POINT_SIZE_MAX:
339 /* case GL_POINT_SIZE_MAX_ARB:*/
340 /* case GL_POINT_SIZE_MAX_EXT:*/
341 /* case GL_POINT_SIZE_MAX_SGIS:*/
342 case GL_POINT_FADE_THRESHOLD_SIZE:
343 /* case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/
344 /* case GL_POINT_FADE_THRESHOLD_SIZE_EXT:*/
345 /* case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/
346 case GL_POINT_SPRITE_R_MODE_NV:
347 case GL_POINT_SPRITE_COORD_ORIGIN:
348 return 1;
349 case GL_POINT_DISTANCE_ATTENUATION:
350 /* case GL_POINT_DISTANCE_ATTENUATION_ARB:*/
351 /* case GL_POINT_DISTANCE_ATTENUATION_EXT:*/
352 /* case GL_POINT_DISTANCE_ATTENUATION_SGIS:*/
353 return 3;
354 default: return 0;
355 }
356 }
357
358 ALIAS( Fogiv, Fogfv )
359 ALIAS( Lightiv, Lightfv )
360 ALIAS( LightModeliv, LightModelfv )
361 ALIAS( Materialiv, Materialfv )
362 ALIAS( TexParameteriv, TexParameterfv )
363 ALIAS( TexEnviv, TexEnvfv )
364 ALIAS( TexGenfv, TexGendv )
365 ALIAS( TexGeniv, TexGendv )
366 ALIAS( Map1f, Map1d )
367 ALIAS( Map2f, Map2d )
368 ALIAS( ColorTableParameteriv, ColorTableParameterfv )
369 ALIAS( ConvolutionParameteriv, ConvolutionParameterfv )
370 ALIAS( PointParameterivNV, PointParameterfvEXT )