From: divverent Date: Sun, 10 Apr 2011 19:23:57 +0000 (+0000) Subject: fix compilation of dpsoftrast on mingw32 (use Interlocked* instead of __sync_*) X-Git-Tag: xonotic-v0.5.0~278 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=e4b8768a97823497a9cf1920281addef1addc128;p=xonotic%2Fdarkplaces.git fix compilation of dpsoftrast on mingw32 (use Interlocked* instead of __sync_*) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11048 d7cf8633-e32d-0410-b094-e92efae38249 ::stable-branch::merge=068b4bae6bdc5b323d9a75de52f9f51afc5a3003 --- diff --git a/dpsoftrast.c b/dpsoftrast.c index 222b71c6..75d6db80 100644 --- a/dpsoftrast.c +++ b/dpsoftrast.c @@ -27,6 +27,15 @@ typedef qboolean bool; #define ATOMIC_INCREMENT(counter) (OSAtomicIncrement32Barrier(&(counter))) #define ATOMIC_DECREMENT(counter) (OSAtomicDecrement32Barrier(&(counter))) #define ATOMIC_ADD(counter, val) ((void)OSAtomicAdd32Barrier((val), &(counter))) + #elif defined(__GNUC__) && defined(WIN32) + #define ALIGN(var) var __attribute__((__aligned__(16))) + #define ATOMIC(var) var __attribute__((__aligned__(32))) + #define MEMORY_BARRIER (_mm_sfence()) + //(__sync_synchronize()) + #define ATOMIC_COUNTER volatile LONG + #define ATOMIC_INCREMENT(counter) (InterlockedIncrement(&(counter))) + #define ATOMIC_DECREMENT(counter) (InterlockedDecrement(&(counter))) + #define ATOMIC_ADD(counter, val) ((void)InterlockedExchangeAdd(&(counter), (val))) #elif defined(__GNUC__) #define ALIGN(var) var __attribute__((__aligned__(16))) #define ATOMIC(var) var __attribute__((__aligned__(32)))