Browse Source

Use indirect_size.c and indirect_size.h generated by using

src/mesa/glapi/glX_proto_send.py with the '-m size_c' and '-m size_h'
options.
tags/unichrome-last-xinerama
Ian Romanick 21 years ago
parent
commit
9bba1cfc39
7 changed files with 455 additions and 407 deletions
  1. 1
    0
      src/glx/x11/Makefile
  2. 0
    350
      src/glx/x11/compsize.c
  3. 0
    30
      src/glx/x11/eval.c
  4. 357
    0
      src/glx/x11/indirect_size.c
  5. 89
    0
      src/glx/x11/indirect_size.h
  6. 5
    5
      src/glx/x11/render2.c
  7. 3
    22
      src/glx/x11/size.h

+ 1
- 0
src/glx/x11/Makefile View File

@@ -31,6 +31,7 @@ C_SOURCES = \
glxext.c \
glxextensions.c \
indirect_init.c \
indirect_size.c \
indirect_window_pos.c \
indirect_transpose_matrix.c \
pixel.c \

+ 0
- 350
src/glx/x11/compsize.c View File

@@ -35,7 +35,6 @@
*/

#include <GL/gl.h>
#include "glxclient.h"
#include "size.h"

/*
@@ -171,352 +170,3 @@ GLint __glImageSize(GLsizei width, GLsizei height, GLsizei depth,
}
return bytes_per_row * height * depth * components;
}

GLint __glFogiv_size(GLenum pname)
{
switch (pname) {
case GL_FOG_COLOR: return 4;
case GL_FOG_DENSITY: return 1;
case GL_FOG_END: return 1;
case GL_FOG_MODE: return 1;
case GL_FOG_INDEX: return 1;
case GL_FOG_START: return 1;
case GL_FOG_DISTANCE_MODE_NV: return 1;
case GL_FOG_OFFSET_VALUE_SGIX: return 1;
default:
return 0;
}
}

GLint __glFogfv_size(GLenum pname)
{
return __glFogiv_size(pname);
}

GLint __glCallLists_size(GLsizei n, GLenum type)
{
GLint size;

if (n < 0) return 0;
switch (type) {
case GL_BYTE: size = 1; break;
case GL_UNSIGNED_BYTE: size = 1; break;
case GL_SHORT: size = 2; break;
case GL_UNSIGNED_SHORT: size = 2; break;
case GL_INT: size = 4; break;
case GL_UNSIGNED_INT: size = 4; break;
case GL_FLOAT: size = 4; break;
case GL_2_BYTES: size = 2; break;
case GL_3_BYTES: size = 3; break;
case GL_4_BYTES: size = 4; break;
default:
return 0;
}
return n * size;
}

GLint __glDrawPixels_size(GLenum format, GLenum type, GLsizei w, GLsizei h)
{
return __glImageSize( w, h, 1, format, type );
}

GLint __glBitmap_size(GLsizei w, GLsizei h)
{
return __glDrawPixels_size(GL_COLOR_INDEX, GL_BITMAP, w, h);
}

GLint __glTexGendv_size(GLenum e)
{
switch (e) {
case GL_TEXTURE_GEN_MODE:
return 1;
case GL_OBJECT_PLANE:
case GL_EYE_PLANE:
return 4;
default:
return 0;
}
}

GLint __glTexGenfv_size(GLenum e)
{
return __glTexGendv_size(e);
}

GLint __glTexGeniv_size(GLenum e)
{
return __glTexGendv_size(e);
}

GLint __glTexParameterfv_size(GLenum e)
{
switch (e) {
case GL_TEXTURE_WRAP_S:
case GL_TEXTURE_WRAP_T:
case GL_TEXTURE_WRAP_R:
case GL_TEXTURE_MIN_FILTER:
case GL_TEXTURE_MAG_FILTER:
case GL_TEXTURE_PRIORITY:
case GL_TEXTURE_RESIDENT:
/* GL_SGIS_texture_lod / GL_EXT_texture_lod / GL 1.2 */
case GL_TEXTURE_MIN_LOD:
case GL_TEXTURE_MAX_LOD:
case GL_TEXTURE_BASE_LEVEL:
case GL_TEXTURE_MAX_LEVEL:

/* GL_SGIX_texture_lod_bias */
case GL_TEXTURE_LOD_BIAS_S_SGIX:
case GL_TEXTURE_LOD_BIAS_T_SGIX:
case GL_TEXTURE_LOD_BIAS_R_SGIX:

/* GL_ARB_shadow / GL 1.4 */
case GL_TEXTURE_COMPARE_MODE:
case GL_TEXTURE_COMPARE_FUNC:

/* GL_SGIS_generate_mipmap / GL 1.4 */
case GL_GENERATE_MIPMAP:

/* GL_ARB_depth_texture / GL 1.4 */
case GL_DEPTH_TEXTURE_MODE:

/* GL_EXT_texture_lod_bias / GL 1.4 */
case GL_TEXTURE_LOD_BIAS:

/* GL_SGIX_shadow_ambient / GL_ARB_shadow_ambient */
case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:

/* GL_SGIX_shadow */
case GL_TEXTURE_COMPARE_SGIX:
case GL_TEXTURE_COMPARE_OPERATOR_SGIX:

/* GL_SGIX_texture_coordinate_clamp */
case GL_TEXTURE_MAX_CLAMP_S_SGIX:
case GL_TEXTURE_MAX_CLAMP_T_SGIX:
case GL_TEXTURE_MAX_CLAMP_R_SGIX:

/* GL_EXT_texture_filter_anisotropic */
case GL_TEXTURE_MAX_ANISOTROPY_EXT:

/* GL_NV_texture_expand_normal */
case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
return 1;

/* GL_SGIX_clipmap */
case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
return 2;

/* GL_SGIX_clipmap */
case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
return 3;

case GL_TEXTURE_BORDER_COLOR:

/* GL_SGIX_texture_scale_bias */
case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
return 4;

default:
return 0;
}
}

GLint __glTexParameteriv_size(GLenum e)
{
return __glTexParameterfv_size(e);
}

GLint __glTexEnvfv_size(GLenum e)
{
switch (e) {
case GL_TEXTURE_ENV_MODE:

/* GL_ARB_texture_env_combine / GL_EXT_texture_env_combine / GL 1.3 */
case GL_COMBINE_RGB:
case GL_COMBINE_ALPHA:
case GL_SOURCE0_RGB:
case GL_SOURCE1_RGB:
case GL_SOURCE2_RGB:
case GL_SOURCE0_ALPHA:
case GL_SOURCE1_ALPHA:
case GL_SOURCE2_ALPHA:
case GL_OPERAND0_RGB:
case GL_OPERAND1_RGB:
case GL_OPERAND0_ALPHA:
case GL_OPERAND1_ALPHA:
case GL_OPERAND2_RGB:
case GL_OPERAND2_ALPHA:
case GL_RGB_SCALE:
case GL_ALPHA_SCALE:

/* GL_EXT_texture_lod_bias / GL 1.4 */
case GL_TEXTURE_LOD_BIAS:

/* GL_ARB_point_sprite / GL_NV_point_sprite */
case GL_COORD_REPLACE_ARB:

/* GL_NV_texture_env_combine4 */
case GL_SOURCE3_RGB_NV:
case GL_SOURCE3_ALPHA_NV:
case GL_OPERAND3_RGB_NV:
case GL_OPERAND3_ALPHA_NV:
return 1;

case GL_TEXTURE_ENV_COLOR:
return 4;

default:
return 0;
}
}

GLint __glTexEnviv_size(GLenum e)
{
return __glTexEnvfv_size(e);
}

GLint __glTexImage1D_size(GLenum format, GLenum type, GLsizei w)
{
return __glImageSize( w, 1, 1, format, type );
}

GLint __glTexImage2D_size(GLenum format, GLenum type, GLsizei w, GLsizei h)
{
return __glImageSize( w, h, 1, format, type );
}

GLint __glTexImage3D_size(GLenum format, GLenum type, GLsizei w, GLsizei h,
GLsizei d)
{
return __glImageSize( w, h, d, format, type );
}

GLint __glLightfv_size(GLenum pname)
{
switch (pname) {
case GL_SPOT_EXPONENT: return 1;
case GL_SPOT_CUTOFF: return 1;
case GL_AMBIENT: return 4;
case GL_DIFFUSE: return 4;
case GL_SPECULAR: return 4;
case GL_POSITION: return 4;
case GL_SPOT_DIRECTION: return 3;
case GL_CONSTANT_ATTENUATION: return 1;
case GL_LINEAR_ATTENUATION: return 1;
case GL_QUADRATIC_ATTENUATION: return 1;
default:
return 0;
}
}

GLint __glLightiv_size(GLenum pname)
{
return __glLightfv_size(pname);
}

GLint __glLightModelfv_size(GLenum pname)
{
switch (pname) {
case GL_LIGHT_MODEL_AMBIENT: return 4;
case GL_LIGHT_MODEL_LOCAL_VIEWER: return 1;
case GL_LIGHT_MODEL_TWO_SIDE: return 1;
case GL_LIGHT_MODEL_COLOR_CONTROL: return 1;
default:
return 0;
}
}

GLint __glLightModeliv_size(GLenum pname)
{
return __glLightModelfv_size(pname);
}

GLint __glMaterialfv_size(GLenum pname)
{
switch (pname) {
case GL_SHININESS: return 1;
case GL_EMISSION: return 4;
case GL_AMBIENT: return 4;
case GL_DIFFUSE: return 4;
case GL_SPECULAR: return 4;
case GL_AMBIENT_AND_DIFFUSE: return 4;
case GL_COLOR_INDEXES: return 3;
default:
return 0;
}
}

GLint __glMaterialiv_size(GLenum pname)
{
return __glMaterialfv_size(pname);
}

GLint __glColorTableParameterfv_size(GLenum pname)
{
switch (pname) {
case GL_COLOR_TABLE_FORMAT:
case GL_COLOR_TABLE_WIDTH:
case GL_COLOR_TABLE_RED_SIZE:
case GL_COLOR_TABLE_GREEN_SIZE:
case GL_COLOR_TABLE_BLUE_SIZE:
case GL_COLOR_TABLE_ALPHA_SIZE:
case GL_COLOR_TABLE_LUMINANCE_SIZE:
case GL_COLOR_TABLE_INTENSITY_SIZE:
return 1;
case GL_COLOR_TABLE_SCALE:
case GL_COLOR_TABLE_BIAS:
return 4;
default:
return -1;
}
}

GLint __glColorTableParameteriv_size(GLenum pname)
{
return __glColorTableParameterfv_size(pname);
}

GLint __glConvolutionParameterfv_size(GLenum pname)
{
switch(pname) {
case GL_CONVOLUTION_BORDER_MODE:
return 1;
case GL_CONVOLUTION_BORDER_COLOR:
case GL_CONVOLUTION_FILTER_SCALE:
case GL_CONVOLUTION_FILTER_BIAS:
return 4;
default: /* error: bad enum value */
return -1;
}
}

GLint __glConvolutionParameteriv_size(GLenum pname)
{
return __glConvolutionParameterfv_size(pname);
}

GLint __glPointParameterfvEXT_size(GLenum e)
{
switch (e) {
case GL_POINT_SIZE_MIN:
case GL_POINT_SIZE_MAX:
case GL_POINT_FADE_THRESHOLD_SIZE:

/* GL_NV_point_sprite */
case GL_POINT_SPRITE_R_MODE_NV:
return 1;

case GL_POINT_DISTANCE_ATTENUATION:
return 3;

default:
return -1;
}
}

GLint __glPointParameterivNV_size(GLenum e)
{
return __glPointParameterfvEXT_size(e);
}

+ 0
- 30
src/glx/x11/eval.c View File

@@ -130,33 +130,3 @@ void __glFillMap2d(GLint k, GLint majorOrder, GLint minorOrder,
points += majorStride - minorStride * minorOrder;
}
}

