games/darkplaces: Patch for gcc >= 11.x.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
b53ebffb0f
commit
32baca649e
|
@ -100,6 +100,9 @@ find -L . \
|
|||
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||
-exec chmod 644 {} \;
|
||||
|
||||
( cd darkplaces
|
||||
patch -p1 < $CWD/gcc11.patch )
|
||||
|
||||
if [ "$SOURCE" != "NO" ]; then
|
||||
cd $PRGNAM
|
||||
make OPTIM_RELEASE="$SLKCFLAGS" release
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
--- a/dpsoftrast.c 2013-02-07 11:40:40.000000000 +0000
|
||||
+++ b/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;
|
Loading…
Reference in New Issue