summaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-23 15:12:22 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-23 15:12:22 +0000
commitce6e53b4c11cc4676280624bed3c0b99d1b8dbd3 (patch)
tree9f6a25dd34254b6ec94e75c8ba881c94b9b91e10 /loader
parent4fc0795223ef4899e963dfa5a2202476f58fd1f0 (diff)
downloadmpv-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')
-rw-r--r--loader/win32.c7
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();