diff options
author | Brad Smith <[email protected]> | 2008-07-17 08:15:57 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2008-07-17 08:15:57 -0600 |
commit | f49d345a51bb208fee19fc25762bcdb0e7f67174 (patch) | |
tree | 7b208fb42b50b19bc18f31d3d059e6421976e5c0 /src/mesa/x86 | |
parent | 0138435643d77478f5e06ef4572e704e0230163b (diff) |
mesa: added checks for OpenBSD
Diffstat (limited to 'src/mesa/x86')
-rw-r--r-- | src/mesa/x86/common_x86.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mesa/x86/common_x86.c b/src/mesa/x86/common_x86.c index d93241a977a..0caa36a5a0c 100644 --- a/src/mesa/x86/common_x86.c +++ b/src/mesa/x86/common_x86.c @@ -42,6 +42,11 @@ #include <sys/types.h> #include <sys/sysctl.h> #endif +#if defined(USE_SSE_ASM) && defined(__OpenBSD__) +#include <sys/param.h> +#include <sys/sysctl.h> +#include <machine/cpu.h> +#endif #include "common_x86_asm.h" #include "imports.h" @@ -121,6 +126,19 @@ static void check_os_sse_support( void ) if (ret || !enabled) _mesa_x86_cpu_features &= ~(X86_FEATURE_XMM); } +#elif defined(__OpenBSD__) + { + int mib[2]; + int ret, enabled; + size_t len = sizeof(enabled); + + mib[0] = CTL_MACHDEP; + mib[1] = CPU_SSE; + + ret = sysctl(mib, 2, &enabled, &len, NULL, 0); + if (ret || !enabled) + _mesa_x86_cpu_features &= ~(X86_FEATURE_XMM); + } #elif defined(WIN32) LPTOP_LEVEL_EXCEPTION_FILTER oldFilter; |