GLint __glEvalComputeK(GLenum target)
{
switch(target) {
case GL_MAP1_VERTEX_4:
case GL_MAP1_COLOR_4:
case GL_MAP1_TEXTURE_COORD_4:
case GL_MAP2_VERTEX_4:
case GL_MAP2_COLOR_4:
case GL_MAP2_TEXTURE_COORD_4:
return 4;
case GL_MAP1_VERTEX_3:
case GL_MAP1_TEXTURE_COORD_3:
case GL_MAP1_NORMAL:
case GL_MAP2_VERTEX_3:
case GL_MAP2_TEXTURE_COORD_3:
case GL_MAP2_NORMAL:
return 3;
case GL_MAP1_TEXTURE_COORD_2:
case GL_MAP2_TEXTURE_COORD_2:
return 2;
case GL_MAP1_TEXTURE_COORD_1:
case GL_MAP2_TEXTURE_COORD_1:
case GL_MAP1_INDEX:
case GL_MAP2_INDEX:
return 1;
default:
return 0;
}
}

+ 357
- 0
src/glx/x11/indirect_size.c View File

@@ -0,0 +1,357 @@
/* DO NOT EDIT - This file generated automatically by glX_proto_send.py (from Mesa) script */

/*
* (C) Copyright IBM Corporation 2004
* All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sub license,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* IBM,
* AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/


#include <GL/gl.h>
#include "indirect_size.h"

# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
# define PURE __attribute__((pure))
# else
# define PURE
# endif

# if defined(__i386__) && defined(__GNUC__)
# define FASTCALL __attribute__((fastcall))
# else
# define FASTCALL
# endif

# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
# define INTERNAL __attribute__((visibility("internal")))
# else
# define INTERNAL
# endif


#ifdef HAVE_ALIAS
# define ALIAS2(from,to) \
INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
__attribute__ ((alias( # to )));
# define ALIAS(from,to) ALIAS2( from, __gl ## to ## _size )
#else
# define ALIAS(from,to) \
INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
{ return __gl ## to ## _size( e ); }
#endif


INTERNAL PURE FASTCALL GLint
__glCallLists_size( GLenum e )
{
switch( e ) {
case GL_BYTE:
case GL_UNSIGNED_BYTE:
return 1;
case GL_SHORT:
case GL_UNSIGNED_SHORT:
case GL_2_BYTES:
return 2;
case GL_3_BYTES:
return 3;
case GL_INT:
case GL_UNSIGNED_INT:
case GL_FLOAT:
case GL_4_BYTES:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glFogfv_size( GLenum e )
{
switch( e ) {
case GL_FOG_INDEX:
case GL_FOG_DENSITY:
case GL_FOG_START:
case GL_FOG_END:
case GL_FOG_MODE:
case GL_FOG_OFFSET_VALUE_SGIX:
case GL_FOG_DISTANCE_MODE_NV:
return 1;
case GL_FOG_COLOR:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glLightfv_size( GLenum e )
{
switch( e ) {
case GL_SPOT_EXPONENT:
case GL_SPOT_CUTOFF:
case GL_CONSTANT_ATTENUATION:
case GL_LINEAR_ATTENUATION:
case GL_QUADRATIC_ATTENUATION:
return 1;
case GL_SPOT_DIRECTION:
return 3;
case GL_AMBIENT:
case GL_DIFFUSE:
case GL_SPECULAR:
case GL_POSITION:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glLightModelfv_size( GLenum e )
{
switch( e ) {
case GL_LIGHT_MODEL_LOCAL_VIEWER:
case GL_LIGHT_MODEL_TWO_SIDE:
case GL_LIGHT_MODEL_COLOR_CONTROL:
return 1;
case GL_LIGHT_MODEL_AMBIENT:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glMaterialfv_size( GLenum e )
{
switch( e ) {
case GL_SHININESS:
return 1;
case GL_COLOR_INDEXES:
return 3;
case GL_AMBIENT:
case GL_DIFFUSE:
case GL_SPECULAR:
case GL_EMISSION:
case GL_AMBIENT_AND_DIFFUSE:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glTexParameterfv_size( GLenum e )
{
switch( e ) {
case GL_TEXTURE_MAG_FILTER:
case GL_TEXTURE_MIN_FILTER:
case GL_TEXTURE_WRAP_S:
case GL_TEXTURE_WRAP_T:
case GL_TEXTURE_PRIORITY:
case GL_TEXTURE_RESIDENT:
case GL_TEXTURE_WRAP_R:
case GL_TEXTURE_MIN_LOD:
case GL_TEXTURE_MAX_LOD:
case GL_TEXTURE_BASE_LEVEL:
case GL_TEXTURE_MAX_LEVEL:
case GL_GENERATE_MIPMAP:
/* case GL_GENERATE_MIPMAP_SGIS:*/
case GL_TEXTURE_LOD_BIAS:
case GL_DEPTH_TEXTURE_MODE:
/* case GL_DEPTH_TEXTURE_MODE_ARB:*/
case GL_TEXTURE_COMPARE_MODE:
/* case GL_TEXTURE_COMPARE_MODE_ARB:*/
case GL_TEXTURE_COMPARE_FUNC:
/* case GL_TEXTURE_COMPARE_FUNC_ARB:*/
case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
/* case GL_SHADOW_AMBIENT_SGIX:*/
case GL_TEXTURE_COMPARE_SGIX:
case GL_TEXTURE_COMPARE_OPERATOR_SGIX:
case GL_TEXTURE_LOD_BIAS_S_SGIX:
case GL_TEXTURE_LOD_BIAS_T_SGIX:
case GL_TEXTURE_LOD_BIAS_R_SGIX:
case GL_TEXTURE_MAX_ANISOTROPY_EXT:
case GL_TEXTURE_MAX_CLAMP_S_SGIX:
case GL_TEXTURE_MAX_CLAMP_T_SGIX:
case GL_TEXTURE_MAX_CLAMP_R_SGIX:
case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
return 1;
case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
return 2;
case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
return 3;
case GL_TEXTURE_BORDER_COLOR:
case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glTexEnvfv_size( GLenum e )
{
switch( e ) {
case GL_ALPHA_SCALE:
case GL_TEXTURE_ENV_MODE:
case GL_COMBINE_RGB:
case GL_COMBINE_ALPHA:
case GL_SOURCE0_RGB:
case GL_SOURCE1_RGB:
case GL_SOURCE2_RGB:
case GL_SOURCE0_ALPHA:
case GL_SOURCE1_ALPHA:
case GL_SOURCE2_ALPHA:
case GL_OPERAND0_RGB:
case GL_OPERAND1_RGB:
case GL_OPERAND2_RGB:
case GL_OPERAND0_ALPHA:
case GL_OPERAND1_ALPHA:
case GL_OPERAND2_ALPHA:
case GL_RGB_SCALE:
case GL_TEXTURE_LOD_BIAS:
case GL_COORD_REPLACE_ARB:
case GL_SOURCE3_RGB_NV:
case GL_SOURCE3_ALPHA_NV:
case GL_OPERAND3_RGB_NV:
case GL_OPERAND3_ALPHA_NV:
return 1;
case GL_TEXTURE_ENV_COLOR:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glTexGendv_size( GLenum e )
{
switch( e ) {
case GL_TEXTURE_GEN_MODE:
return 1;
case GL_OBJECT_PLANE:
case GL_EYE_PLANE:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glMap1d_size( GLenum e )
{
switch( e ) {
case GL_MAP1_INDEX:
case GL_MAP1_TEXTURE_COORD_1:
case GL_MAP2_INDEX:
case GL_MAP2_TEXTURE_COORD_1:
return 1;
case GL_MAP1_TEXTURE_COORD_2:
case GL_MAP2_TEXTURE_COORD_2:
return 2;
case GL_MAP1_NORMAL:
case GL_MAP1_TEXTURE_COORD_3:
case GL_MAP1_VERTEX_3:
case GL_MAP2_NORMAL:
case GL_MAP2_TEXTURE_COORD_3:
case GL_MAP2_VERTEX_3:
return 3;
case GL_MAP1_COLOR_4:
case GL_MAP1_TEXTURE_COORD_4:
case GL_MAP1_VERTEX_4:
case GL_MAP2_COLOR_4:
case GL_MAP2_TEXTURE_COORD_4:
case GL_MAP2_VERTEX_4:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glColorTableParameterfv_size( GLenum e )
{
switch( e ) {
case GL_COLOR_TABLE_FORMAT:
case GL_COLOR_TABLE_WIDTH:
case GL_COLOR_TABLE_RED_SIZE:
case GL_COLOR_TABLE_GREEN_SIZE:
case GL_COLOR_TABLE_BLUE_SIZE:
case GL_COLOR_TABLE_ALPHA_SIZE:
case GL_COLOR_TABLE_LUMINANCE_SIZE:
case GL_COLOR_TABLE_INTENSITY_SIZE:
return 1;
case GL_COLOR_TABLE_SCALE:
case GL_COLOR_TABLE_BIAS:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glConvolutionParameterfv_size( GLenum e )
{
switch( e ) {
case GL_CONVOLUTION_BORDER_MODE_EXT:
return 1;
case GL_CONVOLUTION_BORDER_COLOR_HP:
case GL_CONVOLUTION_FILTER_SCALE_EXT:
case GL_CONVOLUTION_FILTER_BIAS_EXT:
return 4;
default: return 0;
}
}

INTERNAL PURE FASTCALL GLint
__glPointParameterfvEXT_size( GLenum e )
{
switch( e ) {
case GL_POINT_SIZE_MIN:
/* case GL_POINT_SIZE_MIN_ARB:*/
/* case GL_POINT_SIZE_MIN_EXT:*/
/* case GL_POINT_SIZE_MIN_SGIS:*/
case GL_POINT_SIZE_MAX:
/* case GL_POINT_SIZE_MAX_ARB:*/
/* case GL_POINT_SIZE_MAX_EXT:*/
/* case GL_POINT_SIZE_MAX_SGIS:*/
case GL_POINT_FADE_THRESHOLD_SIZE:
/* case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/
/* case GL_POINT_FADE_THRESHOLD_SIZE_EXT:*/
/* case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/
case GL_POINT_SPRITE_R_MODE_NV:
return 1;
case GL_POINT_DISTANCE_ATTENUATION:
/* case GL_POINT_DISTANCE_ATTENUATION_ARB:*/
/* case GL_POINT_DISTANCE_ATTENUATION_EXT:*/
/* case GL_POINT_DISTANCE_ATTENUATION_SGIS:*/
return 3;
default: return 0;
}
}

ALIAS( Fogiv, Fogfv )
ALIAS( Lightiv, Lightfv )
ALIAS( LightModeliv, LightModelfv )
ALIAS( Materialiv, Materialfv )
ALIAS( TexParameteriv, TexParameterfv )
ALIAS( TexEnviv, TexEnvfv )
ALIAS( TexGenfv, TexGendv )
ALIAS( TexGeniv, TexGendv )
ALIAS( Map1f, Map1d )
ALIAS( Map2d, Map1d )
ALIAS( Map2f, Map1d )
ALIAS( ColorTableParameteriv, ColorTableParameterfv )
ALIAS( ConvolutionParameteriv, ConvolutionParameterfv )
ALIAS( PointParameterivNV, PointParameterfvEXT )

+ 89
- 0
src/glx/x11/indirect_size.h View File

@@ -0,0 +1,89 @@
/* DO NOT EDIT - This file generated automatically by glX_proto_send.py (from Mesa) script */

/*
* (C) Copyright IBM Corporation 2004
* All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sub license,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* IBM,
* AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/


/**
* \file
* Prototypes for functions used to determine the number of data elements in
* various GLX protocol messages.
*
* \author Ian Romanick <idr@us.ibm.com>
*/

#if !defined( _GLXSIZE_H_ )
# define _GLXSIZE_H_


# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
# define PURE __attribute__((pure))
# else
# define PURE
# endif

# if defined(__i386__) && defined(__GNUC__)
# define FASTCALL __attribute__((fastcall))
# else
# define FASTCALL
# endif

# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
# define INTERNAL __attribute__((visibility("internal")))
# else
# define INTERNAL
# endif

extern INTERNAL PURE FASTCALL GLint __glCallLists_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glFogfv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glFogiv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glLightfv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glLightiv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glLightModelfv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glLightModeliv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glMaterialfv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glMaterialiv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glTexParameterfv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glTexParameteriv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glTexEnvfv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glTexEnviv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glTexGendv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glTexGenfv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glTexGeniv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glMap1d_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glMap1f_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glMap2d_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glMap2f_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glColorTableParameterfv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glColorTableParameteriv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glConvolutionParameterfv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glConvolutionParameteriv_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glPointParameterfvEXT_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glPointParameterivNV_size(GLenum);

# undef INTERNAL
# undef PURE
# undef FASTCALL
#endif /* !defined( _GLXSIZE_H_ ) */

+ 5
- 5
src/glx/x11/render2.c View File

@@ -49,7 +49,7 @@ void __indirect_glCallLists(GLsizei n, GLenum type, const GLvoid *lists)
__GLX_DECLARE_VARIABLES();
__GLX_LOAD_VARIABLES();

compsize = __glCallLists_size(n,type);
compsize = (n <= 0) ? 0 : __glCallLists_size(type) * n;
cmdlen = __GLX_PAD(12 + compsize);
if (!gc->currentDpy) return;

@@ -76,7 +76,7 @@ void __indirect_glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride,
GLint k;

__GLX_LOAD_VARIABLES();
k = __glEvalComputeK(target);
k = __glMap1d_size(target);
if (k == 0) {
__glXSetError(gc, GL_INVALID_ENUM);
return;
@@ -138,7 +138,7 @@ void __indirect_glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride,
GLint k;

__GLX_LOAD_VARIABLES();
k = __glEvalComputeK(target);
k = __glMap1f_size(target);
if (k == 0) {
__glXSetError(gc, GL_INVALID_ENUM);
return;
@@ -197,7 +197,7 @@ void __indirect_glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustr, GLi
GLint k;

__GLX_LOAD_VARIABLES();
k = __glEvalComputeK(target);
k = __glMap2d_size(target);
if (k == 0) {
__glXSetError(gc, GL_INVALID_ENUM);
return;
@@ -270,7 +270,7 @@ void __indirect_glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustr, GLint
GLint k;

__GLX_LOAD_VARIABLES();
k = __glEvalComputeK(target);
k = __glMap2f_size(target);
if (k == 0) {
__glXSetError(gc, GL_INVALID_ENUM);
return;

+ 3
- 22
src/glx/x11/size.h View File

@@ -41,32 +41,13 @@
** These are _size functions that are needed to pack the arguments
** into the protocol
*/

#include "indirect_size.h"

extern GLint __glBitmap_size(GLsizei w, GLsizei h);
extern GLint __glCallLists_size(GLsizei n, GLenum type);
extern GLint __glColorTableParameterfv_size(GLenum pname);
extern GLint __glColorTableParameteriv_size(GLenum pname);
extern GLint __glConvolutionParameterfv_size(GLenum pname);
extern GLint __glConvolutionParameteriv_size(GLenum pname);
extern GLint __glDrawPixels_size(GLenum format, GLenum type, GLsizei w,GLsizei h);
extern GLint __glFogfv_size(GLenum pname);
extern GLint __glFogiv_size(GLenum pname);
extern GLint __glLightModelfv_size(GLenum pname);
extern GLint __glLightModeliv_size(GLenum pname);
extern GLint __glLightfv_size(GLenum pname);
extern GLint __glLightiv_size(GLenum pname);
extern GLint __glMaterialfv_size(GLenum pname);
extern GLint __glMaterialiv_size(GLenum pname);
extern GLint __glTexEnvfv_size(GLenum e);
extern GLint __glTexEnviv_size(GLenum e);
extern GLint __glTexGendv_size(GLenum e);
extern GLint __glTexGenfv_size(GLenum e);
extern GLint __glTexGeniv_size(GLenum pname);
extern GLint __glTexImage1D_size(GLenum format, GLenum type, GLsizei w);
extern GLint __glTexImage2D_size(GLenum format, GLenum type, GLsizei w, GLsizei h);
extern GLint __glTexImage3D_size(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d);
extern GLint __glTexParameterfv_size(GLenum e);
extern GLint __glTexParameteriv_size(GLenum e);
extern GLint __glPointParameterfvEXT_size(GLenum e);
extern GLint __glPointParameterivNV_size(GLenum e);

#endif /* _size_h_ */

Loading…
Cancel
Save