linuxOS_AP06/buildroot/package/retroarch/libretro-mupen64plus/0001-Fix-compile-errors.patch

159 lines
5.5 KiB
Diff
Raw Normal View History

2025-06-03 04:28:32 +00:00
From 2e7429be3c4f747fe166447b7704ca39273e8fbf Mon Sep 17 00:00:00 2001
From: Jeffy Chen <jeffy.chen@rock-chips.com>
Date: Thu, 12 Sep 2024 11:36:08 +0800
Subject: [PATCH] Fix compile errors
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
GLideN64/src/ShaderUtils.h | 1 +
libretro-common/audio/conversion/float_to_s16.c | 5 +++++
libretro-common/audio/conversion/s16_to_float.c | 5 +++++
libretro-common/include/audio/conversion/float_to_s16.h | 2 +-
libretro-common/include/audio/conversion/s16_to_float.h | 2 +-
libretro-common/include/glsm/glsm.h | 2 +-
libretro/libretro.c | 2 ++
libretro/libretro_private.h | 2 +-
mupen64plus-core/src/main/workqueue.h | 1 -
mupen64plus-rsp-cxd4/su.c | 4 ++--
10 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/GLideN64/src/ShaderUtils.h b/GLideN64/src/ShaderUtils.h
index 3377244..9888e86 100644
--- a/GLideN64/src/ShaderUtils.h
+++ b/GLideN64/src/ShaderUtils.h
@@ -3,6 +3,7 @@
#include "OpenGL.h"
#include "Combiner.h"
+#include <string>
GLuint createShaderProgram(const char * _strVertex, const char * _strFragment);
bool checkShaderCompileStatus(GLuint obj);
diff --git a/libretro-common/audio/conversion/float_to_s16.c b/libretro-common/audio/conversion/float_to_s16.c
index 2eeefa4..dbea03a 100644
--- a/libretro-common/audio/conversion/float_to_s16.c
+++ b/libretro-common/audio/conversion/float_to_s16.c
@@ -199,6 +199,11 @@ void convert_float_to_s16_ALLEGREX(int16_t *out,
}
#endif
+#if defined(__ARM_NEON__)
+void (*convert_float_to_s16_arm)(int16_t *out,
+ const float *in, size_t samples);
+#endif
+
/**
* convert_float_to_s16_init_simd:
*
diff --git a/libretro-common/audio/conversion/s16_to_float.c b/libretro-common/audio/conversion/s16_to_float.c
index afaff6d..a27c9b7 100644
--- a/libretro-common/audio/conversion/s16_to_float.c
+++ b/libretro-common/audio/conversion/s16_to_float.c
@@ -230,6 +230,11 @@ void convert_s16_to_float_ALLEGREX(float *out,
}
#endif
+#if defined(__ARM_NEON__)
+void (*convert_s16_to_float_arm)(float *out,
+ const int16_t *in, size_t samples, float gain);
+#endif
+
/**
* convert_s16_to_float_init_simd:
*
diff --git a/libretro-common/include/audio/conversion/float_to_s16.h b/libretro-common/include/audio/conversion/float_to_s16.h
index 381db8e..065e2c8 100644
--- a/libretro-common/include/audio/conversion/float_to_s16.h
+++ b/libretro-common/include/audio/conversion/float_to_s16.h
@@ -77,7 +77,7 @@ void convert_float_to_s16_altivec(int16_t *out,
#elif defined(__ARM_NEON__)
#define convert_float_to_s16 convert_float_to_s16_arm
-void (*convert_float_to_s16_arm)(int16_t *out,
+extern void (*convert_float_to_s16_arm)(int16_t *out,
const float *in, size_t samples);
void convert_float_s16_asm(int16_t *out, const float *in, size_t samples);
diff --git a/libretro-common/include/audio/conversion/s16_to_float.h b/libretro-common/include/audio/conversion/s16_to_float.h
index 6407a63..0b7681a 100644
--- a/libretro-common/include/audio/conversion/s16_to_float.h
+++ b/libretro-common/include/audio/conversion/s16_to_float.h
@@ -68,7 +68,7 @@ void convert_s16_to_float_altivec(float *out,
#elif defined(__ARM_NEON__)
#define convert_s16_to_float convert_s16_to_float_arm
-void (*convert_s16_to_float_arm)(float *out,
+extern void (*convert_s16_to_float_arm)(float *out,
const int16_t *in, size_t samples, float gain);
#elif defined(_MIPS_ARCH_ALLEGREX)
diff --git a/libretro-common/include/glsm/glsm.h b/libretro-common/include/glsm/glsm.h
index d422267..c4096a0 100644
--- a/libretro-common/include/glsm/glsm.h
+++ b/libretro-common/include/glsm/glsm.h
@@ -32,7 +32,7 @@
RETRO_BEGIN_DECLS
#ifdef HAVE_OPENGLES2
-typedef GLfloat GLdouble;
+typedef double GLdouble;
typedef GLclampf GLclampd;
#endif
diff --git a/libretro/libretro.c b/libretro/libretro.c
index 1827caf..0751e50 100644
--- a/libretro/libretro.c
+++ b/libretro/libretro.c
@@ -55,6 +55,8 @@ retro_input_state_t input_cb = NULL;
retro_audio_sample_batch_t audio_batch_cb = NULL;
retro_environment_t environ_cb = NULL;
+bool libretro_swap_buffer;
+
struct retro_rumble_interface rumble;
save_memory_data saved_memory;
diff --git a/libretro/libretro_private.h b/libretro/libretro_private.h
index 1d048f0..6d7ac73 100644
--- a/libretro/libretro_private.h
+++ b/libretro/libretro_private.h
@@ -16,7 +16,7 @@ extern retro_get_cpu_features_t perf_get_cpu_features_cb;
extern retro_perf_get_counter_t perf_get_counter_cb;
extern retro_log_printf_t log_cb;
extern retro_perf_register_t perf_register_cb;
-bool libretro_swap_buffer;
+extern bool libretro_swap_buffer;
void retro_return();
#define SDL_GetTicks() FAKE_SDL_TICKS
diff --git a/mupen64plus-core/src/main/workqueue.h b/mupen64plus-core/src/main/workqueue.h
index 2228359..a2d08b5 100644
--- a/mupen64plus-core/src/main/workqueue.h
+++ b/mupen64plus-core/src/main/workqueue.h
@@ -27,7 +27,6 @@
struct work_struct;
-struct work_struct *work;
typedef void (*work_func_t)(struct work_struct *work);
struct work_struct {
work_func_t func;
diff --git a/mupen64plus-rsp-cxd4/su.c b/mupen64plus-rsp-cxd4/su.c
index 9a679e7..bd38199 100644
--- a/mupen64plus-rsp-cxd4/su.c
+++ b/mupen64plus-rsp-cxd4/su.c
@@ -27,8 +27,8 @@ u32 SR[32];
typedef VECTOR_OPERATION(*p_vector_func)(v16, v16);
pu8 DRAM;
-pu8 DMEM;
-pu8 IMEM;
+extern pu8 DMEM;
+extern pu8 IMEM;
NOINLINE void res_S(void)
{
--
2.20.1