Mercurial > mplayer.hg
changeset 27605:5b7f52928bcd
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.
author | reimar |
---|---|
date | Thu, 18 Sep 2008 15:30:23 +0000 |
parents | 4b7f86c4a8b9 |
children | 791803b951ac |
files | cpudetect.c |
diffstat | 1 files changed, 8 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/cpudetect.c Thu Sep 18 00:26:37 2008 +0000 +++ b/cpudetect.c Thu Sep 18 15:30:23 2008 +0000 @@ -382,25 +382,15 @@ 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 @@ 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 @@ 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 @@ // __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 @@ /* 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.