Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/emulators/libretro-pcsx-rearmed libretro-pcsx-rearmed:...
details: https://anonhg.NetBSD.org/pkgsrc/rev/7fc4c5da78c7
branches: trunk
changeset: 433054:7fc4c5da78c7
user: nia <nia%pkgsrc.org@localhost>
date: Sat May 30 14:49:00 2020 +0000
description:
libretro-pcsx-rearmed: Update to 20200526
Changes:
* Update lightrec to latest upstream
* Minimize logs when loading a cheevos-compatible content
* Cleanup retro_run() -
- move input query into separate functions
- move internal fps display to separate function
* Hide other inputs from core options -
- This adds a core option to hide some input options like
multitaps, player ports 3-8 and analog-related fine-tuning options.
- also combine dynarec-only options in one #define directive
* More core option fixes -
- This PR fixes core options and moves them to the related dynarec
modes where they are implemented.
LIGHTREC = relates to platforms that supports the new Lightrec mode
NEW_DYNAREC = relates to previous dynarec implementation that is
still used for some 32bit devices
- Dynarec Recompiler core option, both dynarec implementation can
be enabled or disabled
* Move guncon options to update_variables -
- This should stop unnecessary RETRO_ENVIRONMENT_GET_VARIABLE
callback and log spamming
* Fix some edge case where core can freeze upon loading content
* Automatically disable Lightrec when no BIOS is present, take 2
* cdriso: fix a disk switching deadlock when closing a CD image
* ARM NEON: Fixed bug where MSB of a 15-bit BGR color could corrupt
green value.
* cdriso: fix a disk switching deadlock
* unai: Add ARM-optimized lighting / blending functions
Addendum on UNAI ARM-optimized lighting/blending improvements -
"Looking at the generated ASM on 3DS, I thought I could squeeze out
some extra performance by moving the inner lighting and blending
functions to handwritten A32 assembly. This gives a medium improvement
generally (3-5fps faster on the beach in Crash 1) and a large
improvement when doing lots of blending (46-48fps before, 57-60fps
after, behind the waterfall in Water Dragon Isle in Chrono Cross).
Some other notes:
* I used the ARM11 MPCore (3DS CPU) timings for pipelining.
* I had a few stall cycles during lighting, so I used them to
preserve the MSB for lighting and blending, which saved a store,
load, and orr later on. ~3-6 cycles saved overall by doing that.
* I switched from u16 to uint_fast16_t, which is 32-bit on this
platform. This saved a few useless uxth instructions for another
few cycles. This shouldn't affect other platforms, but I don't know
for sure. Could typedef if necessary.
* A lot of the speed improvement in blending comes from not using two
instructions per and. For example, & 0x8000 -- the compiler
preferred to mask out bytes using bic 0x7F00 and bic 0x00FF. Both
slower and seemed less correct for what we're trying to do."
diffstat:
emulators/libretro-pcsx-rearmed/DESCR | 2 +-
emulators/libretro-pcsx-rearmed/Makefile | 42 ++++-----
emulators/libretro-pcsx-rearmed/distinfo | 13 +-
emulators/libretro-pcsx-rearmed/patches/patch-libpcsxcore_cdriso.c | 22 -----
emulators/libretro-pcsx-rearmed/patches/patch-libpcsxcore_new__dynarec_new__dynarec.c | 15 ---
emulators/libretro-pcsx-rearmed/patches/patch-plugins_cdrcimg_cdrcimg.c | 22 -----
6 files changed, 23 insertions(+), 93 deletions(-)
diffs (164 lines):
diff -r 8859342e1e03 -r 7fc4c5da78c7 emulators/libretro-pcsx-rearmed/DESCR
--- a/emulators/libretro-pcsx-rearmed/DESCR Sat May 30 14:45:47 2020 +0000
+++ b/emulators/libretro-pcsx-rearmed/DESCR Sat May 30 14:49:00 2020 +0000
@@ -4,4 +4,4 @@
open to others so that they can run these pluggable emulator and game cores
also in their own programs or devices.
-PCSX ReARMed is a Sony PlayStation1 video game system emulator.
+PCSX ReARMed is a Sony PlayStation 1 video game system emulator.
diff -r 8859342e1e03 -r 7fc4c5da78c7 emulators/libretro-pcsx-rearmed/Makefile
--- a/emulators/libretro-pcsx-rearmed/Makefile Sat May 30 14:45:47 2020 +0000
+++ b/emulators/libretro-pcsx-rearmed/Makefile Sat May 30 14:49:00 2020 +0000
@@ -1,45 +1,37 @@
-# $NetBSD: Makefile,v 1.10 2020/05/26 09:45:15 nia Exp $
+# $NetBSD: Makefile,v 1.11 2020/05/30 14:49:00 nia Exp $
-DISTNAME= libretro-pcsx-rearmed-0.22
+DISTNAME= libretro-pcsx-rearmed-20200526
CATEGORIES= emulators
-MASTER_SITES= ${MASTER_SITE_GITHUB:=notaz/}
GITHUB_PROJECT= pcsx_rearmed
-GITHUB_TAG= r22
+GITHUB_TAG= 7973b25fe929f92e146a854ecaf4f3cea5b4ffb8
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE= https://notaz.gp2x.de/pcsx_rearmed.php
+HOMEPAGE= https://docs.libretro.com/library/pcsx_rearmed/
COMMENT= Libretro core based on the PCSX ReARMed emulator
LICENSE= gnu-gpl-v2
USE_LANGUAGES= c c++
-USE_TOOLS+= gmake
MAKE_FILE= Makefile.libretro
-OPSYSVARS+= SOEXT
-SOEXT.Darwin= dylib
-SOEXT.*= so
-PLIST_SUBST+= SOEXT=${SOEXT}
-
-INSTALLATION_DIRS+= ${PREFIX}/lib/libretro
-
-BUILDLINK_TRANSFORM+= rm:-ldl
+MAKE_FLAGS+= WANT_ZLIB=0 # disable vendored zlib
.include "../../mk/bsd.prefs.mk"
-.if !empty(MACHINE_ARCH:M*arm*hf)
-PCSX_REARMED_PLATFORM= ${MACHINE_ARCH}-hardfloat
-.else
-PCSX_REARMED_PLATFORM= unix
+.if ${MACHINE_ARCH} == "earmv7hf"
+MAKE_FLAGS+= ARCH=arm
+MAKE_FLAGS+= DYNAREC=ari64
+MAKE_FLAGS+= HAVE_NEON=1
+MAKE_FLAGS+= BUILTIN_GPU=neon
+.elif !empty(MACHINE_ARCH:M*arm*)
+MAKE_FLAGS+= ARCH=arm
+MAKE_FLAGS+= DYNAREC=ari64
+MAKE_FLAGS+= HAVE_NEON=0
+MAKE_FLAGS+= BUILTIN_GPU=peops
.endif
-MAKE_ENV+= platform="${PCSX_REARMED_PLATFORM}"
+LIBRETRO_CORE= pcsx_rearmed
-do-install:
- ${INSTALL_LIB} ${WRKSRC}/pcsx_rearmed_libretro.so \
- ${DESTDIR}${PREFIX}/lib/libretro/pcsx_rearmed_libretro.so
+.include "../../emulators/retroarch/core.mk"
.include "../../devel/zlib/buildlink3.mk"
-.include "../../graphics/png/buildlink3.mk"
-.include "../../mk/dlopen.buildlink3.mk"
-BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:Q}
.include "../../mk/bsd.pkg.mk"
diff -r 8859342e1e03 -r 7fc4c5da78c7 emulators/libretro-pcsx-rearmed/distinfo
--- a/emulators/libretro-pcsx-rearmed/distinfo Sat May 30 14:45:47 2020 +0000
+++ b/emulators/libretro-pcsx-rearmed/distinfo Sat May 30 14:49:00 2020 +0000
@@ -1,9 +1,6 @@
-$NetBSD: distinfo,v 1.5 2017/02/17 17:02:01 joerg Exp $
+$NetBSD: distinfo,v 1.6 2020/05/30 14:49:00 nia Exp $
-SHA1 (libretro-pcsx-rearmed-0.22.tar.gz) = bdd2e38aa53c13e557ddc0ccac2bdcea909f9f9d
-RMD160 (libretro-pcsx-rearmed-0.22.tar.gz) = ea7328498d32d12ee3e4b3504ed1685effecb9a1
-SHA512 (libretro-pcsx-rearmed-0.22.tar.gz) = e193e3a8061595a0ffe13d2755b446560687f776e72ffd51db9ba982267353ecf5a4ce82a060806da2d3389e4c6adaa99cddd3b58d29d30f196d9a828bb72d29
-Size (libretro-pcsx-rearmed-0.22.tar.gz) = 1153355 bytes
-SHA1 (patch-libpcsxcore_cdriso.c) = 31339ba2ea5a812c1172630bfb7ea64bd20ec9ec
-SHA1 (patch-libpcsxcore_new__dynarec_new__dynarec.c) = 82ec36e064ae4f725379ca889eefe1f60038adc0
-SHA1 (patch-plugins_cdrcimg_cdrcimg.c) = ecaca7dc5dd4ee8ecc19085947795be2112ed8d0
+SHA1 (libretro-pcsx-rearmed-20200526-7973b25fe929f92e146a854ecaf4f3cea5b4ffb8.tar.gz) = dd07cdb90a432d3626147ae8901fdfd8489f883a
+RMD160 (libretro-pcsx-rearmed-20200526-7973b25fe929f92e146a854ecaf4f3cea5b4ffb8.tar.gz) = dace80b932044463eb0cf6fc0c9eb5917f5c030b
+SHA512 (libretro-pcsx-rearmed-20200526-7973b25fe929f92e146a854ecaf4f3cea5b4ffb8.tar.gz) =
bd8c2e5ca9d434005790767d3a4a2d7bc86deb1ca272ef73676c99a0cacb1dd92e843732d4f3455f77d0bce4666953befef7a108a616e8a4b2ff752deeef4e69
+Size (libretro-pcsx-rearmed-20200526-7973b25fe929f92e146a854ecaf4f3cea5b4ffb8.tar.gz) = 2278331 bytes
diff -r 8859342e1e03 -r 7fc4c5da78c7 emulators/libretro-pcsx-rearmed/patches/patch-libpcsxcore_cdriso.c
--- a/emulators/libretro-pcsx-rearmed/patches/patch-libpcsxcore_cdriso.c Sat May 30 14:45:47 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-$NetBSD: patch-libpcsxcore_cdriso.c,v 1.1 2017/02/17 17:02:01 joerg Exp $
-
---- libpcsxcore/cdriso.c.orig 2017-02-17 14:01:16.071768567 +0000
-+++ libpcsxcore/cdriso.c
-@@ -1082,7 +1082,7 @@ static int cdread_sub_mixed(FILE *f, uns
- return ret;
- }
-
--static int uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size)
-+static int my_uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size)
- {
- static z_stream z;
- int ret = 0;
-@@ -1161,7 +1161,7 @@ static int cdread_compressed(FILE *f, un
- if (is_compressed) {
- cdbuffer_size_expect = sizeof(compr_img->buff_raw[0]) << compr_img->block_shift;
- cdbuffer_size = cdbuffer_size_expect;
-- ret = uncompress2(compr_img->buff_raw[0], &cdbuffer_size, compr_img->buff_compressed, size);
-+ ret = my_uncompress2(compr_img->buff_raw[0], &cdbuffer_size, compr_img->buff_compressed, size);
- if (ret != 0) {
- SysPrintf("uncompress failed with %d for block %d, sector %d\n",
- ret, block, sector);
diff -r 8859342e1e03 -r 7fc4c5da78c7 emulators/libretro-pcsx-rearmed/patches/patch-libpcsxcore_new__dynarec_new__dynarec.c
--- a/emulators/libretro-pcsx-rearmed/patches/patch-libpcsxcore_new__dynarec_new__dynarec.c Sat May 30 14:45:47 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-$NetBSD: patch-libpcsxcore_new__dynarec_new__dynarec.c,v 1.1 2015/02/10 17:51:37 jmcneill Exp $
-
-"link_addr" is a symbol in NetBSD libc.
-
---- libpcsxcore/new_dynarec/new_dynarec.c.orig 2015-02-05 00:56:05.000000000 +0000
-+++ libpcsxcore/new_dynarec/new_dynarec.c
-@@ -131,7 +131,7 @@ struct ll_entry
- int ccadj[MAXBLOCK];
- int slen;
- u_int instr_addr[MAXBLOCK];
-- u_int link_addr[MAXBLOCK][3];
-+static u_int link_addr[MAXBLOCK][3];
- int linkcount;
- u_int stubs[MAXBLOCK*3][8];
- int stubcount;
diff -r 8859342e1e03 -r 7fc4c5da78c7 emulators/libretro-pcsx-rearmed/patches/patch-plugins_cdrcimg_cdrcimg.c
--- a/emulators/libretro-pcsx-rearmed/patches/patch-plugins_cdrcimg_cdrcimg.c Sat May 30 14:45:47 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-$NetBSD: patch-plugins_cdrcimg_cdrcimg.c,v 1.1 2017/02/17 17:02:01 joerg Exp $
-
---- plugins/cdrcimg/cdrcimg.c.orig 2017-02-17 14:01:41.343339778 +0000
-+++ plugins/cdrcimg/cdrcimg.c
-@@ -98,7 +98,7 @@ static long CDRgetTD(unsigned char track
- return 0;
- }
-
--int uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size)
-+static int my_uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size)
- {
- static z_stream z;
- int ret = 0;
-@@ -199,7 +199,7 @@ static long CDRreadTrack(unsigned char *
- ret = uncompress(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size);
- break;
- case CDRC_ZLIB2:
-- ret = uncompress2(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size);
-+ ret = my_uncompress2(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size);
- break;
- case CDRC_BZ:
- ret = pBZ2_bzBuffToBuffDecompress((char *)cdbuffer->raw, (unsigned int *)&cdbuffer_size,
Home |
Main Index |
Thread Index |
Old Index