mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-22 19:44:21 +01:00
932430f5c0
Signed-off-by: B. Watson <yalhcru@gmail.com>
89 lines
2.9 KiB
Diff
89 lines
2.9 KiB
Diff
--- a/dpsoftrast.c 2013-02-07 11:40:40.000000000 +0000
|
|
+++ a/dpsoftrast.c 2021-04-30 04:45:31.276607019 +0000
|
|
@@ -21,6 +21,7 @@
|
|
#if defined(__APPLE__)
|
|
#include <libkern/OSAtomic.h>
|
|
#define ALIGN(var) var __attribute__((__aligned__(16)))
|
|
+ #define ALIGN_STRUCT(def) struct __attribute__((__aligned__(16))) def
|
|
#define ATOMIC(var) var __attribute__((__aligned__(4)))
|
|
#define MEMORY_BARRIER (_mm_sfence())
|
|
#define ATOMIC_COUNTER volatile int32_t
|
|
@@ -29,6 +30,7 @@
|
|
#define ATOMIC_ADD(counter, val) ((void)OSAtomicAdd32Barrier((val), &(counter)))
|
|
#elif defined(__GNUC__) && defined(WIN32)
|
|
#define ALIGN(var) var __attribute__((__aligned__(16)))
|
|
+ #define ALIGN_STRUCT(def) struct __attribute__((__aligned__(16))) def
|
|
#define ATOMIC(var) var __attribute__((__aligned__(4)))
|
|
#define MEMORY_BARRIER (_mm_sfence())
|
|
//(__sync_synchronize())
|
|
@@ -43,6 +45,7 @@
|
|
#define ATOMIC_ADD(counter, val) ((void)InterlockedExchangeAdd((LONG *) &(counter), (val)))
|
|
#elif defined(__GNUC__)
|
|
#define ALIGN(var) var __attribute__((__aligned__(16)))
|
|
+ #define ALIGN_STRUCT(def) struct __attribute__((__aligned__(16))) def
|
|
#define ATOMIC(var) var __attribute__((__aligned__(4)))
|
|
#define MEMORY_BARRIER (_mm_sfence())
|
|
//(__sync_synchronize())
|
|
@@ -52,6 +55,7 @@
|
|
#define ATOMIC_ADD(counter, val) ((void)__sync_fetch_and_add(&(counter), (val)))
|
|
#elif defined(_MSC_VER)
|
|
#define ALIGN(var) __declspec(align(16)) var
|
|
+ #define ALIGN_STRUCT(def) ALIGN(struct def)
|
|
#define ATOMIC(var) __declspec(align(4)) var
|
|
#define MEMORY_BARRIER (_mm_sfence())
|
|
//(MemoryBarrier())
|
|
@@ -65,6 +69,9 @@
|
|
#ifndef ALIGN
|
|
#define ALIGN(var) var
|
|
#endif
|
|
+#ifndef ALIGN_STRUCT
|
|
+#define ALIGN_STRUCT(def) def
|
|
+#endif
|
|
#ifndef ATOMIC
|
|
#define ATOMIC(var) var
|
|
#endif
|
|
@@ -163,7 +170,7 @@
|
|
#define DPSOFTRAST_DRAW_MAXCOMMANDPOOL 2097152
|
|
#define DPSOFTRAST_DRAW_MAXCOMMANDSIZE 16384
|
|
|
|
-typedef ALIGN(struct DPSOFTRAST_State_Command_Pool_s
|
|
+typedef ALIGN_STRUCT(DPSOFTRAST_State_Command_Pool_s
|
|
{
|
|
int freecommand;
|
|
int usedcommands;
|
|
@@ -171,7 +178,7 @@
|
|
}
|
|
DPSOFTRAST_State_Command_Pool);
|
|
|
|
-typedef ALIGN(struct DPSOFTRAST_State_Triangle_s
|
|
+typedef ALIGN_STRUCT(DPSOFTRAST_State_Triangle_s
|
|
{
|
|
unsigned char mip[DPSOFTRAST_MAXTEXTUREUNITS]; // texcoord to screen space density values (for picking mipmap of textures)
|
|
float w[3];
|
|
@@ -198,7 +205,7 @@
|
|
|
|
#define DPSOFTRAST_DRAW_MAXSUBSPAN 16
|
|
|
|
-typedef ALIGN(struct DPSOFTRAST_State_Span_s
|
|
+typedef ALIGN_STRUCT(DPSOFTRAST_State_Span_s
|
|
{
|
|
int triangle; // triangle this span was generated by
|
|
int x; // framebuffer x coord
|
|
@@ -236,7 +243,7 @@
|
|
}
|
|
DPSOFTRAST_BLENDMODE;
|
|
|
|
-typedef ALIGN(struct DPSOFTRAST_State_Thread_s
|
|
+typedef ALIGN_STRUCT(DPSOFTRAST_State_Thread_s
|
|
{
|
|
void *thread;
|
|
int index;
|
|
@@ -302,7 +309,7 @@
|
|
}
|
|
DPSOFTRAST_State_Thread);
|
|
|
|
-typedef ALIGN(struct DPSOFTRAST_State_s
|
|
+typedef ALIGN_STRUCT(DPSOFTRAST_State_s
|
|
{
|
|
int fb_width;
|
|
int fb_height;
|