diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-04-23 15:12:22 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-04-23 15:12:22 +0000 |
commit | ce6e53b4c11cc4676280624bed3c0b99d1b8dbd3 (patch) | |
tree | 9f6a25dd34254b6ec94e75c8ba881c94b9b91e10 /loader/win32.c | |
parent | 4fc0795223ef4899e963dfa5a2202476f58fd1f0 (diff) | |
download | mpv-ce6e53b4c11cc4676280624bed3c0b99d1b8dbd3.tar.bz2 mpv-ce6e53b4c11cc4676280624bed3c0b99d1b8dbd3.tar.xz |
workaround: force PF table setup in IsProcessorFeaturePresent
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5801 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader/win32.c')
-rw-r--r-- | loader/win32.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/loader/win32.c b/loader/win32.c index 64eff0d8bb..a82346709f 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -784,12 +784,18 @@ static void* WINAPI expWaitForSingleObject(void* object, int duration) return (void *)ret; } +static int pf_set = 0; static BYTE PF[64] = {0,}; static WIN_BOOL WINAPI expIsProcessorFeaturePresent(DWORD v) { WIN_BOOL result; if(v>63)result=0; + if (!pf_set) + { + SYSTEM_INFO si; + expGetSystemInfo(&si); + } else result=PF[v]; dbgprintf("IsProcessorFeaturePresent(0x%x) => 0x%x\n", v, result); return result; @@ -823,6 +829,7 @@ static void WINAPI expGetSystemInfo(SYSTEM_INFO* si) return; } memset(PF,0,sizeof(PF)); + pf_set = 1; cachedsi.u.s.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_INTEL; cachedsi.dwPageSize = getpagesize(); |