aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/x86
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/x86')
-rw-r--r--src/mesa/x86/3dnow.c24
-rw-r--r--src/mesa/x86/x86.c19
2 files changed, 41 insertions, 2 deletions
diff --git a/src/mesa/x86/3dnow.c b/src/mesa/x86/3dnow.c
index f91a90b33f1..212b6bffa5b 100644
--- a/src/mesa/x86/3dnow.c
+++ b/src/mesa/x86/3dnow.c
@@ -1,4 +1,4 @@
-/* $Id: 3dnow.c,v 1.1 1999/08/19 00:55:42 jtg Exp $ */
+/* $Id: 3dnow.c,v 1.2 1999/10/19 18:37:06 keithw Exp $ */
/*
* Mesa 3-D graphics library
@@ -40,6 +40,7 @@
#include "context.h"
#include "types.h"
#include "xform.h"
+#include "vertices.h"
#ifdef DEBUG
#include "debug_xform.h"
@@ -126,7 +127,22 @@
gl_##pfx##_transform_normalize_normals_no_rot_##masked##;
+extern void gl_3dnow_project_vertices( GLfloat *first,
+ GLfloat *last,
+ const GLfloat *m,
+ GLuint stride );
+extern void gl_3dnow_project_clipped_vertices( GLfloat *first,
+ GLfloat *last,
+ const GLfloat *m,
+ GLuint stride,
+ const GLubyte *clipmask );
+
+extern void gl_v16_3dnow_general_xform( GLfloat *first_vert,
+ const GLfloat *m,
+ const GLfloat *src,
+ GLuint src_stride,
+ GLuint count );
void gl_init_3dnow_asm_transforms (void)
{
@@ -162,6 +178,12 @@ void gl_init_3dnow_asm_transforms (void)
gl_test_all_transform_functions("3Dnow!");
gl_test_all_normal_transform_functions("3Dnow!");
#endif
+
+ /* Hook in some stuff for vertices.c.
+ */
+ gl_xform_points3_v16_general = gl_v16_3dnow_general_xform;
+ gl_project_v16 = gl_3dnow_project_vertices;
+ gl_project_clipped_v16 = gl_3dnow_project_clipped_vertices;
}
#endif
diff --git a/src/mesa/x86/x86.c b/src/mesa/x86/x86.c
index fe3bb34c913..610ec15ea64 100644
--- a/src/mesa/x86/x86.c
+++ b/src/mesa/x86/x86.c
@@ -1,4 +1,4 @@
-/* $Id: x86.c,v 1.1 1999/08/19 00:55:42 jtg Exp $ */
+/* $Id: x86.c,v 1.2 1999/10/19 18:37:07 keithw Exp $ */
/*
* Mesa 3-D graphics library
@@ -36,9 +36,23 @@
#include "context.h"
#include "types.h"
+#include "vertices.h"
#include "xform.h"
#include "x86.h"
+extern void gl_v16_x86_cliptest_points4(GLfloat *first_vert,
+ GLfloat *last_vert,
+ GLubyte *or_mask,
+ GLubyte *and_mask,
+ GLubyte *clip_mask );
+
+
+extern void gl_v16_x86_general_xform(GLfloat *dest,
+ const GLfloat *m,
+ const GLfloat *src,
+ GLuint src_stride,
+ GLuint count);
+
#define XFORM_ARGS GLvector4f *to_vec, \
@@ -103,5 +117,8 @@ void gl_init_x86_asm_transforms( void )
gl_test_all_transform_functions("x86");
#endif
+
+ gl_cliptest_points4_v16 = gl_v16_x86_cliptest_points4;
+ gl_xform_points3_v16_general = gl_v16_x86_general_xform;
#endif
}