aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-09-04 15:49:46 +0200
committermarha <marha@users.sourceforge.net>2012-09-04 15:49:46 +0200
commitf2c10b20ce3f657c1f2013057602bb439816940f (patch)
tree4f86053b9b636d2d0174e229e79f2bb9d0a6f1a7 /mesalib/src/gallium/auxiliary/util/u_cpu_detect.c
parentb3bc6204173252cae91fd40659c0eb01e4c75c99 (diff)
parent67c4614f29188e4af86e1d88ee82759c896b70b5 (diff)
downloadvcxsrv-f2c10b20ce3f657c1f2013057602bb439816940f.tar.gz
vcxsrv-f2c10b20ce3f657c1f2013057602bb439816940f.tar.bz2
vcxsrv-f2c10b20ce3f657c1f2013057602bb439816940f.zip
Merge remote-tracking branch 'origin/released'
Conflicts: libxcb/src/xcb_ext.c libxcb/src/xcb_xid.c mesalib/src/mesa/main/.gitignore mesalib/src/mesa/main/eval.c mesalib/src/mesa/main/imports.h mesalib/src/mesa/main/macros.h
Diffstat (limited to 'mesalib/src/gallium/auxiliary/util/u_cpu_detect.c')
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_cpu_detect.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c b/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c
index e0c8f73c7..d7f0be40e 100644
--- a/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c
+++ b/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c
@@ -182,7 +182,7 @@ static int has_cpuid(void)
static INLINE void
cpuid(uint32_t ax, uint32_t *p)
{
-#if defined(PIPE_CC_GCC) && defined(PIPE_ARCH_X86)
+#if (defined(PIPE_CC_GCC) || defined(PIPE_CC_SUNPRO)) && defined(PIPE_ARCH_X86)
__asm __volatile (
"xchgl %%ebx, %1\n\t"
"cpuid\n\t"
@@ -193,7 +193,7 @@ cpuid(uint32_t ax, uint32_t *p)
"=d" (p[3])
: "0" (ax)
);
-#elif defined(PIPE_CC_GCC) && defined(PIPE_ARCH_X86_64)
+#elif (defined(PIPE_CC_GCC) || defined(PIPE_CC_SUNPRO)) && defined(PIPE_ARCH_X86_64)
__asm __volatile (
"cpuid\n\t"
: "=a" (p[0]),
@@ -286,6 +286,11 @@ util_cpu_detect(void)
util_cpu_caps.cacheline = cacheline;
}
+ if (regs[1] == 0x756e6547 && regs[2] == 0x6c65746e && regs[3] == 0x49656e69) {
+ /* GenuineIntel */
+ util_cpu_caps.has_intel = 1;
+ }
+
cpuid(0x80000000, regs);
if (regs[0] >= 0x80000001) {