. Updates to get X86, MXX and 3DNow assembler code working with Watcom

C++ and NASM. This includes lots of _ASMAPI macros to ensure that
   assembler functions are prototyped as __cdecl, as Watcom C++ uses
   register calling conventions by default.
 . Misc fixes to files to remove warnings generated by Watcom C++.
This commit is contained in:
Kendall Bennett
1999-11-12 04:56:54 +00:00
parent b95d252c34
commit e312cf26ea
23 changed files with 106 additions and 111 deletions

View File

@@ -248,4 +248,3 @@ void AlphaBlendTableHAL( PMESAD3DHAL pHAL )
} }
} }


View File

@@ -66,4 +66,3 @@ extern char *errorMsg;
#endif #endif


View File

@@ -82,4 +82,3 @@ extern D3DTLVERTEX D3DTLVertices[(VB_MAX*6)];
#endif #endif


View File

@@ -211,4 +211,3 @@ extern "C" void SetStateHAL( PMESAD3DSHARED pShared, DWORD dwType, DWORD dwState


View File

@@ -574,4 +574,3 @@ static int ConvertCharacter( char *c, int cIndex, PD3DFONTMETRICS pfntMetrics )
#undef BRIGHT #undef BRIGHT
#undef RIGHT #undef RIGHT
#undef ALL #undef ALL


View File

@@ -945,4 +945,3 @@ HRESULT CALLBACK EnumPFHook( LPDDPIXELFORMAT lpDDPixFmt, LPVOID lpContext )
} }


View File

@@ -60,4 +60,3 @@ void APIENTRY TermTMD3D( void *pVoid );
/*========================================================================*/ /*========================================================================*/
#endif #endif


View File

@@ -636,4 +636,3 @@ char *ErrorStringD3D( HRESULT hr )
return &errorString[0]; return &errorString[0];
} }


View File

@@ -2147,4 +2147,3 @@ static void DebugRenderStates( GLcontext *ctx, BOOL bForce )
} }
} }
} }


View File

@@ -397,4 +397,3 @@ void RPixelsRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y
/* Giver back. */ /* Giver back. */
UnlockHAL( pContext->pShared, TRUE ); UnlockHAL( pContext->pShared, TRUE );
} }


View File

@@ -141,4 +141,3 @@ void DebugPixelFormat( char *pszSurfaceName, DDPIXELFORMAT *pddpf )


View File

@@ -88,4 +88,3 @@ extern DWORD g_DBGMask;


View File

@@ -99,4 +99,3 @@ forceit:


View File

@@ -127,4 +127,3 @@ void NULLRePiRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint


View File

@@ -440,4 +440,3 @@ EXPORTS


View File

@@ -124,4 +124,3 @@ LINTLIBS =
DependTarget() DependTarget()


View File

