Commit baf813b8 authored by Sam Lantinga's avatar Sam Lantinga

Our minimum Windows version is Windows 2000, so it's okay to directly call...

Our minimum Windows version is Windows 2000, so it's okay to directly call InitializeCriticalSectionAndSpinCount()..
parent 58d7fc47
......@@ -30,8 +30,8 @@
#ifndef UNICODE
#define UNICODE 1
#endif
#undef WINVER
#define WINVER 0x500 /* Need 0x410 for AlphaBlend() and 0x500 for EnumDisplayDevices() */
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x500 /* Need 0x410 for AlphaBlend() and 0x500 for EnumDisplayDevices() */
#include <windows.h>
......
......@@ -38,29 +38,17 @@ SDL_mutex *
SDL_CreateMutex(void)
{
SDL_mutex *mutex;
static DWORD (WINAPI*pf_SetCriticalSectionSpinCount)(LPCRITICAL_SECTION, DWORD) = NULL;
static HMODULE kernel32 = NULL;
/* One time logic - detect WinNT */
if(kernel32 == NULL) {
kernel32 = GetModuleHandleA("kernel32.dll");
if(kernel32) {
/* Attempt to resolve symbol -- Win9x gets NULL */
pf_SetCriticalSectionSpinCount = (DWORD (WINAPI*)(LPCRITICAL_SECTION, DWORD))GetProcAddress(kernel32, "SetCriticalSectionSpinCount");
}
else
kernel32 = (HMODULE)0x01; /* don't try to init again */
}
/* Allocate mutex memory */
mutex = (SDL_mutex *) SDL_malloc(sizeof(*mutex));
if (mutex) {
/* Initialize */
#ifdef _WIN32_WCE
InitializeCriticalSection(&mutex->cs);
#else
/* On SMP systems, a non-zero spin count generally helps performance */
if(pf_SetCriticalSectionSpinCount) pf_SetCriticalSectionSpinCount(&mutex->cs, 2000);
InitializeCriticalSectionAndSpinCount(&mutex->cs, 2000);
#endif
} else {
SDL_OutOfMemory();
}
......
......@@ -20,13 +20,6 @@
slouken@libsdl.org
*/
/* we need to define it, so that raw input is included*/
#if (_WIN32_WINNT < 0x0501)
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif
#include "SDL_config.h"
#include "SDL_windowsvideo.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment