git: 176c20f399a3 - main - emulators/pcsx2: Enable Vulkan backend

From: Ganael LAPLANCHE <martymac_at_FreeBSD.org>
Date: Mon, 13 Nov 2023 11:11:27 UTC
The branch main has been updated by martymac:

URL: https://cgit.FreeBSD.org/ports/commit/?id=176c20f399a33b856cb7a3d80e69245a0d27f775

commit 176c20f399a33b856cb7a3d80e69245a0d27f775
Author:     Ganael LAPLANCHE <martymac@FreeBSD.org>
AuthorDate: 2023-11-13 11:10:34 +0000
Commit:     Ganael LAPLANCHE <martymac@FreeBSD.org>
CommitDate: 2023-11-13 11:11:14 +0000

    emulators/pcsx2: Enable Vulkan backend
---
 emulators/pcsx2/Makefile                                       |  6 ++++--
 emulators/pcsx2/Makefile.tuples                                |  2 ++
 emulators/pcsx2/distinfo                                       |  4 ++++
 .../pcsx2/files/patch-pcsx2-GS-Renderers-Vulkan-GSDeviceVK.h   | 10 ++++++++++
 emulators/pcsx2/files/patch-relocate-resources.txt             |  6 +++---
 5 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/emulators/pcsx2/Makefile b/emulators/pcsx2/Makefile
index 6f917ba94d19..0a1ac1dcdaff 100644
--- a/emulators/pcsx2/Makefile
+++ b/emulators/pcsx2/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	pcsx2
 PORTVERSION=	1.7.4970
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	emulators
 
 MAINTAINER=	martymac@FreeBSD.org
@@ -29,6 +29,9 @@ LIB_DEPENDS=	libpng.so:graphics/png \
 		libjack.so:audio/jack \
 		libsndio.so:audio/sndio \
 		libbacktrace.so:devel/libbacktrace
+# XXX Necessary for Qt6/FindWrapVulkanHeaders.cmake
+# then vulkan-haders and glslang are unconditionnaly included from 3rdparty/
+BUILD_DEPENDS=	vulkan-headers>0:graphics/vulkan-headers
 
 USES=		cmake compiler:c++20-lang \
 		desktop-file-utils elfctl gl pkgconfig qt:6 sdl xorg
@@ -58,7 +61,6 @@ CMAKE_ARGS+=	\
 		-DCMAKE_REQUIRED_INCLUDES:STRING=${LOCALBASE}/include/ \
 		-DPCSX2_RESOURCES_PATH:STRING=${DATADIR}/resources \
 		-DUSE_VTUNE:BOOL=OFF \
-		-DUSE_VULKAN:BOOL=OFF \
 		-DWAYLAND_API=OFF \
 		-DENABLE_TESTS:BOOL=OFF
 
diff --git a/emulators/pcsx2/Makefile.tuples b/emulators/pcsx2/Makefile.tuples
index fe3593f99e02..e04f9da14434 100644
--- a/emulators/pcsx2/Makefile.tuples
+++ b/emulators/pcsx2/Makefile.tuples
@@ -2,6 +2,8 @@ GH_TUPLE= \
 	fmtlib:fmt:b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9:fmt/3rdparty/fmt/fmt \
 	rtissera:libchdr:fec8ab94212cc65d9d9a62cb3da924f5830c04b0:libchdr/3rdparty/libchdr/libchdr \
 	biojppm:rapidyaml:213b201d264139cd1b887790197e08850af628e3:rapidyaml/3rdparty/rapidyaml/rapidyaml \
+	KhronosGroup:glslang:c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5:glslang/3rdparty/glslang/glslang \
+	KhronosGroup:Vulkan-Headers:9f4c61a31435a7a90a314fc68aeb386c92a09c0f:VulkanHeaders/3rdparty/vulkan-headers \
 	facebook:zstd:e47e674cd09583ff0503f0f6defd6d23d8b718d3:zstd/3rdparty/zstd/zstd \
 	RetroAchievements:rcheevos:3af1e2fc5188d6e932ee379942f4049ea877e648:rcheevos/3rdparty/rcheevos/rcheevos \
 	biojppm:c4core:d35c7c9bf370134595699d791e6ff8db018ddc8d:c4core/3rdparty/rapidyaml/rapidyaml/ext/c4core \
