mirror of
https://github.com/yawut/SDL.git
synced 2026-04-24 15:26:55 -05:00
Our minimum Windows version is Windows 2000, so it's okay to directly call InitializeCriticalSectionAndSpinCount()..
This commit is contained in:
parent
37df96b8c7
commit
acbbcf8bfd
4
src/core/windows/SDL_windows.h
Normal file → Executable file
4
src/core/windows/SDL_windows.h
Normal file → Executable file
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
20
src/thread/windows/SDL_sysmutex.c
Normal file → Executable file
20
src/thread/windows/SDL_sysmutex.c
Normal file → Executable file
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
7
src/video/windows/SDL_windowsmouse.c
Normal file → Executable file
7
src/video/windows/SDL_windowsmouse.c
Normal file → Executable file
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user