re-enable SSE code, except for the _mesa_sse_transform_points4_identity() function...
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 9 Jan 2004 17:14:22 +0000 (17:14 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 9 Jan 2004 17:14:22 +0000 (17:14 +0000)
src/mesa/x86/common_x86.c
src/mesa/x86/sse.c

index 6afc16456693a0adfb288554eb9383326c027e7f..2fab022cdf8dcd7d3c3be2fd3006e6500db45f07 100644 (file)
@@ -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);
       }
    }
index 1271f88dcd60c5a3687e3416628145ed8c5a45d8..45852c4e1c0597b361d1ce848bc31310a4149a12 100644 (file)
@@ -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;