summaryrefslogtreecommitdiffstats
path: root/cpudetect.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-18 15:30:23 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-18 15:30:23 +0000
commitf19f7625489dfa9d580b34d1d125a1d89a8eeec7 (patch)
tree1de0efe3c46cd5e1b0b861aae9f9b618dfd7f028 /cpudetect.c
parentcec6a449ef4650925e55d24e876947f2f51f0abe (diff)
downloadmpv-f19f7625489dfa9d580b34d1d125a1d89a8eeec7.tar.bz2
mpv-f19f7625489dfa9d580b34d1d125a1d89a8eeec7.tar.xz
Simplify cpudetect OS-support detection code, e.g. using one mp_msg to print either yes or no instead of two.
Should not change code behaviour. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27637 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'cpudetect.c')
-rw-r--r--cpudetect.c36
1 files changed, 8 insertions, 28 deletions
diff --git a/cpudetect.c b/cpudetect.c
index 7faa4e7c77..8ec1adefaa 100644
--- a/cpudetect.c
+++ b/cpudetect.c
@@ -382,25 +382,15 @@ static void check_os_katmai_support( void )
mp_msg(MSGT_CPUDETECT,MSGL_V, "Testing OS support for SSE... " );
ret = sysctl(mib, 2, &has_sse, &varlen, NULL, 0);
- if (ret < 0 || !has_sse) {
- gCpuCaps.hasSSE=0;
- mp_msg(MSGT_CPUDETECT,MSGL_V, "no!\n" );
- } else {
- gCpuCaps.hasSSE=1;
- mp_msg(MSGT_CPUDETECT,MSGL_V, "yes!\n" );
- }
+ gCpuCaps.hasSSE = ret >= 0 && has_sse;
+ mp_msg(MSGT_CPUDETECT,MSGL_V, gCpuCaps.hasSSE ? "yes.\n" : "no!\n" );
mib[1] = CPU_SSE2;
varlen = sizeof(has_sse2);
mp_msg(MSGT_CPUDETECT,MSGL_V, "Testing OS support for SSE2... " );
ret = sysctl(mib, 2, &has_sse2, &varlen, NULL, 0);
- if (ret < 0 || !has_sse2) {
- gCpuCaps.hasSSE2=0;
- mp_msg(MSGT_CPUDETECT,MSGL_V, "no!\n" );
- } else {
- gCpuCaps.hasSSE2=1;
- mp_msg(MSGT_CPUDETECT,MSGL_V, "yes!\n" );
- }
+ gCpuCaps.hasSSE2 = ret >= 0 && has_sse2;
+ mp_msg(MSGT_CPUDETECT,MSGL_V, gCpuCaps.hasSSE2 ? "yes.\n" : "no!\n" );
#else
gCpuCaps.hasSSE = 0;
mp_msg(MSGT_CPUDETECT,MSGL_WARN, "No OS support for SSE, disabling to be safe.\n" );
@@ -412,8 +402,7 @@ static void check_os_katmai_support( void )
exc_fil = SetUnhandledExceptionFilter(win32_sig_handler_sse);
__asm __volatile ("xorps %xmm0, %xmm0");
SetUnhandledExceptionFilter(exc_fil);
- if ( gCpuCaps.hasSSE ) mp_msg(MSGT_CPUDETECT,MSGL_V, "yes.\n" );
- else mp_msg(MSGT_CPUDETECT,MSGL_V, "no!\n" );
+ mp_msg(MSGT_CPUDETECT,MSGL_V, gCpuCaps.hasSSE ? "yes.\n" : "no!\n" );
}
#elif defined(__OS2__)
EXCEPTIONREGISTRATIONRECORD RegRec = { 0, &os2_sig_handler_sse };
@@ -422,8 +411,7 @@ static void check_os_katmai_support( void )
DosSetExceptionHandler( &RegRec );
__asm __volatile ("xorps %xmm0, %xmm0");
DosUnsetExceptionHandler( &RegRec );
- if ( gCpuCaps.hasSSE ) mp_msg(MSGT_CPUDETECT,MSGL_V, "yes.\n" );
- else mp_msg(MSGT_CPUDETECT,MSGL_V, "no!\n" );
+ mp_msg(MSGT_CPUDETECT,MSGL_V, gCpuCaps.hasSSE ? "yes.\n" : "no!\n" );
}
#elif defined(__linux__)
#if defined(_POSIX_SOURCE)
@@ -447,11 +435,7 @@ static void check_os_katmai_support( void )
// __asm __volatile ("xorps %%xmm0, %%xmm0");
__asm __volatile ("xorps %xmm0, %xmm0");
- if ( gCpuCaps.hasSSE ) {
- mp_msg(MSGT_CPUDETECT,MSGL_V, "yes.\n" );
- } else {
- mp_msg(MSGT_CPUDETECT,MSGL_V, "no!\n" );
- }
+ mp_msg(MSGT_CPUDETECT,MSGL_V, gCpuCaps.hasSSE ? "yes.\n" : "no!\n" );
}
/* Restore the original signal handlers.
@@ -461,11 +445,7 @@ static void check_os_katmai_support( void )
/* If we've gotten to here and the XMM CPUID bit is still set, we're
* safe to go ahead and hook out the SSE code throughout Mesa.
*/
- if ( gCpuCaps.hasSSE ) {
- mp_msg(MSGT_CPUDETECT,MSGL_V, "Tests of OS support for SSE passed.\n" );
- } else {
- mp_msg(MSGT_CPUDETECT,MSGL_V, "Tests of OS support for SSE failed!\n" );
- }
+ mp_msg(MSGT_CPUDETECT,MSGL_V, "Tests of OS support for SSE %s\n", gCpuCaps.hasSSE ? "passed." : "failed!" );
#else
/* We can't use POSIX signal handling to test the availability of
* SSE, so we disable it by default.