Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libretro-parallel-n64 for openSUSE:Factory checked in at 2021-09-20 23:32:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libretro-parallel-n64 (Old) and /work/SRC/openSUSE:Factory/.libretro-parallel-n64.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libretro-parallel-n64" Mon Sep 20 23:32:44 2021 rev:4 rq:919856 version:0~git20210324 Changes: -------- --- /work/SRC/openSUSE:Factory/libretro-parallel-n64/libretro-parallel-n64.changes 2020-10-16 16:13:59.352685353 +0200 +++ /work/SRC/openSUSE:Factory/.libretro-parallel-n64.new.1899/libretro-parallel-n64.changes 2021-09-20 23:34:10.839249737 +0200 @@ -1,0 +2,18 @@ +Fri Sep 10 17:09:46 UTC 2021 - i...@guoyunhe.me + +- Update to version 0~git20210324: + * Revert "Add OGA / H5 / N2 / RockPro 64 support" + * Add more targets + * Some buildfixes for Apple ARM64 + * Add OGA / H5 / N2 / RockPro 64 support + * Update .gitlab-ci.yml + * Update .gitlab-ci.yml + * Update .gitlab-ci.yml + * Update + * Update .gitlab-ci.yml + * Update .gitlab-ci.yml + * simple fix for seg fault on game unload ;) + * Revert "Fix Seg Fault on Game Unload" + * Add Rpi4 platform in 64bit mode with Vulkan renderer. + +------------------------------------------------------------------- Old: ---- libretro-parallel-n64-0~git20201011.tar.xz New: ---- libretro-parallel-n64-0~git20210324.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libretro-parallel-n64.spec ++++++ --- /var/tmp/diff_new_pack.eYyxdL/_old 2021-09-20 23:34:11.379250405 +0200 +++ /var/tmp/diff_new_pack.eYyxdL/_new 2021-09-20 23:34:11.379250405 +0200 @@ -1,7 +1,7 @@ # # spec file for package libretro-parallel-n64 # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: libretro-parallel-n64 -Version: 0~git20201011 +Version: 0~git20210324 Release: 0 Summary: Parallel N64 libretro core for Nintendo 64 emulation License: GPL-3.0-only ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.eYyxdL/_old 2021-09-20 23:34:11.415250449 +0200 +++ /var/tmp/diff_new_pack.eYyxdL/_new 2021-09-20 23:34:11.415250449 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/libretro/parallel-n64.git</param> - <param name="changesrevision">b52bbda7ce425bb43b27850245a78ee59baa27a7</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">1ebf519df9616b547d9a0f35754c038f5f83f0b9</param></service></servicedata> \ No newline at end of file ++++++ libretro-parallel-n64-0~git20201011.tar.xz -> libretro-parallel-n64-0~git20210324.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-parallel-n64-0~git20201011/.gitlab-ci.yml new/libretro-parallel-n64-0~git20210324/.gitlab-ci.yml --- old/libretro-parallel-n64-0~git20201011/.gitlab-ci.yml 2020-10-11 10:04:48.000000000 +0200 +++ new/libretro-parallel-n64-0~git20210324/.gitlab-ci.yml 2021-03-24 16:59:52.000000000 +0100 @@ -1,27 +1,120 @@ +# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper) + +############################################################################## +################################# BOILERPLATE ################################ +############################################################################## + +# Core definitions .core-defs: variables: CORENAME: parallel_n64 +# Inclusion templates, required for the build to work include: - - template: Jobs/Code-Quality.gitlab-ci.yml + ################################## DESKTOPS ################################ + # Windows 64-bit + - project: 'libretro-infrastructure/ci-templates' + file: '/windows-x64-mingw.yml' + + # Windows 32-bit + - project: 'libretro-infrastructure/ci-templates' + file: '/windows-i686-mingw.yml' + + # Linux 64-bit - project: 'libretro-infrastructure/ci-templates' file: '/linux-x64.yml' + + # Linux 32-bit - project: 'libretro-infrastructure/ci-templates' - file: '/windows-x64-mingw.yml' + file: '/linux-i686.yml' + # MacOS 64-bit + - project: 'libretro-infrastructure/ci-templates' + file: '/osx-x64.yml' + + ################################## CELLULAR ################################ + # iOS + - project: 'libretro-infrastructure/ci-templates' + file: '/ios-arm64.yml' + + # iOS (armv7) + - project: 'libretro-infrastructure/ci-templates' + file: '/ios9.yml' + + ################################## CONSOLES ################################ + + #################################### MISC ################################## + +# Stages for building stages: - build-prepare - build-shared - build-static - - test -#Desktop +############################################################################## +#################################### STAGES ################################## +############################################################################## + +################################### DESKTOPS ################################# +# Windows 64-bit +libretro-build-windows-x64: + extends: + - .core-defs + - .libretro-windows-x64-mingw-make-default + variables: + WITH_DYNAREC: x86_64 + HAVE_THR_AL: 1 + HAVE_PARALLEL: 1 + HAVE_PARALLEL_RSP: 1 + +# Windows 32-bit +libretro-build-windows-i686: + extends: + - .libretro-windows-i686-mingw-make-default + - .core-defs + variables: + WITH_DYNAREC: x86 + HAVE_THR_AL: 1 + HAVE_PARALLEL: 1 + HAVE_PARALLEL_RSP: 1 + +# Linux 64-bit libretro-build-linux-x64: extends: - .core-defs - .libretro-linux-x64-make-default + variables: + WITH_DYNAREC: x86_64 + HAVE_THR_AL: 1 + HAVE_PARALLEL: 1 + HAVE_PARALLEL_RSP: 1 -libretro-build-windows-x64: +# Linux 32-bit +libretro-build-linux-i686: extends: - .core-defs - - .libretro-windows-x64-mingw-make-default + - .libretro-linux-i686-make-default + variables: + WITH_DYNAREC: i686 + HAVE_THR_AL: 1 + HAVE_PARALLEL: 1 + HAVE_PARALLEL_RSP: 1 + +# MacOS 64-bit +libretro-build-osx-x64: + extends: + - .libretro-osx-x64-make-default + - .core-defs + +################################### CELLULAR ################################# +# iOS +libretro-build-ios-arm64: + extends: + - .libretro-ios-arm64-make-default + - .core-defs + +# iOS (armv7) [iOS 9 and up] +libretro-build-ios9: + extends: + - .libretro-ios9-make-default + - .core-defs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-parallel-n64-0~git20201011/Makefile new/libretro-parallel-n64-0~git20210324/Makefile --- old/libretro-parallel-n64-0~git20201011/Makefile 2020-10-11 10:04:48.000000000 +0200 +++ new/libretro-parallel-n64-0~git20210324/Makefile 2021-03-24 16:59:52.000000000 +0100 @@ -10,9 +10,11 @@ GLIDEN64ES=0 HAVE_RSP_DUMP=0 HAVE_RDP_DUMP=0 +HAVE_GLIDE64=1 +HAVE_GLN64=1 HAVE_RICE=1 -HAVE_PARALLEL=0 -HAVE_PARALLEL_RSP=0 +HAVE_PARALLEL?=0 +HAVE_PARALLEL_RSP?=0 STATIC_LINKING=0 WANT_LLVM_OVERRIDE=0 HAVE_LTCG ?= 0 @@ -68,6 +70,9 @@ else ifneq ($(findstring Darwin,$(shell uname -a)),) system_platform = osx arch = intel + ifeq ($(shell uname -p),arm) + arch = arm + endif ifeq ($(shell uname -p),powerpc) arch = ppc endif @@ -132,6 +137,8 @@ # Raspberry Pi ifneq (,$(findstring rpi,$(platform))) GLES = 1 + WITH_DYNAREC=arm + CPUFLAGS += -DARM_FIX ifneq (,$(findstring mesa,$(platform))) GL_LIB := -lGLESv2 @@ -140,7 +147,6 @@ INCFLAGS += -I/opt/vc/include -I/opt/vc/include/interface/vcos -I/opt/vc/include/interface/vcos/pthreads endif - WITH_DYNAREC=arm ifneq (,$(findstring rpi2,$(platform))) CPUFLAGS += -DNO_ASM -DARM -D__arm__ -DARM_ASM -D__NEON_OPT -DNOSSE CPUFLAGS += -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard @@ -149,12 +155,22 @@ CPUFLAGS += -DNO_ASM -DARM -D__arm__ -DARM_ASM -D__NEON_OPT -DNOSSE CPUFLAGS += -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard HAVE_NEON = 1 + # Raspberry pi 4 in 64bit mode with VULKAN + else ifneq (,$(findstring rpi4_64,$(platform))) + CPUFLAGS += -DNO_ASM -DARM -DARM_ASM -DDONT_WANT_ARM_OPTIMIZATIONS -DARM_FIX -DCLASSIC -DARM64 + CPUFLAGS += -march=armv8-a+crc+simd -mtune=cortex-a72 + HAVE_PARALLEL = 1 + WITH_DYNAREC = aarch64 + HAVE_NEON = 0 + HAVE_OPENGL = 0 + GLES = 0 + GL_LIB := else CPUFLAGS += -DARMv5_ONLY -DNO_ASM endif - CPUFLAGS += -DARM_FIX - endif + endif + # ODROIDs ifneq (,$(findstring odroid,$(platform))) BOARD ?= $(shell cat /proc/cpuinfo | grep -i odroid | awk '{print $$3}') @@ -273,23 +289,51 @@ else ifneq (,$(findstring osx,$(platform))) TARGET := $(TARGET_NAME)_libretro.dylib LDFLAGS += -dynamiclib + MINVERSION := -mmacosx-version-min=10.7 OSXVER = `sw_vers -productVersion | cut -d. -f 2` OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"` - LDFLAGS += -mmacosx-version-min=10.7 + LDFLAGS += $(MINVERSION) LDFLAGS += -stdlib=libc++ fpic = -fPIC HAVE_THR_AL=1 HAVE_PARALLEL=0 PLATCFLAGS += -D__MACOSX__ -DOSX - GL_LIB := -framework OpenGL PLATFORM_EXT := unix + PLATCFLAGS += -DHAVE_POSIX_MEMALIGN + + # Disable hardware rendered graphics plugins for ARM for now + ifeq ($(shell uname -p),arm) + WITH_DYNAREC = + CFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS + HAVE_OPENGL=0 + else + GL_LIB := -framework OpenGL + endif # Target Dynarec ifeq ($(ARCH), $(filter $(ARCH), ppc)) WITH_DYNAREC = endif + ifeq ($(CROSS_COMPILE),1) + TARGET_RULE = -target $(LIBRETRO_APPLE_PLATFORM) -isysroot $(LIBRETRO_APPLE_ISYSROOT) + CFLAGS += $(TARGET_RULE) + CPPFLAGS += $(TARGET_RULE) + CXXFLAGS += $(TARGET_RULE) + LDFLAGS += $(TARGET_RULE) + + ifeq ($(arch),arm) + HAVE_OPENGL=0 + WITH_DYNAREC = + CFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS + endif + endif + + CFLAGS += $(ARCHFLAGS) + CXXFLAGS += $(ARCHFLAGS) + LDFLAGS += $(ARCHFLAGS) + # iOS else ifneq (,$(findstring ios,$(platform))) ifeq ($(IOSSDK),) @@ -301,6 +345,7 @@ GLES = 1 WITH_DYNAREC= PLATFORM_EXT := unix + MINVERSION := HAVE_PARALLEL=0 PLATCFLAGS += -DHAVE_POSIX_MEMALIGN -DNO_ASM @@ -325,18 +370,44 @@ HAVE_NEON=1 endif CC_AS = perl ./tools/gas-preprocessor.pl $(CC) - ifeq ($(platform),ios9) - CC += -miphoneos-version-min=8.0 - CC_AS += -miphoneos-version-min=8.0 - CXX += -miphoneos-version-min=8.0 - PLATCFLAGS += -miphoneos-version-min=8.0 +ifeq ($(platform),$(filter $(platform),ios9 ios-arm64)) + MINVERSION = -miphoneos-version-min=8.0 else - CC += -miphoneos-version-min=5.0 - CC_AS += -miphoneos-version-min=5.0 - CXX += -miphoneos-version-min=5.0 - PLATCFLAGS += -miphoneos-version-min=5.0 + MINVERSION = -miphoneos-version-min=5.0 + endif + PLATCFLAGS += $(MINVERSION) + +else ifeq ($(platform), tvos-arm64) + ifeq ($(IOSSDK),) + IOSSDK := $(shell xcodebuild -version -sdk appletvos Path) endif + TARGET := $(TARGET_NAME)_libretro_tvos.dylib + DEFINES += -DIOS + GLES = 1 + WITH_DYNAREC= + PLATFORM_EXT := unix + MINVERSION := + + HAVE_PARALLEL=0 + PLATCFLAGS += -DHAVE_POSIX_MEMALIGN -DNO_ASM + PLATCFLAGS += -DIOS -marm + CPUFLAGS += -DNO_ASM -DARM -D__arm__ -DARM_ASM -D__NEON_OPT + LDFLAGS += -dynamiclib + + fpic = -fPIC + GL_LIB := -framework OpenGLES + CC = cc -arch arm64 -isysroot $(IOSSDK) + CXX = c++ -arch arm64 -isysroot $(IOSSDK) + CFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS + FORCE_GLES=1 + CXXFLAGS += -Wc++11-extensions -std=c++11 -stdlib=libc++ -Wc++11-long-long + CPUFLAGS += -marm -mfpu=neon -mfloat-abi=softfp + HAVE_NEON=0 + CC_AS = perl ./tools/gas-preprocessor.pl $(CC) + MINVERSION = -miphoneos-version-min=8.0 + PLATCFLAGS += $(MINVERSION) + # Theos iOS else ifneq (,$(findstring theos_ios,$(platform))) DEPLOYMENT_IOSVERSION = 5.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-parallel-n64-0~git20201011/libretro-common/libco/aarch64.c new/libretro-parallel-n64-0~git20210324/libretro-common/libco/aarch64.c --- old/libretro-parallel-n64-0~git20201011/libretro-common/libco/aarch64.c 2020-10-11 10:04:48.000000000 +0200 +++ new/libretro-parallel-n64-0~git20210324/libretro-common/libco/aarch64.c 2021-03-24 16:59:52.000000000 +0100 @@ -11,7 +11,7 @@ #include <string.h> #include <stdint.h> -#ifndef IOS +#ifndef __APPLE__ #include <malloc.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-parallel-n64-0~git20201011/mupen64plus-core/src/r4300/r4300.c new/libretro-parallel-n64-0~git20210324/mupen64plus-core/src/r4300/r4300.c --- old/libretro-parallel-n64-0~git20201011/mupen64plus-core/src/r4300/r4300.c 2020-10-11 10:04:48.000000000 +0200 +++ new/libretro-parallel-n64-0~git20210324/mupen64plus-core/src/r4300/r4300.c 2021-03-24 16:59:52.000000000 +0100 @@ -50,8 +50,8 @@ unsigned int r4300emu = 0; unsigned int count_per_op = COUNT_PER_OP_DEFAULT; unsigned int llbit; -#if NEW_DYNAREC < NEW_DYNAREC_ARM int stop; +#if NEW_DYNAREC < NEW_DYNAREC_ARM int64_t reg[32], hi, lo; uint32_t next_interrupt; struct precomp_instr *PC; @@ -144,21 +144,27 @@ { #if NEW_DYNAREC new_dyna_start(); - new_dynarec_cleanup(); + if (stop) + new_dynarec_cleanup(); #else dyna_start(dynarec_setup_code); - PC++; + if (stop) + PC++; #endif - free_blocks(); + if (stop) + free_blocks(); } #endif else /* if (r4300emu == CORE_INTERPRETER) */ { r4300_step(); - free_blocks(); + + if (stop) + free_blocks(); } - DebugMessage(M64MSG_INFO, "R4300 emulator finished."); + if (stop) + DebugMessage(M64MSG_INFO, "R4300 emulator finished."); } int retro_stop_stepping(void);