indirect_size.c revision 848b8605
1/* 2 * DO NOT EDIT - This file generated automatically by glX_proto_size.py (from 3 * Mesa) script 4 */ 5 6/* 7 * (C) Copyright IBM Corporation 2004 8 * All Rights Reserved. 9 * 10 * Permission is hereby granted, free of charge, to any person obtaining a 11 * copy of this software and associated documentation files (the "Software"), 12 * to deal in the Software without restriction, including without limitation 13 * the rights to use, copy, modify, merge, publish, distribute, sub license, 14 * and/or sell copies of the Software, and to permit persons to whom the 15 * Software is furnished to do so, subject to the following conditions: 16 * 17 * The above copyright notice and this permission notice (including the next 18 * paragraph) shall be included in all copies or substantial portions of the 19 * Software. 20 * 21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 24 * IBM, 25 * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 26 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 27 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 28 * SOFTWARE. 29 */ 30 31 32#include <X11/Xfuncproto.h> 33#include <GL/gl.h> 34#include "indirect_size.h" 35 36#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) 37#define PURE __attribute__((pure)) 38#else 39#define PURE 40#endif 41 42#if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__) 43#define FASTCALL __attribute__((fastcall)) 44#else 45#define FASTCALL 46#endif 47 48 49#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(GLX_USE_APPLEGL) 50#undef HAVE_ALIAS 51#endif 52#ifdef HAVE_ALIAS 53#define ALIAS2(from,to) \ 54 _X_INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \ 55 __attribute__ ((alias( # to ))); 56#define ALIAS(from,to) ALIAS2( from, __gl ## to ## _size ) 57#else 58#define ALIAS(from,to) \ 59 _X_INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \ 60 { return __gl ## to ## _size( e ); } 61#endif 62 63 64_X_INTERNAL PURE FASTCALL GLint 65__glCallLists_size(GLenum e) 66{ 67 switch (e) { 68 case GL_BYTE: 69 case GL_UNSIGNED_BYTE: 70 return 1; 71 case GL_SHORT: 72 case GL_UNSIGNED_SHORT: 73 case GL_2_BYTES: 74 case GL_HALF_FLOAT: 75 return 2; 76 case GL_3_BYTES: 77 return 3; 78 case GL_INT: 79 case GL_UNSIGNED_INT: 80 case GL_FLOAT: 81 case GL_4_BYTES: 82 return 4; 83 default: 84 return 0; 85 } 86} 87 88_X_INTERNAL PURE FASTCALL GLint 89__glFogfv_size(GLenum e) 90{ 91 switch (e) { 92 case GL_FOG_INDEX: 93 case GL_FOG_DENSITY: 94 case GL_FOG_START: 95 case GL_FOG_END: 96 case GL_FOG_MODE: 97 case GL_FOG_OFFSET_VALUE_SGIX: 98 case GL_FOG_DISTANCE_MODE_NV: 99 return 1; 100 case GL_FOG_COLOR: 101 return 4; 102 default: 103 return 0; 104 } 105} 106 107_X_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: 125 return 0; 126 } 127} 128 129_X_INTERNAL PURE FASTCALL GLint 130__glLightModelfv_size(GLenum e) 131{ 132 switch (e) { 133 case GL_LIGHT_MODEL_LOCAL_VIEWER: 134 case GL_LIGHT_MODEL_TWO_SIDE: 135 case GL_LIGHT_MODEL_COLOR_CONTROL: 136 /* case GL_LIGHT_MODEL_COLOR_CONTROL_EXT: */ 137 return 1; 138 case GL_LIGHT_MODEL_AMBIENT: 139 return 4; 140 default: 141 return 0; 142 } 143} 144 145_X_INTERNAL PURE FASTCALL GLint 146__glMaterialfv_size(GLenum e) 147{ 148 switch (e) { 149 case GL_SHININESS: 150 return 1; 151 case GL_COLOR_INDEXES: 152 return 3; 153 case GL_AMBIENT: 154 case GL_DIFFUSE: 155 case GL_SPECULAR: 156 case GL_EMISSION: 157 case GL_AMBIENT_AND_DIFFUSE: 158 return 4; 159 default: 160 return 0; 161 } 162} 163 164_X_INTERNAL PURE FASTCALL GLint 165__glTexParameterfv_size(GLenum e) 166{ 167 switch (e) { 168 case GL_TEXTURE_MAG_FILTER: 169 case GL_TEXTURE_MIN_FILTER: 170 case GL_TEXTURE_WRAP_S: 171 case GL_TEXTURE_WRAP_T: 172 case GL_TEXTURE_PRIORITY: 173 case GL_TEXTURE_WRAP_R: 174 case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB: 175 /* case GL_SHADOW_AMBIENT_SGIX: */ 176 case GL_TEXTURE_MIN_LOD: 177 case GL_TEXTURE_MAX_LOD: 178 case GL_TEXTURE_BASE_LEVEL: 179 case GL_TEXTURE_MAX_LEVEL: 180 case GL_TEXTURE_CLIPMAP_FRAME_SGIX: 181 case GL_TEXTURE_LOD_BIAS_S_SGIX: 182 case GL_TEXTURE_LOD_BIAS_T_SGIX: 183 case GL_TEXTURE_LOD_BIAS_R_SGIX: 184 case GL_GENERATE_MIPMAP: 185 /* case GL_GENERATE_MIPMAP_SGIS: */ 186 case GL_TEXTURE_COMPARE_SGIX: 187 case GL_TEXTURE_COMPARE_OPERATOR_SGIX: 188 case GL_TEXTURE_MAX_CLAMP_S_SGIX: 189 case GL_TEXTURE_MAX_CLAMP_T_SGIX: 190 case GL_TEXTURE_MAX_CLAMP_R_SGIX: 191 case GL_TEXTURE_MAX_ANISOTROPY_EXT: 192 case GL_TEXTURE_LOD_BIAS: 193 /* case GL_TEXTURE_LOD_BIAS_EXT: */ 194 case GL_TEXTURE_STORAGE_HINT_APPLE: 195 case GL_STORAGE_PRIVATE_APPLE: 196 case GL_STORAGE_CACHED_APPLE: 197 case GL_STORAGE_SHARED_APPLE: 198 case GL_DEPTH_TEXTURE_MODE: 199 /* case GL_DEPTH_TEXTURE_MODE_ARB: */ 200 case GL_TEXTURE_COMPARE_MODE: 201 /* case GL_TEXTURE_COMPARE_MODE_ARB: */ 202 case GL_TEXTURE_COMPARE_FUNC: 203 /* case GL_TEXTURE_COMPARE_FUNC_ARB: */ 204 case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV: 205 return 1; 206 case GL_TEXTURE_CLIPMAP_CENTER_SGIX: 207 case GL_TEXTURE_CLIPMAP_OFFSET_SGIX: 208 return 2; 209 case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX: 210 return 3; 211 case GL_TEXTURE_BORDER_COLOR: 212 case GL_POST_TEXTURE_FILTER_BIAS_SGIX: 213 case GL_POST_TEXTURE_FILTER_SCALE_SGIX: 214 return 4; 215 default: 216 return 0; 217 } 218} 219 220_X_INTERNAL PURE FASTCALL GLint 221__glTexEnvfv_size(GLenum e) 222{ 223 switch (e) { 224 case GL_ALPHA_SCALE: 225 case GL_TEXTURE_ENV_MODE: 226 case GL_TEXTURE_LOD_BIAS: 227 case GL_COMBINE_RGB: 228 case GL_COMBINE_ALPHA: 229 case GL_RGB_SCALE: 230 case GL_SOURCE0_RGB: 231 case GL_SOURCE1_RGB: 232 case GL_SOURCE2_RGB: 233 case GL_SOURCE3_RGB_NV: 234 case GL_SOURCE0_ALPHA: 235 case GL_SOURCE1_ALPHA: 236 case GL_SOURCE2_ALPHA: 237 case GL_SOURCE3_ALPHA_NV: 238 case GL_OPERAND0_RGB: 239 case GL_OPERAND1_RGB: 240 case GL_OPERAND2_RGB: 241 case GL_OPERAND3_RGB_NV: 242 case GL_OPERAND0_ALPHA: 243 case GL_OPERAND1_ALPHA: 244 case GL_OPERAND2_ALPHA: 245 case GL_OPERAND3_ALPHA_NV: 246 case GL_BUMP_TARGET_ATI: 247 case GL_COORD_REPLACE_ARB: 248 /* case GL_COORD_REPLACE_NV: */ 249 return 1; 250 case GL_TEXTURE_ENV_COLOR: 251 return 4; 252 default: 253 return 0; 254 } 255} 256 257_X_INTERNAL PURE FASTCALL GLint 258__glTexGendv_size(GLenum e) 259{ 260 switch (e) { 261 case GL_TEXTURE_GEN_MODE: 262 return 1; 263 case GL_OBJECT_PLANE: 264 case GL_EYE_PLANE: 265 return 4; 266 default: 267 return 0; 268 } 269} 270 271_X_INTERNAL PURE FASTCALL GLint 272__glMap1d_size(GLenum e) 273{ 274 switch (e) { 275 case GL_MAP1_INDEX: 276 case GL_MAP1_TEXTURE_COORD_1: 277 return 1; 278 case GL_MAP1_TEXTURE_COORD_2: 279 return 2; 280 case GL_MAP1_NORMAL: 281 case GL_MAP1_TEXTURE_COORD_3: 282 case GL_MAP1_VERTEX_3: 283 return 3; 284 case GL_MAP1_COLOR_4: 285 case GL_MAP1_TEXTURE_COORD_4: 286 case GL_MAP1_VERTEX_4: 287 return 4; 288 default: 289 return 0; 290 } 291} 292 293_X_INTERNAL PURE FASTCALL GLint 294__glMap2d_size(GLenum e) 295{ 296 switch (e) { 297 case GL_MAP2_INDEX: 298 case GL_MAP2_TEXTURE_COORD_1: 299 return 1; 300 case GL_MAP2_TEXTURE_COORD_2: 301 return 2; 302 case GL_MAP2_NORMAL: 303 case GL_MAP2_TEXTURE_COORD_3: 304 case GL_MAP2_VERTEX_3: 305 return 3; 306 case GL_MAP2_COLOR_4: 307 case GL_MAP2_TEXTURE_COORD_4: 308 case GL_MAP2_VERTEX_4: 309 return 4; 310 default: 311 return 0; 312 } 313} 314 315_X_INTERNAL PURE FASTCALL GLint 316__glColorTableParameterfv_size(GLenum e) 317{ 318 switch (e) { 319 case GL_COLOR_TABLE_SCALE: 320 case GL_COLOR_TABLE_BIAS: 321 return 4; 322 default: 323 return 0; 324 } 325} 326 327_X_INTERNAL PURE FASTCALL GLint 328__glConvolutionParameterfv_size(GLenum e) 329{ 330 switch (e) { 331 case GL_CONVOLUTION_BORDER_MODE: 332 /* case GL_CONVOLUTION_BORDER_MODE_EXT: */ 333 return 1; 334 case GL_CONVOLUTION_FILTER_SCALE: 335 /* case GL_CONVOLUTION_FILTER_SCALE_EXT: */ 336 case GL_CONVOLUTION_FILTER_BIAS: 337 /* case GL_CONVOLUTION_FILTER_BIAS_EXT: */ 338 case GL_CONVOLUTION_BORDER_COLOR: 339 /* case GL_CONVOLUTION_BORDER_COLOR_HP: */ 340 return 4; 341 default: 342 return 0; 343 } 344} 345 346_X_INTERNAL PURE FASTCALL GLint 347__glPointParameterfv_size(GLenum e) 348{ 349 switch (e) { 350 case GL_POINT_SIZE_MIN: 351 /* case GL_POINT_SIZE_MIN_ARB: */ 352 /* case GL_POINT_SIZE_MIN_SGIS: */ 353 case GL_POINT_SIZE_MAX: 354 /* case GL_POINT_SIZE_MAX_ARB: */ 355 /* case GL_POINT_SIZE_MAX_SGIS: */ 356 case GL_POINT_FADE_THRESHOLD_SIZE: 357 /* case GL_POINT_FADE_THRESHOLD_SIZE_ARB: */ 358 /* case GL_POINT_FADE_THRESHOLD_SIZE_SGIS: */ 359 case GL_POINT_SPRITE_R_MODE_NV: 360 case GL_POINT_SPRITE_COORD_ORIGIN: 361 return 1; 362 case GL_POINT_DISTANCE_ATTENUATION: 363 /* case GL_POINT_DISTANCE_ATTENUATION_ARB: */ 364 /* case GL_POINT_DISTANCE_ATTENUATION_SGIS: */ 365 return 3; 366 default: 367 return 0; 368 } 369} 370 371ALIAS(Fogiv, Fogfv) 372ALIAS(Lightiv, Lightfv) 373ALIAS(LightModeliv, LightModelfv) 374ALIAS(Materialiv, Materialfv) 375ALIAS(TexParameteriv, TexParameterfv) 376ALIAS(TexEnviv, TexEnvfv) 377ALIAS(TexGenfv, TexGendv) 378ALIAS(TexGeniv, TexGendv) 379ALIAS(Map1f, Map1d) 380ALIAS(Map2f, Map2d) 381ALIAS(ColorTableParameteriv, ColorTableParameterfv) 382ALIAS(ConvolutionParameteriv, ConvolutionParameterfv) 383ALIAS(PointParameteriv, PointParameterfv) 384#undef PURE 385#undef FASTCALL 386