mirror of
https://github.com/yawut/SDL.git
synced 2026-04-20 23:57:24 -05:00
Use compiler intrinsics on Windows
This commit is contained in:
parent
f5bbe15139
commit
b8df61a201
|
|
@ -25,8 +25,7 @@
|
|||
#include "SDL_timer.h"
|
||||
|
||||
#if defined(__WIN32__)
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <intrin.h>
|
||||
|
||||
#elif defined(__MACOSX__)
|
||||
#include <libkern/OSAtomic.h>
|
||||
|
|
@ -39,7 +38,8 @@ SDL_bool
|
|||
SDL_AtomicTryLock(SDL_SpinLock *lock)
|
||||
{
|
||||
#if defined(__WIN32__)
|
||||
return (InterlockedExchange(lock, 1) == 0);
|
||||
SDL_COMPILE_TIME_ASSERT(locksize, sizeof(*lock) == sizeof(long));
|
||||
return (_InterlockedExchange((long*)lock, 1) == 0);
|
||||
|
||||
#elif defined(__MACOSX__)
|
||||
return OSAtomicCompareAndSwap32Barrier(0, 1, lock);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user