Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
UPDATE: ppsspp 1.17.1
To:
ports@openbsd.org
Cc:
bentley@openbsd.org
Date:
Thu, 18 Apr 2024 02:50:24 -0400

Download raw body.

Thread
  • Brad Smith:

    UPDATE: ppsspp 1.17.1

Here is an update to ppsspp 1.17.1.


What's new in 1.17.1
--------------------
- Fixed green rendering errors on some PowerVR GPUs ([#18781])
- Release all held keys on pause to avoid "stuck keys" after unpausing or in run-behind-pause ([#18786])
- UI fixes ([#18785])
- Update libchdr with zstd support, warn the user about bad CHDs ([#18824], [#18803])
- Add workaround for AdHoc mode in Resistance ([#18821])
- Fix graphics in Tokimeki Memorial 4 ([#18822])
- Fix crash in UFC 2010 on Mali GPUs ([#18813])
- Temporarily disable MSAA on Adreno GPUs due to crashing ([#18819])
- Fixed some crashes and optimized the game metadata cache ([#18794], [#18775])
- Additional crashfixes and similar ([#18777], [#18779], [#18823])
- Fixed playback of frame dumps with Vulkan ([#18793])
- Volume slider added for RetroAchievements sounds ([#18772])

What's new in 1.17
------------------
- Rendering performance and fixes
	- Fix for very old rendering issue in Tokimeki Memorial 4 ([#18650]) (didn't quite work, see 1.17.1)
	- Performance improvement in Tactics Ogre by avoiding a readback ([#18599])
	- Cull small draws that are quick to check that they are offscreen ([#18446])
	- Assorted optimizations ([#18586], [#18573], [#18476], [#18413], [#18416], [#18219])
	- Fix HUD in Tiger Woods 06 ([#18554])
	- Adrenotools support added - you can now load custom Vulkan drivers on Adreno ([#18532], [#18548], [#18699])
	- Fix rendering with bad Z parameters, fixes homebrew Zig example ([#18535])
	- Fix Z problem in Hayate no Gotoku!! Nightmare Paradise [#18478]
	- Fix frozen pitch meters in MLB games ([#18484])
	- Enable MSAA on modern mobile devices (Vulkan-only) ([#18472])
	- Fix video flicker in Naruto: Ultimate Ninja Heroes 2 ([#18454])
- UI
	- Track total time played per game ([#18442])
	- When opening the pause menu, there's now an option to keep the game running behind the menu.
	  This is enforced in multiplayer to avoid inadvertent desyncs ([#18517], [#18515])
- ISO loading improvements
	- The CHD file format is now fully supported (use `chdman createdvd`!), including with Remote ISO and Retroachievements
	- Improvements to [remote ISO](https://www.ppsspp.org/docs/reference/disc-streaming/): optional tab on home screen, can now share whole folders ([#18627], [#18639], [#18640], [#18631], [#18632], [#18633],)
- Controller and touchscreen fixes
	- More control bindings, organize into categories ([#18635], [#18589])
	- Fix inverse deadzone (low end) for joystick input
	- Fix analog deadzones for XInput controllers ([#18407])
	- Improved tilt control further ([#18533])
	- Mouse input supported on Android ([#18551], [#18473])
	- Customizable threshold for analog-trigger to button-press mapping, customizable delay for mouse-scroll key-up ([#18621], [#18585])
	- Make it work better to bind an analog stick to four buttons, useful for camera control in some games
	- Can now unpause with the key you bound to pause ([#18591])
- Other fixes and updates
	- More work on the IR JITs ([#18234], [#18235], [#18228], [#18227], [#18226], many more)
	- Moving the memstick directory on Android is now faster and safer [#18744]
	- Workaround problems in Add Doko Demo Issho, Driver 76, Harukanaru Toki no Naka, Ace Combat by slowing down the emulated UMD drive to match reality better ([#18436], [#18445])
	- VR: Quest 3 rendering issues fixed ([#18677])
	- Various bugfixes in texture replacement ([#18638], [#18610], [#18519], [#18466], [#18747])
	- RetroAchievements: Rich presence, renamed Challenge Mode back to the recommended Hardcore Mode, various error handling improvements, configure per game ([#18468], [#18651], [#18488], [#18428], [#18425])
	- HLE: Slice large-and-slow memcpy/memset operations, can help with some stalls. ([#18560])
	- Other various minor fixes and optimizations ([#18558], [#18555], [#18538], [#18529], [#18450], [#18314], [#18233], [#18678], [#18749], [#18736], [#18704])
	- SoftGPU fixes ([#18362])
	- Fixed international fonts on Steam Deck ([#18732], [#18734])
	- GoExplore (GPS app) now starts up and allows navigation ([#18665], [#18666], [#18668], [#18669])
	- SDL: Improve input latency in Vulkan mode by running rendering on a separate thread ([#18268])
	- Assorted multiplayer fixes ([#18435])
	- Support for emulating the infrared port of the original PSP through sceSircs ([#18684])


Index: Makefile
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/Makefile,v
retrieving revision 1.25
diff -u -p -u -p -r1.25 Makefile
--- Makefile	16 Oct 2023 10:23:45 -0000	1.25
+++ Makefile	18 Apr 2024 06:39:32 -0000
@@ -4,7 +4,7 @@ NOT_FOR_ARCHS =	${BE_ARCHS}
 COMMENT =	Sony PlayStation Portable emulator
 
 DISTNAME =	ppsspp-$V
-V =		1.16.6
+V =		1.17.1
 
 SITES =		https://github.com/hrydgard/ppsspp/releases/download/v$V/
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/distinfo,v
retrieving revision 1.13
diff -u -p -u -p -r1.13 distinfo
--- distinfo	16 Oct 2023 10:23:45 -0000	1.13
+++ distinfo	18 Apr 2024 06:39:32 -0000
@@ -1,2 +1,2 @@
-SHA256 (ppsspp-1.16.6.tar.xz) = l4JGixdavInlNlpz2ISNZg45tZbsjaAjiq2XfInPURY=
-SIZE (ppsspp-1.16.6.tar.xz) = 51439288
+SHA256 (ppsspp-1.17.1.tar.xz) = I+C4ZJzIEksMIqYtTUG1kra9QGS86MCbDUq86JXhMq4=
+SIZE (ppsspp-1.17.1.tar.xz) = 54663108
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/patches/patch-CMakeLists_txt,v
retrieving revision 1.14
diff -u -p -u -p -r1.14 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt	19 Dec 2023 14:56:45 -0000	1.14
+++ patches/patch-CMakeLists_txt	18 Apr 2024 06:39:32 -0000
@@ -22,7 +22,7 @@ Index: CMakeLists.txt
  	set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG")
  
  	# Enable checking printf-like format strings (also works for logging functions)
-@@ -1134,7 +1134,7 @@ else()
+@@ -1147,7 +1147,7 @@ else()
  endif()
  
  # Arm platforms require at least libpng17.
Index: patches/patch-Core_AVIDump_cpp
===================================================================
RCS file: patches/patch-Core_AVIDump_cpp
diff -N patches/patch-Core_AVIDump_cpp
--- patches/patch-Core_AVIDump_cpp	18 Jun 2023 21:14:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-Deal with newer FFmpeg API.
-
-Index: Core/AVIDump.cpp
---- Core/AVIDump.cpp.orig
-+++ Core/AVIDump.cpp
-@@ -91,7 +91,7 @@ bool AVIDump::Start(int w, int h)
- 
- bool AVIDump::CreateAVI() {
- #ifdef USE_FFMPEG
--	AVCodec *codec = nullptr;
-+	const AVCodec *codec = nullptr;
- 
- 	// Use gameID_EmulatedTimestamp for filename
- 	std::string discID = g_paramSFO.GetDiscID();
Index: patches/patch-Core_HLE_sceAtrac_cpp
===================================================================
RCS file: patches/patch-Core_HLE_sceAtrac_cpp
diff -N patches/patch-Core_HLE_sceAtrac_cpp
--- patches/patch-Core_HLE_sceAtrac_cpp	18 Jun 2023 21:14:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-Deal with newer FFmpeg API.
-
-Index: Core/HLE/sceAtrac.cpp
---- Core/HLE/sceAtrac.cpp.orig
-+++ Core/HLE/sceAtrac.cpp
-@@ -123,6 +123,7 @@ static const int atracDecodeDelay = 2300;
- #ifdef USE_FFMPEG
- 
- extern "C" {
-+#include "libavcodec/avcodec.h"
- #include "libavformat/avformat.h"
- #include "libswresample/swresample.h"
- #include "libavutil/samplefmt.h"
Index: patches/patch-Core_HLE_sceMpeg_cpp
===================================================================
RCS file: patches/patch-Core_HLE_sceMpeg_cpp
diff -N patches/patch-Core_HLE_sceMpeg_cpp
--- patches/patch-Core_HLE_sceMpeg_cpp	19 Dec 2023 14:56:45 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-Deal with newer FFmpeg API.
-
-Index: Core/HLE/sceMpeg.cpp
---- Core/HLE/sceMpeg.cpp.orig
-+++ Core/HLE/sceMpeg.cpp
-@@ -108,6 +108,7 @@ static bool useRingbufferPutCallbackMulti = true;
- #ifdef USE_FFMPEG 
- 
- extern "C" {
-+#include "libavcodec/avcodec.h"
- #include "libavformat/avformat.h"
- #include "libavutil/imgutils.h"
- #include "libswscale/swscale.h"
-@@ -802,7 +803,7 @@ static bool InitPmp(MpegContext * ctx){
- 	pmp_want_pix_fmt = AV_PIX_FMT_RGBA;
- 
- 	// Create H264 video codec
--	AVCodec * pmp_Codec = avcodec_find_decoder(AV_CODEC_ID_H264);
-+	const AVCodec * pmp_Codec = avcodec_find_decoder(AV_CODEC_ID_H264);
- 	if (pmp_Codec == NULL){
- 		ERROR_LOG(ME, "Can not find H264 codec, please update ffmpeg");
- 		return false;
Index: patches/patch-Core_HW_MediaEngine_cpp
===================================================================
RCS file: patches/patch-Core_HW_MediaEngine_cpp
diff -N patches/patch-Core_HW_MediaEngine_cpp
--- patches/patch-Core_HW_MediaEngine_cpp	18 Jun 2023 21:14:58 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,46 +0,0 @@
-Deal with newer FFmpeg API.
-
-Index: Core/HW/MediaEngine.cpp
---- Core/HW/MediaEngine.cpp.orig
-+++ Core/HW/MediaEngine.cpp
-@@ -38,6 +38,11 @@ extern "C" {
- #include "libavutil/imgutils.h"
- #include "libswscale/swscale.h"
- 
-+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(59, 23, 100)
-+	// private libavformat api (see demux.h in ffmpeg src tree)
-+	void avpriv_stream_set_need_parsing(AVStream *st, enum AVStreamParseType type);
-+#endif
-+
- }
- #endif // USE_FFMPEG
- 
-@@ -410,13 +415,19 @@ bool MediaEngine::addVideoStream(int streamNum, int st
- #else
- 			stream->request_probe = 0;
- #endif
-+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(59, 23, 100)
-+			avpriv_stream_set_need_parsing(stream, AVSTREAM_PARSE_FULL);
-+#else
- 			stream->need_parsing = AVSTREAM_PARSE_FULL;
-+#endif
- 			// We could set the width here, but we don't need to.
- 			if (streamNum >= m_expectedVideoStreams) {
- 				++m_expectedVideoStreams;
- 			}
- 
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(57, 33, 100)
- 			m_codecsToClose.push_back(stream->codec);
-+#endif
- 			return true;
- 		}
- 	}
-@@ -499,7 +510,7 @@ bool MediaEngine::setVideoStream(int streamNum, bool f
- 
- 		AVStream *stream = m_pFormatCtx->streams[streamNum];
- #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100)
--		AVCodec *pCodec = avcodec_find_decoder(stream->codecpar->codec_id);
-+		const AVCodec *pCodec = avcodec_find_decoder(stream->codecpar->codec_id);
- 		if (!pCodec) {
- 			WARN_LOG_REPORT(ME, "Could not find decoder for %d", (int)stream->codecpar->codec_id);
- 			return false;
Index: patches/patch-Core_HW_SimpleAudioDec_cpp
===================================================================
RCS file: patches/patch-Core_HW_SimpleAudioDec_cpp
diff -N patches/patch-Core_HW_SimpleAudioDec_cpp
--- patches/patch-Core_HW_SimpleAudioDec_cpp	18 Jun 2023 21:14:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-Deal with newer FFmpeg API.
-
-Index: Core/HW/SimpleAudioDec.cpp
---- Core/HW/SimpleAudioDec.cpp.orig
-+++ Core/HW/SimpleAudioDec.cpp
-@@ -28,6 +28,7 @@
- #ifdef USE_FFMPEG
- 
- extern "C" {
-+#include "libavcodec/avcodec.h"
- #include "libavformat/avformat.h"
- #include "libswresample/swresample.h"
- #include "libavutil/samplefmt.h"
Index: patches/patch-Core_HW_SimpleAudioDec_h
===================================================================
RCS file: patches/patch-Core_HW_SimpleAudioDec_h
diff -N patches/patch-Core_HW_SimpleAudioDec_h
--- patches/patch-Core_HW_SimpleAudioDec_h	18 Jun 2023 21:14:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-Deal with newer FFmpeg API.
-
-Index: Core/HW/SimpleAudioDec.h
---- Core/HW/SimpleAudioDec.h.orig
-+++ Core/HW/SimpleAudioDec.h
-@@ -78,7 +78,7 @@ class SimpleAudio { (private)
- 	int wanted_resample_freq; // wanted resampling rate/frequency
- 
- 	AVFrame *frame_;
--	AVCodec *codec_;
-+	const AVCodec *codec_;
- 	AVCodecContext  *codecCtx_;
- 	SwrContext      *swrCtx_;
- 
Index: patches/patch-UI_NativeApp_cpp
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/patches/patch-UI_NativeApp_cpp,v
retrieving revision 1.11
diff -u -p -u -p -r1.11 patch-UI_NativeApp_cpp
--- patches/patch-UI_NativeApp_cpp	17 Sep 2023 08:40:29 -0000	1.11
+++ patches/patch-UI_NativeApp_cpp	18 Apr 2024 06:39:32 -0000
@@ -1,7 +1,7 @@
 Index: UI/NativeApp.cpp
 --- UI/NativeApp.cpp.orig
 +++ UI/NativeApp.cpp
-@@ -416,12 +416,7 @@ void NativeInit(int argc, const char *argv[], const ch
+@@ -386,12 +386,7 @@ void NativeInit(int argc, const char *argv[], const ch
  	g_VFS.Register("", new DirectoryReader(Path(ASSETS_DIR)));
  #endif
  #if !defined(MOBILE_DEVICE) && !defined(_WIN32) && !PPSSPP_PLATFORM(SWITCH)
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/pkg/PLIST,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 PLIST
--- pkg/PLIST	16 Sep 2023 21:02:04 -0000	1.9
+++ pkg/PLIST	18 Apr 2024 06:39:32 -0000
@@ -99,6 +99,7 @@ share/ppsspp/assets/mime/ppsspp.xml
 share/ppsspp/assets/ppge_atlas.meta
 share/ppsspp/assets/ppge_atlas.zim
 share/ppsspp/assets/rargray.png
+share/ppsspp/assets/redump.csv
 share/ppsspp/assets/sfx_achievement_unlocked.wav
 share/ppsspp/assets/sfx_back.wav
 share/ppsspp/assets/sfx_confirm.wav