ppsspp: bump version

This commit is contained in:
Gerasim Troeglazov
2023-01-22 22:30:40 +10:00
parent 0c8ed791f7
commit 5108ddfd4c
2 changed files with 89 additions and 124 deletions

View File

@@ -1,14 +1,14 @@
From fef734ec818cbeeb06db8d0b8581bd958230de68 Mon Sep 17 00:00:00 2001
From 30d1af3674a55370f5c293294f5f3e6045454518 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 11 Nov 2021 18:31:01 +1000
Date: Sun, 22 Jan 2023 22:07:54 +1000
Subject: Fixes for Haiku
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 169aafa..12b91f0 100644
index 76aed46..d5cdf29 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,7 +97,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Android")
@@ -98,7 +98,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Android")
endif()
# We only support Vulkan on Unix, macOS (by MoltenVK), Android and Windows.
@@ -17,7 +17,7 @@ index 169aafa..12b91f0 100644
set(VULKAN ON)
endif()
@@ -156,7 +156,7 @@ option(USE_SYSTEM_LIBPNG "Dynamically link against system libpng" ON)
@@ -176,7 +176,7 @@ option(USE_SYSTEM_MINIUPNPC "Dynamically link against system miniUPnPc" ${USE_SY
option(USE_ASAN "Use address sanitizer" OFF)
option(USE_UBSAN "Use undefined behaviour sanitizer" OFF)
@@ -26,7 +26,7 @@ index 169aafa..12b91f0 100644
if(USING_X11_VULKAN)
message("Using X11 for Vulkan")
add_definitions(-DVK_USE_PLATFORM_XLIB_KHR)
@@ -1254,7 +1254,7 @@ add_library(native STATIC
@@ -1329,7 +1329,7 @@ add_library(native STATIC
ext/jpge/jpge.h
)
@@ -35,7 +35,7 @@ index 169aafa..12b91f0 100644
set(RT_LIB rt)
endif()
@@ -1272,6 +1272,8 @@ if(ANDROID)
@@ -1347,6 +1347,8 @@ if(ANDROID)
target_link_libraries(native log EGL OpenSLES)
elseif(WIN32)
target_link_libraries(native ws2_32 winmm)
@@ -44,18 +44,18 @@ index 169aafa..12b91f0 100644
elseif(${CMAKE_SYSTEM_NAME} MATCHES "^(DragonFly|FreeBSD|NetBSD)$")
target_link_libraries(native execinfo)
endif()
@@ -1974,8 +1976,8 @@ if(ANDROID)
endif()
@@ -2075,8 +2077,8 @@ else()
set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "we don't need zstd programs" FORCE)
set(ZSTD_LEGACY_SUPPORT OFF CACHE BOOL "we don't use any old zstd files" FORCE)
add_subdirectory(ext/zstd/build/cmake EXCLUDE_FROM_ALL)
- set(CoreExtraLibs ${CoreExtraLibs} libzstd_static)
- include_directories(ext/zstd/lib)
+ set(CoreExtraLibs ${CoreExtraLibs} zstd)
+# include_directories(ext/zstd/lib)
endif()
-set(CoreExtraLibs ${CoreExtraLibs} armips libzstd_static)
-include_directories(ext/zstd/lib)
+set(CoreExtraLibs ${CoreExtraLibs} armips zstd)
+#include_directories(ext/zstd/lib)
# needed for VK_USE_PLATFORM_XCB_KHR only
#if(VULKAN AND NOT WIN32)
@@ -2014,12 +2016,15 @@ if(FFmpeg_FOUND)
target_link_libraries(${CoreLibName} Common native kirk cityhash sfmt19937 xbrz xxhash ${GlslangLibs}
@@ -2099,12 +2101,15 @@ if(FFmpeg_FOUND)
endif()
# Discord integration
@@ -70,9 +70,9 @@ index 169aafa..12b91f0 100644
+ target_link_libraries(${CoreLibName} miniupnpc)
+else()
if(USE_MINIUPNPC)
set (MINIUPNPC_VERSION 2.1) # used by miniupnpcstrings.h.cmake
set (MINIUPNPC_API_VERSION 17)
@@ -2089,6 +2094,7 @@ if(USE_MINIUPNPC)
if(USE_SYSTEM_MINIUPNPC)
find_package(MINIUPNPC REQUIRED)
@@ -2181,6 +2186,7 @@ if(USE_MINIUPNPC)
endif()
endif()
endif()
@@ -80,7 +80,7 @@ index 169aafa..12b91f0 100644
setup_target_project(${CoreLibName} Core)
@@ -2204,6 +2210,10 @@ set(WindowsFiles
@@ -2297,6 +2303,10 @@ set(WindowsFiles
list(APPEND LinkCommon ${CoreLibName} ${CMAKE_THREAD_LIBS_INIT})
@@ -105,10 +105,10 @@ index 3a5d8ac..f68142f 100644
#define bswap16 swap16
#define bswap32 swap32
diff --git a/Common/Thread/ThreadUtil.cpp b/Common/Thread/ThreadUtil.cpp
index a2016e2..ebfe3cb 100644
index 73eab75..833d0d7 100644
--- a/Common/Thread/ThreadUtil.cpp
+++ b/Common/Thread/ThreadUtil.cpp
@@ -30,8 +30,10 @@
@@ -31,8 +31,10 @@
#include <pthread.h>
#include <sys/types.h>
#include <unistd.h>
@@ -120,10 +120,10 @@ index a2016e2..ebfe3cb 100644
#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__OpenBSD__)
#include <pthread_np.h>
diff --git a/Core/Config.cpp b/Core/Config.cpp
index 305098f..e7b9b7c 100644
index 4971f9a..591dd9b 100644
--- a/Core/Config.cpp
+++ b/Core/Config.cpp
@@ -619,7 +619,7 @@ static ConfigSetting cpuSettings[] = {
@@ -646,7 +646,7 @@ static ConfigSetting cpuSettings[] = {
static int DefaultInternalResolution() {
// Auto on Windows and Linux, 2x on large screens, 1x elsewhere.
@@ -131,8 +131,8 @@ index 305098f..e7b9b7c 100644
+#if defined(USING_WIN_UI) || defined(USING_QT_UI) || defined(__HAIKU__)
return 0;
#else
int longestDisplaySide = std::max(System_GetPropertyInt(SYSPROP_DISPLAY_XRES), System_GetPropertyInt(SYSPROP_DISPLAY_YRES));
@@ -858,7 +858,11 @@ static ConfigSetting graphicsSettings[] = {
if (System_GetPropertyInt(SYSPROP_DEVICE_TYPE) == DEVICE_TYPE_VR) {
@@ -889,7 +889,11 @@ static ConfigSetting graphicsSettings[] = {
ReportedConfigSetting("InternalResolution", &g_Config.iInternalResolution, &DefaultInternalResolution, true, true),
ReportedConfigSetting("AndroidHwScale", &g_Config.iAndroidHwScale, &DefaultAndroidHwScale),
ReportedConfigSetting("HighQualityDepth", &g_Config.bHighQualityDepth, true, true, true),
@@ -142,9 +142,9 @@ index 305098f..e7b9b7c 100644
ReportedConfigSetting("FrameSkip", &g_Config.iFrameSkip, 0, true, true),
+#endif
ReportedConfigSetting("FrameSkipType", &g_Config.iFrameSkipType, 0, true, true),
ReportedConfigSetting("AutoFrameSkip", &g_Config.bAutoFrameSkip, false, true, true),
ConfigSetting("FrameRate", &g_Config.iFpsLimit1, 0, true, true),
@@ -869,10 +873,18 @@ static ConfigSetting graphicsSettings[] = {
ReportedConfigSetting("AutoFrameSkip", &g_Config.bAutoFrameSkip, IsVREnabled(), true, true),
ConfigSetting("StereoRendering", &g_Config.bStereoRendering, false, true, true),
@@ -904,11 +908,19 @@ static ConfigSetting graphicsSettings[] = {
#endif
// Most low-performance (and many high performance) mobile GPUs do not support aniso anyway so defaulting to 4 is fine.
@@ -153,6 +153,7 @@ index 305098f..e7b9b7c 100644
+#else
ConfigSetting("AnisotropyLevel", &g_Config.iAnisotropyLevel, 4, true, true),
+#endif
ConfigSetting("MultiSampleLevel", &g_Config.iMultiSampleLevel, 0, true, true), // Number of samples is 1 << iMultiSampleLevel
ReportedConfigSetting("VertexDecCache", &g_Config.bVertexCache, false, true, true),
+#ifdef __HAIKU__
@@ -160,26 +161,14 @@ index 305098f..e7b9b7c 100644
+#else
ReportedConfigSetting("TextureBackoffCache", &g_Config.bTextureBackoffCache, false, true, true),
+#endif
ReportedConfigSetting("TextureSecondaryCache", &g_Config.bTextureSecondaryCache, false, true, true),
ReportedConfigSetting("VertexDecJit", &g_Config.bVertexDecoderJit, &DefaultCodeGen, false),
@@ -907,7 +919,11 @@ static ConfigSetting graphicsSettings[] = {
ConfigSetting("ShaderChainRequires60FPS", &g_Config.bShaderChainRequires60FPS, false, true, true),
ReportedConfigSetting("MemBlockTransferGPU", &g_Config.bBlockTransferGPU, true, true, true),
+#ifdef __HAIKU__
+ ReportedConfigSetting("DisableSlowFramebufEffects", &g_Config.bDisableSlowFramebufEffects, true, true, true),
+#else
ReportedConfigSetting("DisableSlowFramebufEffects", &g_Config.bDisableSlowFramebufEffects, false, true, true),
+#endif
ReportedConfigSetting("FragmentTestCache", &g_Config.bFragmentTestCache, true, true, true),
ConfigSetting("GfxDebugOutput", &g_Config.bGfxDebugOutput, false, false, false),
#ifndef MOBILE_DEVICE
diff --git a/Core/HLE/proAdhoc.cpp b/Core/HLE/proAdhoc.cpp
index ba92142..5950dd8 100644
index 2a18f05..0ea29fb 100644
--- a/Core/HLE/proAdhoc.cpp
+++ b/Core/HLE/proAdhoc.cpp
@@ -2053,7 +2053,7 @@ int setUDPConnReset(int udpsock, bool enabled) {
@@ -2071,7 +2071,7 @@ int setUDPConnReset(int udpsock, bool enabled) {
return -1;
}
@@ -188,7 +177,7 @@ index ba92142..5950dd8 100644
#define TCP_KEEPIDLE TCP_KEEPALIVE //TCP_KEEPIDLE on Linux is equivalent to TCP_KEEPALIVE on macOS
#endif
// VS 2017 compatibility
@@ -2073,12 +2073,14 @@ int setSockKeepAlive(int sock, bool keepalive, const int keepinvl, const int kee
@@ -2091,12 +2091,14 @@ int setSockKeepAlive(int sock, bool keepalive, const int keepinvl, const int kee
if (result == 0 && keepalive) {
if (getsockopt(sock, SOL_SOCKET, SO_TYPE, (char*)&optval, (socklen_t*)&optlen) == 0 && optval == SOCK_STREAM) {
optlen = sizeof(optval);
@@ -217,28 +206,11 @@ index b8ecfd8..6ddd9eb 100644
// TODO: replace shm_open & shm_unlink with ashmem or android-shmem
return false;
#else
diff --git a/Core/Util/PortManager.h b/Core/Util/PortManager.h
index a4c7df6..78bcf01 100644
--- a/Core/Util/PortManager.h
+++ b/Core/Util/PortManager.h
@@ -26,9 +26,9 @@
#define MINIUPNP_STATICLIB
#endif
-#include "ext/miniupnp/miniupnpc/miniwget.h"
-#include "ext/miniupnp/miniupnpc/miniupnpc.h"
-#include "ext/miniupnp/miniupnpc/upnpcommands.h"
+#include "miniupnpc/miniwget.h"
+#include "miniupnpc/miniupnpc.h"
+#include "miniupnpc/upnpcommands.h"
#include <string>
#include <deque>
diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp
index f0f74f9..d42eed0 100644
index 4158600..457b678 100644
--- a/SDL/SDLMain.cpp
+++ b/SDL/SDLMain.cpp
@@ -210,7 +210,7 @@ void LaunchBrowser(const char *url) {
@@ -228,7 +228,7 @@ void LaunchBrowser(const char *url) {
#elif defined(_WIN32)
std::wstring wurl = ConvertUTF8ToWString(url);
ShellExecute(NULL, L"open", wurl.c_str(), NULL, NULL, SW_SHOWNORMAL);
@@ -247,7 +219,7 @@ index f0f74f9..d42eed0 100644
std::string command = std::string("open ") + url;
system(command.c_str());
#else
@@ -233,7 +233,7 @@ void LaunchMarket(const char *url) {
@@ -251,7 +251,7 @@ void LaunchMarket(const char *url) {
#elif defined(_WIN32)
std::wstring wurl = ConvertUTF8ToWString(url);
ShellExecute(NULL, L"open", wurl.c_str(), NULL, NULL, SW_SHOWNORMAL);
@@ -256,7 +228,7 @@ index f0f74f9..d42eed0 100644
std::string command = std::string("open ") + url;
system(command.c_str());
#else
@@ -251,7 +251,7 @@ void LaunchEmail(const char *email_address) {
@@ -269,7 +269,7 @@ void LaunchEmail(const char *email_address) {
#elif defined(_WIN32)
std::wstring mailto = std::wstring(L"mailto:") + ConvertUTF8ToWString(email_address);
ShellExecute(NULL, L"open", mailto.c_str(), NULL, NULL, SW_SHOWNORMAL);
@@ -265,7 +237,7 @@ index f0f74f9..d42eed0 100644
std::string command = std::string("open mailto:") + email_address;
system(command.c_str());
#else
@@ -270,6 +270,8 @@ std::string System_GetProperty(SystemProperty prop) {
@@ -288,6 +288,8 @@ std::string System_GetProperty(SystemProperty prop) {
return "SDL:Windows";
#elif __linux__
return "SDL:Linux";
@@ -274,7 +246,7 @@ index f0f74f9..d42eed0 100644
#elif __APPLE__
return "SDL:macOS";
#elif PPSSPP_PLATFORM(SWITCH)
@@ -487,6 +489,16 @@ int main(int argc, char *argv[]) {
@@ -524,6 +526,16 @@ int main(int argc, char *argv[]) {
}
}
@@ -292,10 +264,10 @@ index f0f74f9..d42eed0 100644
socketInitializeDefault();
nxlinkStdio();
diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp
index 4bb1c42..3547fea 100644
index a2215be..22a2997 100644
--- a/UI/NativeApp.cpp
+++ b/UI/NativeApp.cpp
@@ -559,6 +559,9 @@ void NativeInit(int argc, const char *argv[], const char *savegame_dir, const ch
@@ -563,6 +563,9 @@ void NativeInit(int argc, const char *argv[], const char *savegame_dir, const ch
#elif PPSSPP_PLATFORM(SWITCH)
g_Config.memStickDirectory = g_Config.internalDataDirectory / "config/ppsspp";
g_Config.flash0Directory = g_Config.internalDataDirectory / "assets/flash0";
@@ -343,19 +315,10 @@ index 648c0ba..cf5bd49 100644
NO_CMAKE_FIND_ROOT_PATH
)
diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
index 3597ca1..2a258e6 100644
index ac16518..96ffb4a 100644
--- a/ext/CMakeLists.txt
+++ b/ext/CMakeLists.txt
@@ -8,7 +8,7 @@ endif()
set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL "let's not build binaries we don't need" FORCE)
set(SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS ON CACHE BOOL "let's not use exceptions" FORCE)
set(ENABLE_SPVREMAPPER OFF CACHE BOOL "we don't need spvremapper" FORCE)
-set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "we don't need zstd programs" FORCE)
+#set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "we don't need zstd programs" FORCE)
# This is really a workaround for an NDK 20 compiler issue (PPSSPP issue #12105), but shouldn't hurt.
if(ANDROID)
@@ -19,7 +19,7 @@ add_subdirectory(glslang EXCLUDE_FROM_ALL)
@@ -24,6 +24,6 @@ add_subdirectory(glslang EXCLUDE_FROM_ALL)
add_subdirectory(snappy)
add_subdirectory(udis86)
add_subdirectory(SPIRV-Cross-build)
@@ -363,8 +326,19 @@ index 3597ca1..2a258e6 100644
+if(USE_DISCORD AND NOT IOS AND NOT LIBRETRO AND NOT HAIKU)
add_subdirectory(discord-rpc-build)
endif()
-add_subdirectory(zstd/build/cmake EXCLUDE_FROM_ALL)
+#add_subdirectory(zstd/build/cmake EXCLUDE_FROM_ALL)
diff --git a/ext/armips/ext/filesystem/include/ghc/filesystem.hpp b/ext/armips/ext/filesystem/include/ghc/filesystem.hpp
index 5cd76ae..0d0d5cb 100644
--- a/ext/armips/ext/filesystem/include/ghc/filesystem.hpp
+++ b/ext/armips/ext/filesystem/include/ghc/filesystem.hpp
@@ -51,6 +51,8 @@
#define GHC_OS_MACOS
#elif defined(__linux__)
#define GHC_OS_LINUX
+#elif defined(__HAIKU__)
+#define GHC_OS_HAIKU
#if defined(__ANDROID__)
#define GHC_OS_ANDROID
#endif
diff --git a/ext/cityhash/city.h b/ext/cityhash/city.h
index 94499ce..1b80a5e 100644
--- a/ext/cityhash/city.h
@@ -381,6 +355,22 @@ index 94499ce..1b80a5e 100644
typedef uint64_t uint64;
typedef std::pair<uint64, uint64> uint128;
diff --git a/ext/xxhash.h b/ext/xxhash.h
index aeecc38..34852f7 100644
--- a/ext/xxhash.h
+++ b/ext/xxhash.h
@@ -1544,6 +1544,11 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size)
# define XXH_ASSERT(c) ((void)0)
#endif
+#ifdef __HAIKU__
+#undef static_assert
+#define static_assert _Static_assert
+#endif
+
/* note: use after variable declarations */
#ifndef XXH_STATIC_ASSERT
# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* C11 */
--
2.30.2
2.37.3