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

View File

@@ -3,33 +3,13 @@ DESCRIPTION="PPSSPP is a PSP (PlayStation Portable) emulator capable of playing
majority of the games made for Sonys first portable console right on your favorite \
Android or PC device."
HOMEPAGE="https://www.ppsspp.org/"
COPYRIGHT="2012-2021 PPSSPP Project"
COPYRIGHT="2012-2023 PPSSPP Project"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://github.com/hrydgard/ppsspp/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="c9458ab1946d7d665465f69aafdf8598179852fefdcd7aef9050f7278193bec5"
SOURCE_FILENAME="ppsspp-$portVersion.tar.gz"
SOURCE_URI="https://github.com/hrydgard/ppsspp/releases/download/v${portVersion}/ppsspp-${portVersion}.tar.xz"
CHECKSUM_SHA256="54ede41af569116d9c284f7b157d1449dcd13944675e60c2875bf3a3994f5dda"
SOURCE_FILENAME="ppsspp-$portVersion.tar.xz"
SOURCE_DIR="ppsspp-$portVersion"
srcGitRev_2="7885552b208493a6a0f21663770c446c3ba65576"
SOURCE_URI_2="https://github.com/Kingcom/armips/archive/$srcGitRev_2.tar.gz"
CHECKSUM_SHA256_2="f8a03906135fb6f2932b80b7ef5991f39ccac46b36ec3690776fb38c69775c3d"
SOURCE_FILENAME_2="armips-$srcGitRev_2.tar.gz"
SOURCE_DIR_2="armips-$srcGitRev_2"
srcGitRev_3="dc11adde23c455a24e13dd54de9b4ede8bdd7db8"
SOURCE_URI_3="https://github.com/hrydgard/glslang/archive/$srcGitRev_3.tar.gz"
CHECKSUM_SHA256_3="32edc362238d5b1136b2b40b0abdeef5a832e599554d2fcf75d7b08e4b0ed0bb"
SOURCE_FILENAME_3="glslang-$srcGitRev_3.tar.gz"
SOURCE_DIR_3="glslang-$srcGitRev_3"
srcGitRev_4="9acb9ec31f5a8ef80ea6b994bb77be787b08d3d1"
SOURCE_URI_4="https://github.com/KhronosGroup/SPIRV-Cross/archive/$srcGitRev_4.tar.gz"
CHECKSUM_SHA256_4="9423aebd6ea4251c6ea736f0291066eb2b99b6f923151edd1a78ce9c29b46757"
SOURCE_FILENAME_4="SPIRV-Cross-$srcGitRev_4.tar.gz"
SOURCE_DIR_4="SPIRV-Cross-$srcGitRev_4"
srcGitRev_5="52d180df0f4e7eee18e8e4846826806f10b16dcb"
SOURCE_URI_5="https://github.com/hrydgard/ppsspp-lang/archive/$srcGitRev_5.tar.gz"
CHECKSUM_SHA256_5="3cbe1fe0438d780da3572927495df3e77560e4c3e9eb51f1ee38ba938138556f"
SOURCE_FILENAME_5="ppsspp-lang-$srcGitRev_5.tar.gz"
SOURCE_DIR_5="ppsspp-lang-$srcGitRev_5"
PATCHES="ppsspp-$portVersion.patchset"
ADDITIONAL_FILES="ppsspp.rdef.in"
@@ -61,9 +41,9 @@ REQUIRES="
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libavcodec$secondaryArchSuffix
devel:libavformat$secondaryArchSuffix
devel:libavutil$secondaryArchSuffix
devel:libavcodec$secondaryArchSuffix >= 58
devel:libavformat$secondaryArchSuffix >= 58
devel:libavutil$secondaryArchSuffix >= 56
devel:libGL$secondaryArchSuffix
devel:libglew$secondaryArchSuffix >= 2.2
devel:libGLU$secondaryArchSuffix
@@ -80,6 +60,7 @@ BUILD_REQUIRES="
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix
cmd:make
cmd:python3
cmd:pkg_config$secondaryArchSuffix
@@ -87,26 +68,20 @@ BUILD_PREREQUIRES="
BUILD()
{
rm -rf ext/{armips,glslang,SPIRV-Cross}
ln -s $sourceDir2 ext/armips
ln -s $sourceDir3 ext/glslang
ln -s $sourceDir4 ext/SPIRV-Cross
cp -rf $sourceDir5/*.ini assets/lang
sed -i "s|unknown| v$portVersion|" git-version.cmake
export DISABLE_ASLR=1
mkdir -p build
cd build
cmake .. \
cmake -B build -S . \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_SYSTEM_FFMPEG=ON \
-DUSE_SYSTEM_SNAPPY=ON \
-DUSE_SYSTEM_LIBZIP=ON \
-DUSE_MINIUPNPC=ON \
-DUSE_SYSTEM_ZSTD=ON \
-DUSE_SYSTEM_MINIUPNPC=ON \
-DUSE_DISCORD=OFF \
-DCMAKE_C_FLAGS="-D_BSD_SOURCE" \
-DCMAKE_CXX_FLAGS="-D_BSD_SOURCE"
make $jobArgs
make -C build $jobArgs
}
INSTALL()