summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2004-01-09 17:14:22 +0000
committerBrian Paul <[email protected]>2004-01-09 17:14:22 +0000
commitbd09d49eb4c6b7e14b7ba68d83fd556976724fa5 (patch)
treec179d0e20e11f0267d48fa7149905111716da286 /src
parented98b867af836d7b87529716e95bc611a5695d4d (diff)
re-enable SSE code, except for the _mesa_sse_transform_points4_identity() function. Use the x86 version instead
Diffstat (limited to 'src')
-rw-r--r--src/mesa/x86/common_x86.c6
-rw-r--r--src/mesa/x86/sse.c13
2 files changed, 11 insertions, 8 deletions
diff --git a/src/mesa/x86/common_x86.c b/src/mesa/x86/common_x86.c
index 6afc1645669..2fab022cdf8 100644
--- a/src/mesa/x86/common_x86.c
+++ b/src/mesa/x86/common_x86.c
@@ -354,13 +354,11 @@ void _mesa_init_all_x86_transform_asm( void )
check_os_sse_support();
}
if ( cpu_has_xmm ) {
- /* SSE segfaults when running conform, disabled for now - KW.
- */
- if ( 0 && getenv( "MESA_NO_SSE" ) == 0 ) {
+ if (getenv( "MESA_NO_SSE" ) == 0 ) {
message( "SSE cpu detected.\n" );
_mesa_init_sse_transform_asm();
} else {
-/* message( "SSE cpu detected, but switched off by user.\n" ); */
+ message( "SSE cpu detected, but switched off by user.\n" );
_mesa_x86_cpu_features &= ~(X86_FEATURE_XMM);
}
}
diff --git a/src/mesa/x86/sse.c b/src/mesa/x86/sse.c
index 1271f88dcd6..45852c4e1c0 100644
--- a/src/mesa/x86/sse.c
+++ b/src/mesa/x86/sse.c
@@ -1,9 +1,8 @@
-
/*
* Mesa 3-D graphics library
- * Version: 3.5
+ * Version: 6.0
*
- * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-2004 Brian Paul 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"),
@@ -53,7 +52,10 @@ extern void _ASMAPI _mesa_sse_transform_rescale_normals_no_rot( NORM_ARGS );
extern void _ASMAPI _mesa_sse_transform_points4_general( XFORM_ARGS );
extern void _ASMAPI _mesa_sse_transform_points4_3d( XFORM_ARGS );
+/* XXX this function segfaults, see below */
extern void _ASMAPI _mesa_sse_transform_points4_identity( XFORM_ARGS );
+/* XXX this one works, see below */
+extern void _ASMAPI _mesa_x86_transform_points4_identity( XFORM_ARGS );
#else
DECLARE_NORM_GROUP( sse )
#endif
@@ -94,8 +96,11 @@ void _mesa_init_sse_transform_asm( void )
_mesa_sse_transform_points4_general;
_mesa_transform_tab[4][MATRIX_3D] =
_mesa_sse_transform_points4_3d;
+ /* XXX NOTE: _mesa_sse_transform_points4_identity segfaults with the
+ conformance tests, so use the x86 version.
+ */
_mesa_transform_tab[4][MATRIX_IDENTITY] =
- _mesa_sse_transform_points4_identity;
+ _mesa_x86_transform_points4_identity;/*_mesa_sse_transform_points4_identity;*/
_mesa_normal_tab[NORM_TRANSFORM_NO_ROT] =
_mesa_sse_transform_normals_no_rot;