aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/main/imports.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-07-28 21:23:36 +0200
committermarha <marha@users.sourceforge.net>2014-07-28 21:32:18 +0200
commit777fcfa17aafab62719446e00068f5e61ec946d5 (patch)
treeca0ed3fea46b207daa6cd5bc05382e2d60a1e87f /mesalib/src/mesa/main/imports.h
parent61c36feba19d918885022042ea62d068a698c83d (diff)
parentb33b8d8ae86876b50df96881b96074b3fe177cce (diff)
downloadvcxsrv-777fcfa17aafab62719446e00068f5e61ec946d5.tar.gz
vcxsrv-777fcfa17aafab62719446e00068f5e61ec946d5.tar.bz2
vcxsrv-777fcfa17aafab62719446e00068f5e61ec946d5.zip
Merge remote-tracking branch 'origin/released'
Conflicts: xorg-server/include/servermd.h
Diffstat (limited to 'mesalib/src/mesa/main/imports.h')
-rwxr-xr-xmesalib/src/mesa/main/imports.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/mesalib/src/mesa/main/imports.h b/mesalib/src/mesa/main/imports.h
index ba869286f..aee495a4c 100755
--- a/mesalib/src/mesa/main/imports.h
+++ b/mesalib/src/mesa/main/imports.h
@@ -273,10 +273,12 @@ static inline int IROUND_POS(float f)
return (int) (f + 0.5F);
}
+#ifdef __x86_64__
+# include <xmmintrin.h>
+#endif
/**
* Convert float to int using a fast method. The rounding mode may vary.
- * XXX We could use an x86-64/SSE2 version here.
*/
static inline int F_TO_I(float f)
{
@@ -291,6 +293,8 @@ static inline int F_TO_I(float f)
fistp r
}
return r;
+#elif defined(__x86_64__)
+ return _mm_cvt_ss2si(_mm_load_ss(&f));
#else
return IROUND(f);
#endif