From 068b4bae6bdc5b323d9a75de52f9f51afc5a3003 Mon Sep 17 00:00:00 2001 From: divverent Date: Sun, 10 Apr 2011 19:23:57 +0000 Subject: [PATCH] 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 --- dpsoftrast.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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))) -- 2.39.2