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: return 0; 81 } 82 } 83 84 _X_INTERNAL PURE FASTCALL GLint 85 __glFogfv_size( GLenum e ) 86 { 87 switch( e ) { 88 case GL_FOG_INDEX: 89 case GL_FOG_DENSITY: 90 case GL_FOG_START: 91 case GL_FOG_END: 92 case GL_FOG_MODE: 93 case GL_FOG_OFFSET_VALUE_SGIX: 94 case GL_FOG_DISTANCE_MODE_NV: 95 return 1; 96 case GL_FOG_COLOR: 97 return 4; 98 default: return 0; 99 } 100 } 101 102 _X_INTERNAL PURE FASTCALL GLint 103 __glLightfv_size( GLenum e ) 104 { 105 switch( e ) { 106 case GL_SPOT_EXPONENT: 107 case GL_SPOT_CUTOFF: 108 case GL_CONSTANT_ATTENUATION: 109 case GL_LINEAR_ATTENUATION: 110 case GL_QUADRATIC_ATTENUATION: 111 return 1; 112 case GL_SPOT_DIRECTION: 113 return 3; 114 case GL_AMBIENT: 115 case GL_DIFFUSE: 116 case GL_SPECULAR: 117 case GL_POSITION: 118 return 4; 119 default: return 0; 120 } 121 } 122 123 _X_INTERNAL PURE FASTCALL GLint 124 __glLightModelfv_size( GLenum e ) 125 { 126 switch( e ) { 127 case GL_LIGHT_MODEL_LOCAL_VIEWER: 128 case GL_LIGHT_MODEL_TWO_SIDE: 129 case GL_LIGHT_MODEL_COLOR_CONTROL: 130 /* case GL_LIGHT_MODEL_COLOR_CONTROL_EXT:*/ 131 return 1; 132 case GL_LIGHT_MODEL_AMBIENT: 133 return 4; 134 default: return 0; 135 } 136 } 137 138 _X_INTERNAL PURE FASTCALL GLint 139 __glMaterialfv_size( GLenum e ) 140 { 141 switch( e ) { 142 case GL_SHININESS: 143 return 1; 144 case GL_COLOR_INDEXES: 145 return 3; 146 case GL_AMBIENT: 147 case GL_DIFFUSE: 148 case GL_SPECULAR: 149 case GL_EMISSION: 150 case GL_AMBIENT_AND_DIFFUSE: 151 return 4; 152 default: return 0; 153 } 154 } 155 156 _X_INTERNAL PURE FASTCALL GLint 157 __glTexParameterfv_size( GLenum e ) 158 { 159 switch( e ) { 160 case GL_TEXTURE_MAG_FILTER: 161 case GL_TEXTURE_MIN_FILTER: 162 case GL_TEXTURE_WRAP_S: 163 case GL_TEXTURE_WRAP_T: 164 case GL_TEXTURE_PRIORITY: 165 case GL_TEXTURE_WRAP_R: 166 case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB: 167 /* case GL_SHADOW_AMBIENT_SGIX:*/ 168 case GL_TEXTURE_MIN_LOD: 169 case GL_TEXTURE_MAX_LOD: 170 case GL_TEXTURE_BASE_LEVEL: 171 case GL_TEXTURE_MAX_LEVEL: 172 case GL_TEXTURE_CLIPMAP_FRAME_SGIX: 173 case GL_TEXTURE_LOD_BIAS_S_SGIX: 174 case GL_TEXTURE_LOD_BIAS_T_SGIX: 175 case GL_TEXTURE_LOD_BIAS_R_SGIX: 176 case GL_GENERATE_MIPMAP: 177 /* case GL_GENERATE_MIPMAP_SGIS:*/ 178 case GL_TEXTURE_COMPARE_SGIX: 179 case GL_TEXTURE_COMPARE_OPERATOR_SGIX: 180 case GL_TEXTURE_MAX_CLAMP_S_SGIX: 181 case GL_TEXTURE_MAX_CLAMP_T_SGIX: 182 case GL_TEXTURE_MAX_CLAMP_R_SGIX: 183 case GL_TEXTURE_MAX_ANISOTROPY_EXT: 184 case GL_TEXTURE_LOD_BIAS: 185 /* case GL_TEXTURE_LOD_BIAS_EXT:*/ 186 case GL_TEXTURE_STORAGE_HINT_APPLE: 187 case GL_STORAGE_PRIVATE_APPLE: 188 case GL_STORAGE_CACHED_APPLE: 189 case GL_STORAGE_SHARED_APPLE: 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 _X_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_BUMP_TARGET_ATI: 238 case GL_COORD_REPLACE_ARB: 239 /* case GL_COORD_REPLACE_NV:*/ 240 return 1; 241 case GL_TEXTURE_ENV_COLOR: 242 return 4; 243 default: return 0; 244 } 245 } 246 247 _X_INTERNAL PURE FASTCALL GLint 248 __glTexGendv_size( GLenum e ) 249 { 250 switch( e ) { 251 case GL_TEXTURE_GEN_MODE: 252 return 1; 253 case GL_OBJECT_PLANE: 254 case GL_EYE_PLANE: 255 return 4; 256 default: return 0; 257 } 258 } 259 260 _X_INTERNAL PURE FASTCALL GLint 261 __glMap1d_size( GLenum e ) 262 { 263 switch( e ) { 264 case GL_MAP1_INDEX: 265 case GL_MAP1_TEXTURE_COORD_1: 266 return 1; 267 case GL_MAP1_TEXTURE_COORD_2: 268 return 2; 269 case GL_MAP1_NORMAL: 270 case GL_MAP1_TEXTURE_COORD_3: 271 case GL_MAP1_VERTEX_3: 272 return 3; 273 case GL_MAP1_COLOR_4: 274 case GL_MAP1_TEXTURE_COORD_4: 275 case GL_MAP1_VERTEX_4: 276 return 4; 277 default: return 0; 278 } 279 } 280 281 _X_INTERNAL PURE FASTCALL GLint 282 __glMap2d_size( GLenum e ) 283 { 284 switch( e ) { 285 case GL_MAP2_INDEX: 286 case GL_MAP2_TEXTURE_COORD_1: 287 return 1; 288 case GL_MAP2_TEXTURE_COORD_2: 289 return 2; 290 case GL_MAP2_NORMAL: 291 case GL_MAP2_TEXTURE_COORD_3: 292 case GL_MAP2_VERTEX_3: 293 return 3; 294 case GL_MAP2_COLOR_4: 295 case GL_MAP2_TEXTURE_COORD_4: 296 case GL_MAP2_VERTEX_4: 297 return 4; 298 default: return 0; 299 } 300 } 301 302 _X_INTERNAL PURE FASTCALL GLint 303 __glColorTableParameterfv_size( GLenum e ) 304 { 305 switch( e ) { 306 case GL_COLOR_TABLE_SCALE: 307 case GL_COLOR_TABLE_BIAS: 308 return 4; 309 default: return 0; 310 } 311 } 312 313 _X_INTERNAL PURE FASTCALL GLint 314 __glConvolutionParameterfv_size( GLenum e ) 315 { 316 switch( e ) { 317 case GL_CONVOLUTION_BORDER_MODE: 318 /* case GL_CONVOLUTION_BORDER_MODE_EXT:*/ 319 return 1; 320 case GL_CONVOLUTION_FILTER_SCALE: 321 /* case GL_CONVOLUTION_FILTER_SCALE_EXT:*/ 322 case GL_CONVOLUTION_FILTER_BIAS: 323 /* case GL_CONVOLUTION_FILTER_BIAS_EXT:*/ 324 case GL_CONVOLUTION_BORDER_COLOR: 325 /* case GL_CONVOLUTION_BORDER_COLOR_HP:*/ 326 return 4; 327 default: return 0; 328 } 329 } 330 331 _X_INTERNAL PURE FASTCALL GLint 332 __glPointParameterfvEXT_size( GLenum e ) 333 { 334 switch( e ) { 335 case GL_POINT_SIZE_MIN: 336 /* case GL_POINT_SIZE_MIN_ARB:*/ 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_SGIS:*/ 341 case GL_POINT_FADE_THRESHOLD_SIZE: 342 /* case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/ 343 /* case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/ 344 case GL_POINT_SPRITE_R_MODE_NV: 345 case GL_POINT_SPRITE_COORD_ORIGIN: 346 return 1; 347 case GL_POINT_DISTANCE_ATTENUATION: 348 /* case GL_POINT_DISTANCE_ATTENUATION_ARB:*/ 349 /* case GL_POINT_DISTANCE_ATTENUATION_SGIS:*/ 350 return 3; 351 default: return 0; 352 } 353 } 354 355 ALIAS( Fogiv, Fogfv ) 356 ALIAS( Lightiv, Lightfv ) 357 ALIAS( LightModeliv, LightModelfv ) 358 ALIAS( Materialiv, Materialfv ) 359 ALIAS( TexParameteriv, TexParameterfv ) 360 ALIAS( TexEnviv, TexEnvfv ) 361 ALIAS( TexGenfv, TexGendv ) 362 ALIAS( TexGeniv, TexGendv ) 363 ALIAS( Map1f, Map1d ) 364 ALIAS( Map2f, Map2d ) 365 ALIAS( ColorTableParameteriv, ColorTableParameterfv ) 366 ALIAS( ConvolutionParameteriv, ConvolutionParameterfv ) 367 ALIAS( PointParameterivNV, PointParameterfvEXT ) 368 369 # undef PURE 370 # undef FASTCALL 371