@@ -1,4 +1,4 @@
/* $Id: blend.c,v 1.8 1999/11/11 01:22:25 brianp Exp $ */ /* $Id: blend.c,v 1.9 1999/11/12 04:56:55 kendallb Exp $ */
/* /*
* Mesa 3-D graphics library * Mesa 3-D graphics library
@@ -264,12 +264,16 @@ _mesa_BlendColorEXT( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha
ctx->Color.BlendColor[3] = CLAMP( alpha, 0.0F, 1.0F ); ctx->Color.BlendColor[3] = CLAMP( alpha, 0.0F, 1.0F );
} }
#ifdef USE_MMX_ASM
#define _BLENDAPI _ASMAPI
#else
#define _BLENDAPI
#endif
/* /*
* Common transparency blending mode. * Common transparency blending mode.
*/ */
static void blend_transparency( GLcontext *ctx, GLuint n, const GLubyte mask[], static void _BLENDAPI blend_transparency( GLcontext *ctx, GLuint n, const GLubyte mask[],
GLubyte rgba[][4], CONST GLubyte dest[][4] ) GLubyte rgba[][4], CONST GLubyte dest[][4] )
{ {
GLuint i; GLuint i;
@@ -314,7 +318,7 @@ static void blend_transparency( GLcontext *ctx, GLuint n, const GLubyte mask[],
/* /*
* Add src and dest. * Add src and dest.
*/ */
static void blend_add( GLcontext *ctx, GLuint n, const GLubyte mask[], static void _BLENDAPI blend_add( GLcontext *ctx, GLuint n, const GLubyte mask[],
GLubyte rgba[][4], CONST GLubyte dest[][4] ) GLubyte rgba[][4], CONST GLubyte dest[][4] )
{ {
GLuint i; GLuint i;
@@ -342,7 +346,7 @@ static void blend_add( GLcontext *ctx, GLuint n, const GLubyte mask[],
/* /*
* Blend min function (for GL_EXT_blend_minmax) * Blend min function (for GL_EXT_blend_minmax)
*/ */
static void blend_min( GLcontext *ctx, GLuint n, const GLubyte mask[], static void _BLENDAPI blend_min( GLcontext *ctx, GLuint n, const GLubyte mask[],
GLubyte rgba[][4], CONST GLubyte dest[][4] ) GLubyte rgba[][4], CONST GLubyte dest[][4] )
{ {
GLuint i; GLuint i;
@@ -364,7 +368,7 @@ static void blend_min( GLcontext *ctx, GLuint n, const GLubyte mask[],
/* /*
* Blend max function (for GL_EXT_blend_minmax) * Blend max function (for GL_EXT_blend_minmax)
*/ */
static void blend_max( GLcontext *ctx, GLuint n, const GLubyte mask[], static void _BLENDAPI blend_max( GLcontext *ctx, GLuint n, const GLubyte mask[],
GLubyte rgba[][4], CONST GLubyte dest[][4] ) GLubyte rgba[][4], CONST GLubyte dest[][4] )
{ {
GLuint i; GLuint i;
@@ -386,7 +390,7 @@ static void blend_max( GLcontext *ctx, GLuint n, const GLubyte mask[],
/* /*
* Modulate: result = src * dest * Modulate: result = src * dest
*/ */
static void blend_modulate( GLcontext *ctx, GLuint n, const GLubyte mask[], static void _BLENDAPI blend_modulate( GLcontext *ctx, GLuint n, const GLubyte mask[],
GLubyte rgba[][4], CONST GLubyte dest[][4] ) GLubyte rgba[][4], CONST GLubyte dest[][4] )
{ {
GLuint i; GLuint i;
@@ -415,7 +419,7 @@ static void blend_modulate( GLcontext *ctx, GLuint n, const GLubyte mask[],
* In/Out: rgba - the incoming and modified pixels * In/Out: rgba - the incoming and modified pixels
* Input: dest - the pixels from the dest color buffer * Input: dest - the pixels from the dest color buffer
*/ */
static void blend_general( GLcontext *ctx, GLuint n, const GLubyte mask[], static void _BLENDAPI blend_general( GLcontext *ctx, GLuint n, const GLubyte mask[],
GLubyte rgba[][4], CONST GLubyte dest[][4] ) GLubyte rgba[][4], CONST GLubyte dest[][4] )
{ {
GLfloat rscale = 1.0F / 255.0F; GLfloat rscale = 1.0F / 255.0F;

View File

@@ -1,4 +1,4 @@
/* $Id: texobj.c,v 1.8 1999/11/11 01:22:28 brianp Exp $ */ /* $Id: texobj.c,v 1.9 1999/11/12 04:57:04 kendallb Exp $ */
/* /*
* Mesa 3-D graphics library * Mesa 3-D graphics library
@@ -422,7 +422,7 @@ _mesa_BindTexture( GLenum target, GLuint texName )
dim = (GLuint) (target - GL_TEXTURE_1D); dim = (GLuint) (target - GL_TEXTURE_1D);
if (dim < 0 || dim > 2) { if (dim > 2) {
gl_error( ctx, GL_INVALID_ENUM, "glBindTexture" ); gl_error( ctx, GL_INVALID_ENUM, "glBindTexture" );
return; return;
} }

View File

@@ -1,4 +1,4 @@
/* $Id: varray.c,v 1.14 1999/11/11 01:22:28 brianp Exp $ */ /* $Id: varray.c,v 1.15 1999/11/12 04:57:05 kendallb Exp $ */
/* /*
* Mesa 3-D graphics library * Mesa 3-D graphics library
@@ -799,7 +799,7 @@ _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indice
return; return;
} }
if (mode < 0 || mode > GL_POLYGON) { if (mode > GL_POLYGON) {
gl_error( ctx, GL_INVALID_ENUM, "glDrawArrays(mode)" ); gl_error( ctx, GL_INVALID_ENUM, "glDrawArrays(mode)" );
return; return;
} }

View File

@@ -1,4 +1,4 @@
/* $Id: 3dnow.c,v 1.2 1999/10/19 18:37:06 keithw Exp $ */ /* $Id: 3dnow.c,v 1.3 1999/11/12 04:57:22 kendallb Exp $ */
/* /*
* Mesa 3-D graphics library * Mesa 3-D graphics library
@@ -29,7 +29,7 @@
* 3DNow! optimizations contributed by * 3DNow! optimizations contributed by
* Holger Waechtler <holger@akaflieg.extern.tu-berlin.de> * Holger Waechtler <holger@akaflieg.extern.tu-berlin.de>
*/ */
#if defined(USE_3DNOW_ASM) #if defined(USE_3DNOW_ASM) && defined(USE_X86_ASM)
#include "3dnow.h" #include "3dnow.h"
#include <limits.h> #include <limits.h>
@@ -58,31 +58,31 @@
#define DECLARE_XFORM_GROUP(pfx, v, masked) \ #define DECLARE_XFORM_GROUP(pfx, v, masked) \
extern void gl_##pfx##_transform_points##v##_general_##masked(XFORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_points##v##_general_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##v##_identity_##masked(XFORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_points##v##_identity_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##v##_3d_no_rot_##masked(XFORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_points##v##_3d_no_rot_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##v##_perspective_##masked(XFORM_ARGS);\ extern void _ASMAPI gl##pfx##_transform_points##v##_perspective_##masked(XFORM_ARGS);\
extern void gl_##pfx##_transform_points##v##_2d_##masked(XFORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_points##v##_2d_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##v##_2d_no_rot_##masked(XFORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_points##v##_2d_no_rot_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##v##_3d_##masked(XFORM_ARGS); extern void _ASMAPI gl##pfx##_transform_points##v##_3d_##masked(XFORM_ARGS);
#define ASSIGN_XFORM_GROUP( pfx, cma, vsize, masked ) \ #define ASSIGN_XFORM_GROUP( pfx, cma, vsize, masked ) \
gl_transform_tab[cma][vsize][MATRIX_GENERAL] \ gl_transform_tab[cma][vsize][MATRIX_GENERAL] \
= gl_##pfx##_transform_points##vsize##_general_##masked; \ = gl##pfx##_transform_points##vsize##_general_##masked; \
gl_transform_tab[cma][vsize][MATRIX_IDENTITY] \ gl_transform_tab[cma][vsize][MATRIX_IDENTITY] \
= gl_##pfx##_transform_points##vsize##_identity_##masked; \ = gl##pfx##_transform_points##vsize##_identity_##masked; \
gl_transform_tab[cma][vsize][MATRIX_3D_NO_ROT] \ gl_transform_tab[cma][vsize][MATRIX_3D_NO_ROT] \
= gl_##pfx##_transform_points##vsize##_3d_no_rot_##masked; \ = gl##pfx##_transform_points##vsize##_3d_no_rot_##masked; \
gl_transform_tab[cma][vsize][MATRIX_PERSPECTIVE] \ gl_transform_tab[cma][vsize][MATRIX_PERSPECTIVE] \
= gl_##pfx##_transform_points##vsize##_perspective_##masked; \ = gl##pfx##_transform_points##vsize##_perspective_##masked; \
gl_transform_tab[cma][vsize][MATRIX_2D] \ gl_transform_tab[cma][vsize][MATRIX_2D] \
= gl_##pfx##_transform_points##vsize##_2d_##masked; \ = gl##pfx##_transform_points##vsize##_2d_##masked; \
gl_transform_tab[cma][vsize][MATRIX_2D_NO_ROT] \ gl_transform_tab[cma][vsize][MATRIX_2D_NO_ROT] \
= gl_##pfx##_transform_points##vsize##_2d_no_rot_##masked; \ = gl##pfx##_transform_points##vsize##_2d_no_rot_##masked; \
gl_transform_tab[cma][vsize][MATRIX_3D] \ gl_transform_tab[cma][vsize][MATRIX_3D] \
= gl_##pfx##_transform_points##vsize##_3d_##masked; = gl##pfx##_transform_points##vsize##_3d_##masked;
@@ -97,48 +97,48 @@
#define DECLARE_NORM_GROUP(pfx, masked) \ #define DECLARE_NORM_GROUP(pfx, masked) \
extern void gl_##pfx##_rescale_normals_##masked## (NORM_ARGS); \ extern void _ASMAPI gl##pfx##_rescale_normals_##masked## (NORM_ARGS); \
extern void gl_##pfx##_normalize_normals_##masked## (NORM_ARGS); \ extern void _ASMAPI gl##pfx##_normalize_normals_##masked## (NORM_ARGS); \
extern void gl_##pfx##_transform_normals_##masked## (NORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_normals_##masked## (NORM_ARGS); \
extern void gl_##pfx##_transform_normals_no_rot_##masked## (NORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_normals_no_rot_##masked## (NORM_ARGS); \
extern void gl_##pfx##_transform_rescale_normals_##masked## (NORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_rescale_normals_##masked## (NORM_ARGS); \
extern void gl_##pfx##_transform_rescale_normals_no_rot_##masked## (NORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_rescale_normals_no_rot_##masked## (NORM_ARGS); \
extern void gl_##pfx##_transform_normalize_normals_##masked## (NORM_ARGS); \ extern void _ASMAPI gl##pfx##_transform_normalize_normals_##masked## (NORM_ARGS); \
extern void gl_##pfx##_transform_normalize_normals_no_rot_##masked## (NORM_ARGS); extern void _ASMAPI gl##pfx##_transform_normalize_normals_no_rot_##masked## (NORM_ARGS);
#define ASSIGN_NORM_GROUP( pfx, cma, masked ) \ #define ASSIGN_NORM_GROUP( pfx, cma, masked ) \
gl_normal_tab[NORM_RESCALE][cma] = \ gl_normal_tab[NORM_RESCALE][cma] = \
gl_##pfx##_rescale_normals_##masked##; \ gl##pfx##_rescale_normals_##masked##; \
gl_normal_tab[NORM_NORMALIZE][cma] = \ gl_normal_tab[NORM_NORMALIZE][cma] = \
gl_##pfx##_normalize_normals_##masked##; \ gl##pfx##_normalize_normals_##masked##; \
gl_normal_tab[NORM_TRANSFORM][cma] = \ gl_normal_tab[NORM_TRANSFORM][cma] = \
gl_##pfx##_transform_normals_##masked##; \ gl##pfx##_transform_normals_##masked##; \
gl_normal_tab[NORM_TRANSFORM_NO_ROT][cma] = \ gl_normal_tab[NORM_TRANSFORM_NO_ROT][cma] = \
gl_##pfx##_transform_normals_no_rot_##masked##; \ gl##pfx##_transform_normals_no_rot_##masked##; \
gl_normal_tab[NORM_TRANSFORM | NORM_RESCALE][cma] = \ gl_normal_tab[NORM_TRANSFORM | NORM_RESCALE][cma] = \
gl_##pfx##_transform_rescale_normals_##masked##; \ gl##pfx##_transform_rescale_normals_##masked##; \
gl_normal_tab[NORM_TRANSFORM_NO_ROT | NORM_RESCALE][cma] = \ gl_normal_tab[NORM_TRANSFORM_NO_ROT | NORM_RESCALE][cma] = \
gl_##pfx##_transform_rescale_normals_no_rot_##masked##; \ gl##pfx##_transform_rescale_normals_no_rot_##masked##; \
gl_normal_tab[NORM_TRANSFORM | NORM_NORMALIZE][cma] = \ gl_normal_tab[NORM_TRANSFORM | NORM_NORMALIZE][cma] = \
gl_##pfx##_transform_normalize_normals_##masked##; \ gl##pfx##_transform_normalize_normals_##masked##; \
gl_normal_tab[NORM_TRANSFORM_NO_ROT | NORM_NORMALIZE][cma] = \ gl_normal_tab[NORM_TRANSFORM_NO_ROT | NORM_NORMALIZE][cma] = \
gl_##pfx##_transform_normalize_normals_no_rot_##masked##; gl##pfx##_transform_normalize_normals_no_rot_##masked##;
extern void gl_3dnow_project_vertices( GLfloat *first, extern void _ASMAPI gl_3dnow_project_vertices( GLfloat *first,
GLfloat *last, GLfloat *last,
const GLfloat *m, const GLfloat *m,
GLuint stride ); GLuint stride );
extern void gl_3dnow_project_clipped_vertices( GLfloat *first, extern void _ASMAPI gl_3dnow_project_clipped_vertices( GLfloat *first,
GLfloat *last, GLfloat *last,
const GLfloat *m, const GLfloat *m,
GLuint stride, GLuint stride,
const GLubyte *clipmask ); const GLubyte *clipmask );
extern void gl_v16_3dnow_general_xform( GLfloat *first_vert, extern void _ASMAPI gl_v16_3dnow_general_xform( GLfloat *first_vert,
const GLfloat *m, const GLfloat *m,
const GLfloat *src, const GLfloat *src,
GLuint src_stride, GLuint src_stride,
@@ -146,32 +146,32 @@ extern void gl_v16_3dnow_general_xform( GLfloat *first_vert,
void gl_init_3dnow_asm_transforms (void) void gl_init_3dnow_asm_transforms (void)
{ {
DECLARE_XFORM_GROUP( 3dnow, 1, raw ) DECLARE_XFORM_GROUP( _3dnow, 1, raw )
DECLARE_XFORM_GROUP( 3dnow, 2, raw ) DECLARE_XFORM_GROUP( _3dnow, 2, raw )
DECLARE_XFORM_GROUP( 3dnow, 3, raw ) DECLARE_XFORM_GROUP( _3dnow, 3, raw )
DECLARE_XFORM_GROUP( 3dnow, 4, raw ) DECLARE_XFORM_GROUP( _3dnow, 4, raw )
DECLARE_XFORM_GROUP( 3dnow, 1, masked ) DECLARE_XFORM_GROUP( _3dnow, 1, masked )
DECLARE_XFORM_GROUP( 3dnow, 2, masked ) DECLARE_XFORM_GROUP( _3dnow, 2, masked )
DECLARE_XFORM_GROUP( 3dnow, 3, masked ) DECLARE_XFORM_GROUP( _3dnow, 3, masked )
DECLARE_XFORM_GROUP( 3dnow, 4, masked ) DECLARE_XFORM_GROUP( _3dnow, 4, masked )
DECLARE_NORM_GROUP( 3dnow, raw ) DECLARE_NORM_GROUP( _3dnow, raw )
/* DECLARE_NORM_GROUP( 3dnow, masked ) /* DECLARE_NORM_GROUP( _3dnow, masked )
*/ */
ASSIGN_XFORM_GROUP( 3dnow, 0, 1, raw ) ASSIGN_XFORM_GROUP( _3dnow, 0, 1, raw )
ASSIGN_XFORM_GROUP( 3dnow, 0, 2, raw ) ASSIGN_XFORM_GROUP( _3dnow, 0, 2, raw )
ASSIGN_XFORM_GROUP( 3dnow, 0, 3, raw ) ASSIGN_XFORM_GROUP( _3dnow, 0, 3, raw )
ASSIGN_XFORM_GROUP( 3dnow, 0, 4, raw ) ASSIGN_XFORM_GROUP( _3dnow, 0, 4, raw )
ASSIGN_XFORM_GROUP( 3dnow, CULL_MASK_ACTIVE, 1, masked ) ASSIGN_XFORM_GROUP( _3dnow, CULL_MASK_ACTIVE, 1, masked )
ASSIGN_XFORM_GROUP( 3dnow, CULL_MASK_ACTIVE, 2, masked ) ASSIGN_XFORM_GROUP( _3dnow, CULL_MASK_ACTIVE, 2, masked )
ASSIGN_XFORM_GROUP( 3dnow, CULL_MASK_ACTIVE, 3, masked ) ASSIGN_XFORM_GROUP( _3dnow, CULL_MASK_ACTIVE, 3, masked )
ASSIGN_XFORM_GROUP( 3dnow, CULL_MASK_ACTIVE, 4, masked ) ASSIGN_XFORM_GROUP( _3dnow, CULL_MASK_ACTIVE, 4, masked )
ASSIGN_NORM_GROUP( 3dnow, 0, raw ) ASSIGN_NORM_GROUP( _3dnow, 0, raw )
/* ASSIGN_NORM_GROUP( 3dnow, CULL_MASK_ACTIVE, masked ) /* ASSIGN_NORM_GROUP( _3dnow, CULL_MASK_ACTIVE, masked )
*/ */
#ifdef DEBUG #ifdef DEBUG
@@ -187,4 +187,3 @@ void gl_init_3dnow_asm_transforms (void)
} }
#endif #endif

View File

@@ -876,9 +876,17 @@
#define D_BYTE db #define D_BYTE db
/* #define SPACE */ /* #define SPACE */
/* #define COMM */ /* #define COMM */
#if defined(__WATCOMC__)
SECTION _TEXT public align=16 class=CODE use32 flat
SECTION _DATA public align=16 class=DATA use32 flat
#define SEG_TEXT SECTION _TEXT
#define SEG_DATA SECTION _DATA
#define SEG_BSS SECTION .bss
#else
#define SEG_DATA SECTION .data #define SEG_DATA SECTION .data
#define SEG_TEXT SECTION .text #define SEG_TEXT SECTION .text
#define SEG_BSS SECTION .bss #define SEG_BSS SECTION .bss
#endif
#define D_SPACE(n) db n REP 0 #define D_SPACE(n) db n REP 0

View File

@@ -31,7 +31,7 @@
#define ASM_MMX_H #define ASM_MMX_H
extern void extern void _ASMAPI
gl_mmx_blend_transparency( GLcontext *ctx, GLuint n, const GLubyte mask[], gl_mmx_blend_transparency( GLcontext *ctx, GLuint n, const GLubyte mask[],
GLubyte rgba[][4], const GLubyte dest[][4] ); GLubyte rgba[][4], const GLubyte dest[][4] );

View File

@@ -1,4 +1,4 @@
/* $Id: x86.c,v 1.2 1999/10/19 18:37:07 keithw Exp $ */ /* $Id: x86.c,v 1.3 1999/11/12 04:57:23 kendallb Exp $ */
/* /*
* Mesa 3-D graphics library * Mesa 3-D graphics library
@@ -40,14 +40,14 @@
#include "xform.h" #include "xform.h"
#include "x86.h" #include "x86.h"
extern void gl_v16_x86_cliptest_points4(GLfloat *first_vert, extern void _ASMAPI gl_v16_x86_cliptest_points4(GLfloat *first_vert,
GLfloat *last_vert, GLfloat *last_vert,
GLubyte *or_mask, GLubyte *or_mask,
GLubyte *and_mask, GLubyte *and_mask,
GLubyte *clip_mask ); GLubyte *clip_mask );
extern void gl_v16_x86_general_xform(GLfloat *dest, extern void _ASMAPI gl_v16_x86_general_xform(GLfloat *dest,
const GLfloat *m, const GLfloat *m,
const GLfloat *src, const GLfloat *src,
GLuint src_stride, GLuint src_stride,
@@ -62,13 +62,13 @@ extern void gl_v16_x86_general_xform(GLfloat *dest,
const GLubyte flag const GLubyte flag
#define DECLARE_XFORM_GROUP(pfx, vsize, masked) \ #define DECLARE_XFORM_GROUP(pfx, vsize, masked) \
extern void gl_##pfx##_transform_points##vsize##_general_##masked(XFORM_ARGS); \ extern void _ASMAPI gl_##pfx##_transform_points##vsize##_general_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##vsize##_identity_##masked(XFORM_ARGS); \ extern void _ASMAPI gl_##pfx##_transform_points##vsize##_identity_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##vsize##_3d_no_rot_##masked(XFORM_ARGS); \ extern void _ASMAPI gl_##pfx##_transform_points##vsize##_3d_no_rot_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##vsize##_perspective_##masked(XFORM_ARGS); \ extern void _ASMAPI gl_##pfx##_transform_points##vsize##_perspective_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##vsize##_2d_##masked(XFORM_ARGS); \ extern void _ASMAPI gl_##pfx##_transform_points##vsize##_2d_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##vsize##_2d_no_rot_##masked(XFORM_ARGS); \ extern void _ASMAPI gl_##pfx##_transform_points##vsize##_2d_no_rot_##masked(XFORM_ARGS); \
extern void gl_##pfx##_transform_points##vsize##_3d_##masked(XFORM_ARGS); extern void _ASMAPI gl_##pfx##_transform_points##vsize##_3d_##masked(XFORM_ARGS);
#define ASSIGN_XFORM_GROUP( pfx, cma, vsize, masked ) \ #define ASSIGN_XFORM_GROUP( pfx, cma, vsize, masked ) \
gl_transform_tab[cma][vsize][MATRIX_GENERAL] \ gl_transform_tab[cma][vsize][MATRIX_GENERAL] \
@@ -96,7 +96,7 @@ void gl_init_x86_asm_transforms( void )
DECLARE_XFORM_GROUP( x86, 3, masked ) DECLARE_XFORM_GROUP( x86, 3, masked )
DECLARE_XFORM_GROUP( x86, 4, masked ) DECLARE_XFORM_GROUP( x86, 4, masked )
extern GLvector4f *gl_x86_cliptest_points4( GLvector4f *clip_vec, extern GLvector4f * _ASMAPI gl_x86_cliptest_points4( GLvector4f *clip_vec,
GLvector4f *proj_vec, GLvector4f *proj_vec,
GLubyte clipMask[], GLubyte clipMask[],
GLubyte *orMask, GLubyte *orMask,