diff --git a/emulators/pcsx2/distinfo b/emulators/pcsx2/distinfo
index a90c71e3bebc..c1d43fa38f75 100644
--- a/emulators/pcsx2/distinfo
+++ b/emulators/pcsx2/distinfo
@@ -7,6 +7,10 @@ SHA256 (rtissera-libchdr-fec8ab94212cc65d9d9a62cb3da924f5830c04b0_GH0.tar.gz) =
 SIZE (rtissera-libchdr-fec8ab94212cc65d9d9a62cb3da924f5830c04b0_GH0.tar.gz) = 1748513
 SHA256 (biojppm-rapidyaml-213b201d264139cd1b887790197e08850af628e3_GH0.tar.gz) = c206d4565ccfa721991a8df90821d1a1f747e68385a0f3f5b9ab995e191c06be
 SIZE (biojppm-rapidyaml-213b201d264139cd1b887790197e08850af628e3_GH0.tar.gz) = 446070
+SHA256 (KhronosGroup-glslang-c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5_GH0.tar.gz) = 9ed562b906c3480b29730e46eb1536af2c82ae6a59d4d2ac93b7e764a2896372
+SIZE (KhronosGroup-glslang-c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5_GH0.tar.gz) = 3433325
+SHA256 (KhronosGroup-Vulkan-Headers-9f4c61a31435a7a90a314fc68aeb386c92a09c0f_GH0.tar.gz) = 682e0be6805949da18c5cacbad878493984d3aaf5ac1fbd968d285da78d44ae5
+SIZE (KhronosGroup-Vulkan-Headers-9f4c61a31435a7a90a314fc68aeb386c92a09c0f_GH0.tar.gz) = 1554220
 SHA256 (facebook-zstd-e47e674cd09583ff0503f0f6defd6d23d8b718d3_GH0.tar.gz) = 2a7b7e5d3f8c759894f0fea9917a590733600574d20cb53f3be827c7c62862e1
 SIZE (facebook-zstd-e47e674cd09583ff0503f0f6defd6d23d8b718d3_GH0.tar.gz) = 1952167
 SHA256 (RetroAchievements-rcheevos-3af1e2fc5188d6e932ee379942f4049ea877e648_GH0.tar.gz) = 2350d4479a9ca725a269eee5c1aeccf3e54ea2cf7bf9dd82bd0f07c59f96f5bd
diff --git a/emulators/pcsx2/files/patch-pcsx2-GS-Renderers-Vulkan-GSDeviceVK.h b/emulators/pcsx2/files/patch-pcsx2-GS-Renderers-Vulkan-GSDeviceVK.h
new file mode 100644
index 000000000000..cb06827f623c
--- /dev/null
+++ b/emulators/pcsx2/files/patch-pcsx2-GS-Renderers-Vulkan-GSDeviceVK.h
@@ -0,0 +1,10 @@
+--- pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h.orig	2023-08-31 07:45:23 UTC
++++ pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h
+@@ -31,6 +31,7 @@
+ #include <map>
+ #include <memory>
+ #include <mutex>
++#include <unordered_map>
+ #include <string>
+ #include <thread>
+ #include <vector>
diff --git a/emulators/pcsx2/files/patch-relocate-resources.txt b/emulators/pcsx2/files/patch-relocate-resources.txt
index f2be4ea8e074..316626ecb61f 100644
--- a/emulators/pcsx2/files/patch-relocate-resources.txt
+++ b/emulators/pcsx2/files/patch-relocate-resources.txt
@@ -1,8 +1,8 @@
 Allow relocation of resource files
 
---- cmake/BuildParameters.cmake.orig	2023-02-10 03:43:10 UTC
+--- cmake/BuildParameters.cmake.orig	2023-11-10 10:14:25 UTC
 +++ cmake/BuildParameters.cmake
-@@ -260,6 +260,10 @@
+@@ -259,6 +259,10 @@ endif()
  	list(APPEND PCSX2_DEFS DISABLE_BUILD_DATE)
  endif()
  
@@ -15,7 +15,7 @@ Allow relocation of resource files
  #-------------------------------------------------------------------------------
 --- pcsx2/Pcsx2Config.cpp.orig	2023-08-31 07:45:23 UTC
 +++ pcsx2/Pcsx2Config.cpp
-@@ -1676,6 +1676,10 @@ void EmuFolders::SetAppRoot()
+@@ -1676,6 +1676,10 @@ void EmuFolders::SetResourcesDirectory()
  
  void EmuFolders::SetResourcesDirectory()
  {