[babl] only enable sse-fixups when not on 64bit
- From: Ãyvind KolÃs <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [babl] only enable sse-fixups when not on 64bit
- Date: Wed, 2 May 2012 21:49:01 +0000 (UTC)
commit c5b3e247f18bcb37b188d370b25c1f40bcb8f991
Author: Ãyvind KolÃs <pippin gimp org>
Date: Wed May 2 23:48:54 2012 +0200
only enable sse-fixups when not on 64bit
babl/babl-cpuaccel.c | 4 ++++
babl/babl-cpuaccel.h | 3 ++-
extensions/sse-fixups.c | 3 ++-
tests/float-to-8bit.c | 5 +++++
4 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/babl/babl-cpuaccel.c b/babl/babl-cpuaccel.c
index ee12fd6..287c41e 100644
--- a/babl/babl-cpuaccel.c
+++ b/babl/babl-cpuaccel.c
@@ -490,6 +490,10 @@ cpu_accel (void)
accel = arch_accel ();
+#if defined(ARCH_X86_64)
+ accel |= BABL_CPU_ACCEL_X86;
+#endif
+
return (BablCpuAccelFlags) accel;
#else /* !HAVE_ACCEL */
diff --git a/babl/babl-cpuaccel.h b/babl/babl-cpuaccel.h
index c95af91..e701e2a 100644
--- a/babl/babl-cpuaccel.h
+++ b/babl/babl-cpuaccel.h
@@ -32,7 +32,8 @@ typedef enum
BABL_CPU_ACCEL_X86_SSE3 = 0x02000000,
/* powerpc accelerations */
- BABL_CPU_ACCEL_PPC_ALTIVEC = 0x04000000
+ BABL_CPU_ACCEL_PPC_ALTIVEC = 0x04000000,
+ BABL_CPU_ACCEL_X86_64 = 0x00100000
} BablCpuAccelFlags;
diff --git a/extensions/sse-fixups.c b/extensions/sse-fixups.c
index b44bb5e..fdcc06f 100644
--- a/extensions/sse-fixups.c
+++ b/extensions/sse-fixups.c
@@ -228,7 +228,8 @@ init (void)
NULL);
if ((babl_cpu_accel_get_support () & BABL_CPU_ACCEL_X86_MMX) &&
- (babl_cpu_accel_get_support () & BABL_CPU_ACCEL_X86_SSE))
+ (babl_cpu_accel_get_support () & BABL_CPU_ACCEL_X86_SSE) &&
+ !(babl_cpu_accel_get_support () & BABL_CPU_ACCEL_X86_64))
{
o (rgbaF_linear, rgb8_linear);
o (rgbaF_linear, rgba8_linear);
diff --git a/tests/float-to-8bit.c b/tests/float-to-8bit.c
index f415e96..17300a3 100644
--- a/tests/float-to-8bit.c
+++ b/tests/float-to-8bit.c
@@ -31,7 +31,11 @@ main (int argc,
{
int OK = 1;
babl_init ();
+ int i = 0;
+
+ for (i = 0; i < 400000; i++)
+ {
{
float in[][4] = {{ 0.21582, -0.55, -0.14, 1.0 }, {0.2, 0.3, 0.5, 0.6}, {0.0, 1.0, 2.0, 3.0}};
unsigned char out[][4] = {{ 55, 0, 0, 255 }, {51,77,128,153}, {0,255,255,255}};
@@ -91,6 +95,7 @@ main (int argc,
babl_format("R'G'B'A u8"),
in, out);
}
+ }
babl_exit ();
return !OK;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]