[Mesa-dev] [PATCH 1/2] mesa/x86: add SSE4.1 runtime detection
Matthew Atwood
matthew.s.atwood at intel.com
Fri May 2 11:11:48 PDT 2014
From: Matt Atwood <matthew.s.atwood at intel.com>
add in bit to _mesa_x86_features for sse4.1, along with macros to query
---
src/mesa/x86/common_x86.c | 3 +++
src/mesa/x86/common_x86_features.h | 3 +++
2 files changed, 6 insertions(+)
diff --git a/src/mesa/x86/common_x86.c b/src/mesa/x86/common_x86.c
index 3c1adc9..87fa68a 100644
--- a/src/mesa/x86/common_x86.c
+++ b/src/mesa/x86/common_x86.c
@@ -238,6 +238,7 @@ _mesa_get_x86_features(void)
/* get cpu features */
cpu_features = _mesa_x86_cpuid_edx(1);
+ cpu_features_ecx = _mesa_x86_cpuid_ecx(1);
if (cpu_features & X86_CPU_FPU)
_mesa_x86_cpu_features |= X86_FEATURE_FPU;
@@ -254,6 +255,8 @@ _mesa_get_x86_features(void)
_mesa_x86_cpu_features |= X86_FEATURE_XMM;
if (cpu_features & X86_CPU_XMM2)
_mesa_x86_cpu_features |= X86_FEATURE_XMM2;
+ if (cpu_features & x86_CPU_SSE4_1)
+ _mesa_x86_features |= X86_FEATURE_SSE4_1;
#endif
/* query extended cpu features */
diff --git a/src/mesa/x86/common_x86_features.h b/src/mesa/x86/common_x86_features.h
index 8625484..1e4bbfc 100644
--- a/src/mesa/x86/common_x86_features.h
+++ b/src/mesa/x86/common_x86_features.h
@@ -43,6 +43,7 @@
#define X86_FEATURE_XMM2 (1<<6)
#define X86_FEATURE_3DNOWEXT (1<<7)
#define X86_FEATURE_3DNOW (1<<8)
+#define X86_FEATURE_SSE4_1 (1<<9)
/* standard X86 CPU features */
#define X86_CPU_FPU (1<<0)
@@ -50,6 +51,7 @@
#define X86_CPU_MMX (1<<23)
#define X86_CPU_XMM (1<<25)
#define X86_CPU_XMM2 (1<<26)
+#define X86_CPU_SSE4_1 (1<<19)
/* extended X86 CPU features */
#define X86_CPUEXT_MMX_EXT (1<<22)
@@ -62,6 +64,7 @@
#define cpu_has_xmm2 (_mesa_x86_cpu_features & X86_FEATURE_XMM2)
#define cpu_has_3dnow (_mesa_x86_cpu_features & X86_FEATURE_3DNOW)
#define cpu_has_3dnowext (_mesa_x86_cpu_features & X86_FEATURE_3DNOWEXT)
+#define cpu_has_sse4_1 (_mesa_x86_cpu_features & X86_FEATURE_SSE4_1)
#endif
--
1.8.3.2
More information about the mesa-dev
mailing list