From d471473b5842154c0b44b7bec149401f6dab43cc Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Tue, 19 Oct 1999 18:37:02 +0000 Subject: Changes to reduce the memory footprint of display lists --- src/mesa/x86/3dnow.c | 24 +++++++++++++++++++++++- src/mesa/x86/x86.c | 19 ++++++++++++++++++- 2 files changed, 41 insertions(+), 2 deletions(-) (limited to 'src/mesa/x86') 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 } -- cgit v1.2.3