emulators/ares: Update 139.20240825 → 140

Release note:
https://ares-emu.net/news/ares-v140-released

Starting with version v140, emulators/ares will track release versions
instead of development versions.

The port applies an upstreamed patch to version v140, which resolves
the issues with NVIDIA GPUs. This obsoletes the NVIDIA port option.

PR:	281221
This commit is contained in:
Stefan Schlosser 2024-09-03 21:51:13 +03:00 committed by Vladimir Druzenko
parent f83207b8a2
commit f162675ecb
5 changed files with 17 additions and 46 deletions

View file

@ -1,7 +1,17 @@
PORTNAME= ares
DISTVERSION= 139.20240825
DISTVERSIONPREFIX= v
DISTVERSION= 140
CATEGORIES= emulators
# committed upstream, remove with next version update
# * contains 'unbreak FreeBSD build'
# https://github.com/Themaister/Granite/pull/135
# * contains 'NVIDIA fix'
# https://github.com/ares-emulator/ares/issues/1547
# https://github.com/Themaister/Granite/issues/133
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${PORTNAME}/commit/
PATCHFILES= 7135646c447ab7eb3eff18132dbddf7dc03135fa.patch:-p1
MAINTAINER= bsdcode@disroot.org
COMMENT= Multi-system emulator
WWW= https://ares-emu.net
@ -13,7 +23,6 @@ USES= compiler:c++17-lang gmake gnome localbase:ldflags pkgconfig \
xorg
USE_GITHUB= yes
GH_ACCOUNT= ares-emulator
GH_TAGNAME= efb7f61
USE_GNOME= gtksourceview3
USE_XORG= x11 xext xrandr
@ -29,7 +38,7 @@ MAKE_ARGS= compiler=${CC} \
symbols=false \
threaded=true
OPTIONS_DEFINE= DEBUG DOCS HOTKEYS NVIDIA OPENMP SHADER
OPTIONS_DEFINE= DEBUG DOCS HOTKEYS OPENMP SHADER
OPTIONS_DEFAULT= A26 ALSA AO CV FC GB GBA GLX MD MS MSX MYVISION N64 NG \
NGP OPENAL OPENMP OSS PCE PERFORMANCE PS1 SDLAUDIO \
SDLINPUT SFC SG SHADER SPEC UDEV UHID WS XLIB XVIDEO
@ -56,7 +65,6 @@ MYVISION_DESC= My Vision
N64_DESC= Nintendo 64
NGP_DESC= Neo Geo Pocket
NG_DESC= Neo Geo (AES/MVS)
NVIDIA_DESC= Apply shader cache workaround (implies ${NVIDIA_IMPLIES})
PCE_DESC= PC-Engine / TurboGrafx
PERFORMANCE_DESC= Faster but less accurate
PROFILE_DESC=
@ -112,15 +120,11 @@ N64_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader
N64_MAKE_ARGS= cores+=n64 \
vulkan=true
N64_MAKE_ARGS_OFF= vulkan=false
N64_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ares_n64_vulkan_parallel-rdp_util_timer.cpp
NGP_MAKE_ARGS= cores+=ngp
NG_MAKE_ARGS= cores+=ng
NVIDIA_IMPLIES= N64
NVIDIA_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ares_n64_vulkan_parallel-rdp_vulkan_device.cpp
OPENAL_USES= openal
OPENAL_MAKE_ARGS= ruby+=audio.openal

View file

@ -1,3 +1,5 @@
TIMESTAMP = 1724663853
SHA256 (ares-emulator-ares-139.20240825-efb7f61_GH0.tar.gz) = 8d4a410b9141399ec0d592edc34ca8dd35d582a87cae3f4ec5fdacc8a1c3c64e
SIZE (ares-emulator-ares-139.20240825-efb7f61_GH0.tar.gz) = 50956365
TIMESTAMP = 1725355457
SHA256 (ares-emulator-ares-v140_GH0.tar.gz) = 126464881ca1111a46627cb299516f60ad076bf3015da0b9325d6cac14339f4d
SIZE (ares-emulator-ares-v140_GH0.tar.gz) = 50954599
SHA256 (7135646c447ab7eb3eff18132dbddf7dc03135fa.patch) = 8a33c760618adf6bcd90894a2002d1aa60ef1cd68458980c341d2175881381a5
SIZE (7135646c447ab7eb3eff18132dbddf7dc03135fa.patch) = 11018024

View file

@ -1,13 +0,0 @@
https://github.com/Themaister/Granite/pull/135
--- ares/n64/vulkan/parallel-rdp/util/timer.cpp.orig 2024-07-28 10:49:58 UTC
+++ ares/n64/vulkan/parallel-rdp/util/timer.cpp
@@ -107,7 +107,7 @@ int64_t get_current_time_nsecs()
return int64_t(double(li.QuadPart) * static_qpc_freq.inv_freq);
#else
struct timespec ts = {};
-#ifdef ANDROID
+#if defined(ANDROID) || defined(__FreeBSD__)
constexpr auto timebase = CLOCK_MONOTONIC;
#else
constexpr auto timebase = CLOCK_MONOTONIC_RAW;

View file

@ -1,13 +0,0 @@
https://github.com/Themaister/Granite/issues/133
--- ares/n64/vulkan/parallel-rdp/vulkan/device.cpp.orig 2024-08-11 00:29:27 UTC
+++ ares/n64/vulkan/parallel-rdp/vulkan/device.cpp
@@ -874,7 +874,7 @@ void Device::init_workarounds()
workarounds.emulate_event_as_pipeline_barrier = true;
}
- if (ext.driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY && gpu_props.driverVersion < VK_VERSION_MAJOR(535))
+ if (ext.driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY)
{
LOGW("Disabling pipeline cache control.\n");
workarounds.broken_pipeline_cache_control = true;

View file

@ -9,15 +9,6 @@ Users are encouraged to compile the port on their systems with
This can improve the performance of demanding cores like the N64.
NVIDIA GPU users with versions >= 535 of the x11/nvidia-driver could encounter
crashes or freezes while using the N64 core, see
https://github.com/ares-emulator/ares/issues/1547 and
https://github.com/Themaister/Granite/issues/133. As a workaround either try to
compile the port with the NVIDIA option set (recommended), or disable the NVIDIA
shader disk cache at startup with
$ __GL_SHADER_DISK_CACHE=0 ares
The port provides the HOTKEYS option. This applies an inofficial patch which
locks all hotkey execution in the unpaused state of the emulator. This can be a
convenience for gamepad-only users who want to assign hotkey actions to gamepad