aboutsummaryrefslogtreecommitdiffstats
path: root/emulators
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2020-04-18 08:24:51 +0800
committerJan Beich <jbeich@FreeBSD.org>2020-04-18 08:24:51 +0800
commit62fdae2260f667d99881a64c5980c4ada950cce6 (patch)
treee9a346c8a55fae714c9596f35d0a37a1f96e9d19 /emulators
parent79a3c0ff7824a43a89f7a7cb9cc10633be02bd2e (diff)
downloadfreebsd-ports-gnome-62fdae2260f667d99881a64c5980c4ada950cce6.tar.gz
freebsd-ports-gnome-62fdae2260f667d99881a64c5980c4ada950cce6.tar.zst
freebsd-ports-gnome-62fdae2260f667d99881a64c5980c4ada950cce6.zip
emulators/rpcs3: update to 0.0.9.10228
Changes: https://github.com/RPCS3/rpcs3/compare/2dcc3255b...0df6c4155
Diffstat (limited to 'emulators')
-rw-r--r--emulators/rpcs3/Makefile6
-rw-r--r--emulators/rpcs3/distinfo6
-rw-r--r--emulators/rpcs3/files/patch-libc++8224
3 files changed, 221 insertions, 15 deletions
diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile
index 481a5a600c0d..e02bb66d82d1 100644
--- a/emulators/rpcs3/Makefile
+++ b/emulators/rpcs3/Makefile
@@ -2,8 +2,8 @@
PORTNAME= rpcs3
DISTVERSIONPREFIX= v
-DISTVERSION= 0.0.9-10201 # git rev-list --count HEAD
-DISTVERSIONSUFFIX= -g2dcc3255b
+DISTVERSION= 0.0.9-10228 # git rev-list --count HEAD
+DISTVERSIONSUFFIX= -g0df6c4155
CATEGORIES= emulators
MAINTAINER= jbeich@FreeBSD.org
@@ -42,7 +42,7 @@ USE_GL= gl glew
USE_QT= qmake_build buildtools_build core concurrent dbus gui widgets
USE_XORG= x11
CMAKE_ON= CMAKE_SKIP_RPATH USE_SYSTEM_CURL USE_SYSTEM_FFMPEG USE_SYSTEM_LIBPNG
-CMAKE_OFF= USE_NATIVE_INSTRUCTIONS
+CMAKE_OFF= USE_NATIVE_INSTRUCTIONS USE_PRECOMPILED_HEADERS
LDFLAGS+= -Wl,--as-needed # GLU
OPTIONS_DEFINE= ALSA EVDEV FAUDIO PULSEAUDIO VULKAN
diff --git a/emulators/rpcs3/distinfo b/emulators/rpcs3/distinfo
index 197c518f8bef..2f2d0e5f8c4b 100644
--- a/emulators/rpcs3/distinfo
+++ b/emulators/rpcs3/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1586800152
-SHA256 (RPCS3-rpcs3-v0.0.9-10201-g2dcc3255b_GH0.tar.gz) = dd8c85c35d939ea1df6056abd02c644c542dc9d3c2248d2a08a38f68eaefce70
-SIZE (RPCS3-rpcs3-v0.0.9-10201-g2dcc3255b_GH0.tar.gz) = 6343561
+TIMESTAMP = 1587131206
+SHA256 (RPCS3-rpcs3-v0.0.9-10228-g0df6c4155_GH0.tar.gz) = a9f44c01df18f33de805c8e9a76d4d56cb0b9cddf875fc709a467ac3955a638d
+SIZE (RPCS3-rpcs3-v0.0.9-10228-g0df6c4155_GH0.tar.gz) = 6345555
SHA256 (RPCS3-hidapi-hidapi-0.8.0-rc1-27-g9220f5e_GH0.tar.gz) = 3120e0b701943f452760e45f9fc1ac50bab356ad4c807b4cac4598041c5ca1a5
SIZE (RPCS3-hidapi-hidapi-0.8.0-rc1-27-g9220f5e_GH0.tar.gz) = 105400
SHA256 (RPCS3-llvm-mirror-f5679565d348_GH0.tar.gz) = 201b9be34c7ef5f5a81d21b11c532040546cb602307479a4dd56357c02caa7f3
diff --git a/emulators/rpcs3/files/patch-libc++8 b/emulators/rpcs3/files/patch-libc++8
index 2b9ae525494e..03042ff79a6a 100644
--- a/emulators/rpcs3/files/patch-libc++8
+++ b/emulators/rpcs3/files/patch-libc++8
@@ -1,4 +1,7 @@
-Drop after FreeBSD 11.3/12.1 EOL. See https://reviews.llvm.org/rL359211
+Drop after FreeBSD 11.3/12.1 EOL.
+
+https://reviews.llvm.org/rL359211
+https://reviews.llvm.org/rL364862
rpcs3/Emu/Io/PadHandler.cpp:191:27: error: no member named 'lerp' in namespace 'std'
const float pos = std::lerp(0.13f, 1.f, (mag - dzRange) / (1 - dzRange));
@@ -7,11 +10,44 @@ rpcs3/Emu/Io/PadHandler.cpp:198:27: error: no member named 'lerp' in namespace '
const float pos = std::lerp(0.f, 0.13f, mag / dzRange);
~~~~~^
---- rpcs3/Emu/Io/PadHandler.h.orig 2020-03-18 15:28:46 UTC
-+++ rpcs3/Emu/Io/PadHandler.h
-@@ -6,6 +6,33 @@
- #include "pad_config_types.h"
- #include "Utilities/types.h"
+In file included from rpcs3/Emu/System.cpp:9:
+rpcs3/Emu/Cell/PPUOpcodes.h:66:14: error: no member named 'rotr' in namespace 'std'
+ return std::rotr<u64>(~0ull << (~(me - mb) & 63), mb & 63);
+ ~~~~~^
+rpcs3/Emu/Cell/PPUOpcodes.h:66:19: error: unexpected type name 'u64': expected expression
+ return std::rotr<u64>(~0ull << (~(me - mb) & 63), mb & 63);
+ ^
+rpcs3/Emu/Cell/PPUOpcodes.h:66:30: warning: expression result unused [-Wunused-value]
+ return std::rotr<u64>(~0ull << (~(me - mb) & 63), mb & 63);
+ ~~~~~ ^ ~~~~~~~~~~~~~~~~~
+rpcs3/Emu/Cell/PPUOpcodes.h:64:15: error: no return statement in constexpr function
+constexpr u64 ppu_rotate_mask(u32 mb, u32 me)
+ ^
+rpcs3/Emu/Cell/PPUOpcodes.h:71:14: error: no member named 'rotr' in namespace 'std'
+ return std::rotr<u32>(inst, 26) & 0x1ffff; // Rotate + mask
+ ~~~~~^
+rpcs3/Emu/Cell/PPUOpcodes.h:71:19: error: unexpected type name 'u32': expected expression
+ return std::rotr<u32>(inst, 26) & 0x1ffff; // Rotate + mask
+ ^
+rpcs3/Emu/Cell/PPUOpcodes.h:71:24: warning: expression result unused [-Wunused-value]
+ return std::rotr<u32>(inst, 26) & 0x1ffff; // Rotate + mask
+ ^~~~
+rpcs3/Emu/Cell/PPUOpcodes.h:69:15: error: no return statement in constexpr function
+constexpr u32 ppu_decode(u32 inst)
+ ^
+In file included from rpcs3/Emu/System.cpp:11:
+rpcs3/Emu/Cell/PPUAnalyser.h:992:16: error: no member named 'countr_zero' in namespace 'std'
+ return std::countr_zero(mask());
+ ~~~~~^
+rpcs3/Emu/Cell/PPUAnalyser.h:1241:35: error: no member named 'countl_zero' in namespace 'std'
+ const u64 mix = ~0ull >> std::countl_zero(min ^ max);
+ ~~~~~^
+
+--- Utilities/types.h.orig 2020-04-16 09:59:19 UTC
++++ Utilities/types.h
+@@ -102,6 +102,203 @@ namespace std
+ }
+ #endif
+#if defined(_LIBCPP_VERSION) && _LIBCPP_VERSION < 9000
+_LIBCPP_BEGIN_NAMESPACE_STD
@@ -37,9 +73,179 @@ rpcs3/Emu/Io/PadHandler.cpp:198:27: error: no member named 'lerp' in namespace '
+
+constexpr long double
+lerp(long double __a, long double __b, long double __t) _NOEXCEPT { return __lerp(__a, __b, __t); }
++
++template <class _Tp>
++using __bitop_unsigned_integer = integral_constant<bool,
++ is_integral<_Tp>::value &&
++ is_unsigned<_Tp>::value &&
++ !is_same<typename remove_cv<_Tp>::type, bool>::value &&
++ !is_same<typename remove_cv<_Tp>::type, signed char>::value &&
++ !is_same<typename remove_cv<_Tp>::type, wchar_t>::value &&
++ !is_same<typename remove_cv<_Tp>::type, char16_t>::value &&
++ !is_same<typename remove_cv<_Tp>::type, char32_t>::value
++ >;
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
++_Tp __rotl(_Tp __t, unsigned int __cnt) _NOEXCEPT
++{
++ static_assert(__bitop_unsigned_integer<_Tp>::value, "__rotl requires unsigned");
++ const unsigned int __dig = numeric_limits<_Tp>::digits;
++ if ((__cnt % __dig) == 0)
++ return __t;
++ return (__t << (__cnt % __dig)) | (__t >> (__dig - (__cnt % __dig)));
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
++_Tp __rotr(_Tp __t, unsigned int __cnt) _NOEXCEPT
++{
++ static_assert(__bitop_unsigned_integer<_Tp>::value, "__rotr requires unsigned");
++ const unsigned int __dig = numeric_limits<_Tp>::digits;
++ if ((__cnt % __dig) == 0)
++ return __t;
++ return (__t >> (__cnt % __dig)) | (__t << (__dig - (__cnt % __dig)));
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
++int __countr_zero(_Tp __t) _NOEXCEPT
++{
++ static_assert(__bitop_unsigned_integer<_Tp>::value, "__countr_zero requires unsigned");
++ if (__t == 0)
++ return numeric_limits<_Tp>::digits;
++
++ if (sizeof(_Tp) <= sizeof(unsigned int))
++ return __ctz(static_cast<unsigned int>(__t));
++ else if (sizeof(_Tp) <= sizeof(unsigned long))
++ return __ctz(static_cast<unsigned long>(__t));
++ else if (sizeof(_Tp) <= sizeof(unsigned long long))
++ return __ctz(static_cast<unsigned long long>(__t));
++ else
++ {
++ int __ret = 0;
++ int __iter = 0;
++ const unsigned int __ulldigits = numeric_limits<unsigned long long>::digits;
++ while ((__iter = __ctz(static_cast<unsigned long long>(__t))) == __ulldigits)
++ {
++ __ret += __iter;
++ __t >>= __ulldigits;
++ }
++ return __ret + __iter;
++ }
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
++int __countl_zero(_Tp __t) _NOEXCEPT
++{
++ static_assert(__bitop_unsigned_integer<_Tp>::value, "__countl_zero requires unsigned");
++ if (__t == 0)
++ return numeric_limits<_Tp>::digits;
++
++ if (sizeof(_Tp) <= sizeof(unsigned int))
++ return __clz(static_cast<unsigned int>(__t))
++ - (numeric_limits<unsigned int>::digits - numeric_limits<_Tp>::digits);
++ else if (sizeof(_Tp) <= sizeof(unsigned long))
++ return __clz(static_cast<unsigned long>(__t))
++ - (numeric_limits<unsigned long>::digits - numeric_limits<_Tp>::digits);
++ else if (sizeof(_Tp) <= sizeof(unsigned long long))
++ return __clz(static_cast<unsigned long long>(__t))
++ - (numeric_limits<unsigned long long>::digits - numeric_limits<_Tp>::digits);
++ else
++ {
++ int __ret = 0;
++ int __iter = 0;
++ const unsigned int __ulldigits = numeric_limits<unsigned long long>::digits;
++ while (true) {
++ __t = __rotr(__t, __ulldigits);
++ if ((__iter = __countl_zero(static_cast<unsigned long long>(__t))) != __ulldigits)
++ break;
++ __ret += __iter;
++ }
++ return __ret + __iter;
++ }
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
++int __countl_one(_Tp __t) _NOEXCEPT
++{
++ static_assert(__bitop_unsigned_integer<_Tp>::value, "__countl_one requires unsigned");
++ return __t != numeric_limits<_Tp>::max()
++ ? __countl_zero(static_cast<_Tp>(~__t))
++ : numeric_limits<_Tp>::digits;
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
++int __countr_one(_Tp __t) _NOEXCEPT
++{
++ static_assert(__bitop_unsigned_integer<_Tp>::value, "__countr_one requires unsigned");
++ return __t != numeric_limits<_Tp>::max()
++ ? __countr_zero(static_cast<_Tp>(~__t))
++ : numeric_limits<_Tp>::digits;
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY constexpr
++enable_if_t<__bitop_unsigned_integer<_Tp>::value, _Tp>
++rotl(_Tp __t, unsigned int __cnt) noexcept
++{
++ return __rotl(__t, __cnt);
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY constexpr
++enable_if_t<__bitop_unsigned_integer<_Tp>::value, _Tp>
++rotr(_Tp __t, unsigned int __cnt) noexcept
++{
++ return __rotr(__t, __cnt);
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY constexpr
++enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
++countl_zero(_Tp __t) noexcept
++{
++ return __countl_zero(__t);
++}
++
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY constexpr
++enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
++countl_one(_Tp __t) noexcept
++{
++ return __countl_one(__t);
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY constexpr
++enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
++countr_zero(_Tp __t) noexcept
++{
++ return __countr_zero(__t);
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY constexpr
++enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
++countr_one(_Tp __t) noexcept
++{
++ return __countr_one(__t);
++}
++
++template<class _Tp>
++_LIBCPP_INLINE_VISIBILITY constexpr
++enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
++popcount(_Tp __t) noexcept
++{
++ return __popcount(__t);
++}
+_LIBCPP_END_NAMESPACE_STD
+#endif
+
- struct PadDevice
- {
- pad_config* config{ nullptr };
+ using schar = signed char;
+ using uchar = unsigned char;
+ using ushort = unsigned short;