Mesa (gallium-0.2): gallium: Introduce PIPE_ARCH_SSE define for SSE support .
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Tue Oct 7 05:25:18 UTC 2008
Module: Mesa
Branch: gallium-0.2
Commit: 4d7394f89292131323fc8e39efa511a2eeb8cc60
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d7394f89292131323fc8e39efa511a2eeb8cc60
Author: José Fonseca <jrfonseca at tungstengraphics.com>
Date: Tue Oct 7 14:25:09 2008 +0900
gallium: Introduce PIPE_ARCH_SSE define for SSE support.
Besides meaning x86 and x86-64 architecture, it also depends on SSE2
support enabled on gcc.
This fixes the linux-debug build.
---
src/gallium/auxiliary/draw/draw_vs_sse.c | 2 +-
src/gallium/auxiliary/tgsi/tgsi_sse2.c | 2 +-
src/gallium/auxiliary/util/u_sse.h | 2 +-
src/gallium/drivers/softpipe/sp_fs_sse.c | 2 +-
src/gallium/include/pipe/p_config.h | 8 ++++++++
5 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/gallium/auxiliary/draw/draw_vs_sse.c b/src/gallium/auxiliary/draw/draw_vs_sse.c
index 0efabd9..b11ae31 100644
--- a/src/gallium/auxiliary/draw/draw_vs_sse.c
+++ b/src/gallium/auxiliary/draw/draw_vs_sse.c
@@ -37,7 +37,7 @@
#include "draw_vs.h"
-#if defined(PIPE_ARCH_X86)
+#if defined(PIPE_ARCH_X86) && defined(PIPE_ARCH_SSE)
#include "pipe/p_shader_tokens.h"
diff --git a/src/gallium/auxiliary/tgsi/tgsi_sse2.c b/src/gallium/auxiliary/tgsi/tgsi_sse2.c
index 79f424b..f79170b 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_sse2.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_sse2.c
@@ -27,7 +27,7 @@
#include "pipe/p_config.h"
-#ifdef PIPE_ARCH_X86
+#if defined(PIPE_ARCH_X86) && defined(PIPE_ARCH_SSE)
#include "pipe/p_debug.h"
#include "pipe/p_shader_tokens.h"
diff --git a/src/gallium/auxiliary/util/u_sse.h b/src/gallium/auxiliary/util/u_sse.h
index 68e56f0..e2a8491 100644
--- a/src/gallium/auxiliary/util/u_sse.h
+++ b/src/gallium/auxiliary/util/u_sse.h
@@ -39,7 +39,7 @@
#include "pipe/p_config.h"
-#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
+#if defined(PIPE_ARCH_SSE)
#include <xmmintrin.h>
#include <emmintrin.h>
diff --git a/src/gallium/drivers/softpipe/sp_fs_sse.c b/src/gallium/drivers/softpipe/sp_fs_sse.c
index 496ed43..0111469 100644
--- a/src/gallium/drivers/softpipe/sp_fs_sse.c
+++ b/src/gallium/drivers/softpipe/sp_fs_sse.c
@@ -40,7 +40,7 @@
#include "tgsi/tgsi_sse2.h"
-#ifdef PIPE_ARCH_X86
+#if defined(PIPE_ARCH_X86) && defined(PIPE_ARCH_SSE)
#include "rtasm/rtasm_x86sse.h"
diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h
index af3746c..ef05547 100644
--- a/src/gallium/include/pipe/p_config.h
+++ b/src/gallium/include/pipe/p_config.h
@@ -85,6 +85,14 @@
#define PIPE_ARCH_X86_64
#endif
+#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
+#if defined(PIPE_CC_GCC) && !defined(__SSE2__)
+/* #warning SSE2 support requires -msse -msse2 compiler options */
+#else
+#define PIPE_ARCH_SSE
+#endif
+#endif
+
#if 0 /* FIXME */
#define PIPE_ARCH_PPC
#endif
More information about the mesa-commit
mailing list