summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
Diffstat (limited to 'emulators')
-rw-r--r--emulators/flycast/Makefile1
-rw-r--r--emulators/magia/Makefile2
-rw-r--r--emulators/rpcs3/Makefile14
-rw-r--r--emulators/rpcs3/distinfo26
-rw-r--r--emulators/rpcs3/files/patch-rpcs3_rpcs3qt_game__list__frame.cpp24
-rw-r--r--emulators/rpcs3/files/patch-rpcs3_rpcs3qt_ps__move__tracker__dialog.cpp24
-rw-r--r--emulators/rpcs3/files/patch-wolfssl16
-rw-r--r--emulators/rpcs3/pkg-plist2
-rw-r--r--emulators/wine/Makefile2
-rw-r--r--emulators/yuzu/files/patch-fmt11300
10 files changed, 323 insertions, 88 deletions
diff --git a/emulators/flycast/Makefile b/emulators/flycast/Makefile
index cf5a8593268d..40740987bb9b 100644
--- a/emulators/flycast/Makefile
+++ b/emulators/flycast/Makefile
@@ -1,6 +1,7 @@
PORTNAME= flycast
DISTVERSIONPREFIX= v
DISTVERSION= 2.5
+PORTREVISION= 1
CATEGORIES= emulators
MAINTAINER= bsdcode@disroot.org
diff --git a/emulators/magia/Makefile b/emulators/magia/Makefile
index 2727b44605e3..11b61290ece9 100644
--- a/emulators/magia/Makefile
+++ b/emulators/magia/Makefile
@@ -1,7 +1,7 @@
PORTNAME= magia
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.0
-PORTREVISION= 25
+PORTREVISION= 26
CATEGORIES= emulators
MAINTAINER= ports@FreeBSD.org
diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile
index bfed62024596..dca7fd14148b 100644
--- a/emulators/rpcs3/Makefile
+++ b/emulators/rpcs3/Makefile
@@ -1,7 +1,7 @@
PORTNAME= rpcs3
DISTVERSIONPREFIX= v
-DISTVERSION= 0.0.36 # git rev-list --count HEAD
-DISTVERSIONSUFFIX= -17723-g2f8ed1a6bd
+DISTVERSION= 0.0.36-17959 # git rev-list --count HEAD
+DISTVERSIONSUFFIX= -gb54c2124cf
CATEGORIES= emulators wayland
MAINTAINER= jbeich@FreeBSD.org
@@ -25,17 +25,17 @@ ONLY_FOR_ARCHS_REASON= requires int128 and SSE2
USE_GITHUB= yes
GH_ACCOUNT= RPCS3
GH_TUPLE= RPCS3:hidapi:hidapi-0.14.0-2-g8b43a97:hidapi/3rdparty/hidapi/hidapi \
- RPCS3:soundtouch:2.3.1-68-g394e1f5:soundtouch/3rdparty/SoundTouch/soundtouch \
+ RPCS3:soundtouch:2.3.1-78-g3982730:soundtouch/3rdparty/SoundTouch/soundtouch \
asmjit:asmjit:416f735:asmjit/3rdparty/asmjit/asmjit \
facebook:zstd:v1.5.7:zstd/3rdparty/zstd/zstd \
jbeder:yaml-cpp:0.8.0-11-g456c68f:yamlcpp/3rdparty/yaml-cpp/yaml-cpp \
- KhronosGroup:glslang:13.1.1:glslang/3rdparty/glslang/glslang \
+ KhronosGroup:glslang:15.3.0:glslang/3rdparty/glslang/glslang \
kcat:openal-soft:1.23.1:openal_soft/3rdparty/OpenAL/openal-soft \
kinetiknz:cubeb:cubeb-0.2-1425-g88585b6:cubeb/3rdparty/cubeb/cubeb \
- Megamouse:VulkanMemoryAllocator:3706484:vkalloc/3rdparty/GPUOpen/VulkanMemoryAllocator \
- miniupnp:miniupnp:miniupnpd_2_3_6:miniupnp/3rdparty/miniupnp/miniupnp \
+ Megamouse:VulkanMemoryAllocator:1d8f600:vkalloc/3rdparty/GPUOpen/VulkanMemoryAllocator \
+ miniupnp:miniupnp:miniupnpd_2_3_9:miniupnp/3rdparty/miniupnp/miniupnp \
nothings:stb:013ac3b:stb/3rdparty/stblib/stb \
- wolfSSL:wolfssl:v5.7.6-stable:wolfssl/3rdparty/wolfssl/wolfssl \
+ wolfSSL:wolfssl:v5.8.0-stable:wolfssl/3rdparty/wolfssl/wolfssl \
xioTechnologies:Fusion:v1.2.8:fusion/3rdparty/fusion/fusion
USES= cmake gl iconv:wchar_t llvm:min=19,lib localbase:ldflags \
diff --git a/emulators/rpcs3/distinfo b/emulators/rpcs3/distinfo
index 63825cfc9737..bc2a27e9c99e 100644
--- a/emulators/rpcs3/distinfo
+++ b/emulators/rpcs3/distinfo
@@ -1,30 +1,30 @@
-TIMESTAMP = 1743363932
-SHA256 (RPCS3-rpcs3-v0.0.36-17723-g2f8ed1a6bd_GH0.tar.gz) = a709ae993c6837a818b258a587ca4d5979eb205f77f52b8c95178115d6176462
-SIZE (RPCS3-rpcs3-v0.0.36-17723-g2f8ed1a6bd_GH0.tar.gz) = 6981719
+TIMESTAMP = 1747835471
+SHA256 (RPCS3-rpcs3-v0.0.36-17959-gb54c2124cf_GH0.tar.gz) = d528bcbcd7ca561d87a4a364caa8e964991422686756038a46bdcb562c8c6d8d
+SIZE (RPCS3-rpcs3-v0.0.36-17959-gb54c2124cf_GH0.tar.gz) = 5856504
SHA256 (RPCS3-hidapi-hidapi-0.14.0-2-g8b43a97_GH0.tar.gz) = 109ba77362885d60e274930f637735ee75df2850fe99e3f1c3a5b9d1187f8cb6
SIZE (RPCS3-hidapi-hidapi-0.14.0-2-g8b43a97_GH0.tar.gz) = 348879
-SHA256 (RPCS3-soundtouch-2.3.1-68-g394e1f5_GH0.tar.gz) = e24af82c51547341e2dfd43af03c1847abfd8d27334d667e6a51943f7f505cbe
-SIZE (RPCS3-soundtouch-2.3.1-68-g394e1f5_GH0.tar.gz) = 606828
+SHA256 (RPCS3-soundtouch-2.3.1-78-g3982730_GH0.tar.gz) = 68119ffee94c7eb2e12357599d7a47ec5cb029a89243daafb9ffad3fdfb433e9
+SIZE (RPCS3-soundtouch-2.3.1-78-g3982730_GH0.tar.gz) = 607859
SHA256 (asmjit-asmjit-416f735_GH0.tar.gz) = 65ba9c3487da09af02db0c34405d1bdd3e49e134062930777f272007d97940fd
SIZE (asmjit-asmjit-416f735_GH0.tar.gz) = 1151444
SHA256 (facebook-zstd-v1.5.7_GH0.tar.gz) = 37d7284556b20954e56e1ca85b80226768902e2edabd3b649e9e72c0c9012ee3
SIZE (facebook-zstd-v1.5.7_GH0.tar.gz) = 2451884
SHA256 (jbeder-yaml-cpp-0.8.0-11-g456c68f_GH0.tar.gz) = 3793d936474b1e6366f934f128f168dae711fd5e248dac048226c7879cefd6a3
SIZE (jbeder-yaml-cpp-0.8.0-11-g456c68f_GH0.tar.gz) = 1018173
-SHA256 (KhronosGroup-glslang-13.1.1_GH0.tar.gz) = 1c4d0a5a38c8aaf89a2d7e6093be734320599f5a6775b2726beeb05b0c054e66
-SIZE (KhronosGroup-glslang-13.1.1_GH0.tar.gz) = 3763210
+SHA256 (KhronosGroup-glslang-15.3.0_GH0.tar.gz) = c6c21fe1873c37e639a6a9ac72d857ab63a5be6893a589f34e09a6c757174201
+SIZE (KhronosGroup-glslang-15.3.0_GH0.tar.gz) = 4023163
SHA256 (kcat-openal-soft-1.23.1_GH0.tar.gz) = dfddf3a1f61059853c625b7bb03de8433b455f2f79f89548cbcbd5edca3d4a4a
SIZE (kcat-openal-soft-1.23.1_GH0.tar.gz) = 840185
SHA256 (kinetiknz-cubeb-cubeb-0.2-1425-g88585b6_GH0.tar.gz) = d10bf2d54d7202efa39ac10bc580048666d6e7a5019a5d1f0f71e8b7bf01f25c
SIZE (kinetiknz-cubeb-cubeb-0.2-1425-g88585b6_GH0.tar.gz) = 226777
-SHA256 (Megamouse-VulkanMemoryAllocator-3706484_GH0.tar.gz) = f8e30cd27a21dffd70387eb8058240933c40b6272ea84f89cf61c2f73c5537ec
-SIZE (Megamouse-VulkanMemoryAllocator-3706484_GH0.tar.gz) = 1687892
-SHA256 (miniupnp-miniupnp-miniupnpd_2_3_6_GH0.tar.gz) = 6e5ee2239030486675f558cc840d154e5e2db9517efc96c5b0ab2b2c34c1a128
-SIZE (miniupnp-miniupnp-miniupnpd_2_3_6_GH0.tar.gz) = 462607
+SHA256 (Megamouse-VulkanMemoryAllocator-1d8f600_GH0.tar.gz) = 5aef11d98bae2ea911cda9fedcac6935d5bc5d0776cee581fc7b7204bd7b0d47
+SIZE (Megamouse-VulkanMemoryAllocator-1d8f600_GH0.tar.gz) = 962218
+SHA256 (miniupnp-miniupnp-miniupnpd_2_3_9_GH0.tar.gz) = ec7981351ad6a046eee0abf522ed1a45a3b0517e1da64e03826051f5f5354ea5
+SIZE (miniupnp-miniupnp-miniupnpd_2_3_9_GH0.tar.gz) = 540322
SHA256 (nothings-stb-013ac3b_GH0.tar.gz) = f2f5aeaa2504f8dc3ee7412cb480f9be218766c7a652ce3bcebbc25ec72d7e9c
SIZE (nothings-stb-013ac3b_GH0.tar.gz) = 1510649
-SHA256 (wolfSSL-wolfssl-v5.7.6-stable_GH0.tar.gz) = 52b1e439e30d1ed8162a16308a8525a862183b67aa30373b11166ecbab000d63
-SIZE (wolfSSL-wolfssl-v5.7.6-stable_GH0.tar.gz) = 24573776
+SHA256 (wolfSSL-wolfssl-v5.8.0-stable_GH0.tar.gz) = f90f18c7f12913a0b351b1f4305e768697ea1380794df1f2984b9452ab0aeeaf
+SIZE (wolfSSL-wolfssl-v5.8.0-stable_GH0.tar.gz) = 24936537
SHA256 (xioTechnologies-Fusion-v1.2.8_GH0.tar.gz) = ff9e4b8f09592226e310e8ac55073614743d04ace4e1ab66e96c3b517000600b
SIZE (xioTechnologies-Fusion-v1.2.8_GH0.tar.gz) = 447874
SHA256 (thestk-rtmidi-6.0.0_GH0.tar.gz) = ef7bcda27fee6936b651c29ebe9544c74959d0b1583b716ce80a1c6fea7617f0
diff --git a/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_game__list__frame.cpp b/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_game__list__frame.cpp
deleted file mode 100644
index af2bc4ddbf9c..000000000000
--- a/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_game__list__frame.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-Fix build with Qt >= 6.9.0
-
-Backported from: https://github.com/RPCS3/rpcs3/commit/600e4604169464c64cbf548e7629e483ad2aad1e
-
---- rpcs3/rpcs3qt/game_list_frame.cpp.orig 2025-03-30 19:45:32 UTC
-+++ rpcs3/rpcs3qt/game_list_frame.cpp
-@@ -2363,7 +2363,7 @@ void game_list_frame::BatchActionBySerials(progress_di
-
- connect(future_watcher, &QFutureWatcher<void>::finished, this, [=, this]()
- {
-- pdlg->setLabelText(progressLabel.arg(*index).arg(serials_size));
-+ pdlg->setLabelText(progressLabel.arg(index->load()).arg(serials_size));
- pdlg->setCancelButtonText(tr("OK"));
- QApplication::beep();
-
-@@ -2396,7 +2396,7 @@ void game_list_frame::BatchActionBySerials(progress_di
- return;
- }
-
-- pdlg->setLabelText(progressLabel.arg(*index).arg(serials_size));
-+ pdlg->setLabelText(progressLabel.arg(index->load()).arg(serials_size));
- pdlg->setCancelButtonText(tr("OK"));
- connect(pdlg, &progress_dialog::canceled, this, [pdlg](){ pdlg->deleteLater(); });
- QApplication::beep();
diff --git a/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_ps__move__tracker__dialog.cpp b/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_ps__move__tracker__dialog.cpp
deleted file mode 100644
index ce6da7983d15..000000000000
--- a/emulators/rpcs3/files/patch-rpcs3_rpcs3qt_ps__move__tracker__dialog.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-Fix build with Qt >= 6.9.0
-
-Backported from: https://github.com/RPCS3/rpcs3/commit/600e4604169464c64cbf548e7629e483ad2aad1e
-
---- rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp.orig 2025-03-30 19:45:32 UTC
-+++ rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp
-@@ -362,7 +362,7 @@ void ps_move_tracker_dialog::update_min_radius(bool up
- }
- void ps_move_tracker_dialog::update_min_radius(bool update_slider)
- {
-- ui->minRadiusGb->setTitle(tr("Min Radius: %0 %").arg(g_cfg_move.min_radius));
-+ ui->minRadiusGb->setTitle(tr("Min Radius: %0 %").arg(g_cfg_move.min_radius.get()));
-
- if (update_slider)
- {
-@@ -372,7 +372,7 @@ void ps_move_tracker_dialog::update_max_radius(bool up
-
- void ps_move_tracker_dialog::update_max_radius(bool update_slider)
- {
-- ui->maxRadiusGb->setTitle(tr("Max Radius: %0 %").arg(g_cfg_move.max_radius));
-+ ui->maxRadiusGb->setTitle(tr("Max Radius: %0 %").arg(g_cfg_move.max_radius.get()));
-
- if (update_slider)
- {
diff --git a/emulators/rpcs3/files/patch-wolfssl b/emulators/rpcs3/files/patch-wolfssl
deleted file mode 100644
index c736ccef7dc1..000000000000
--- a/emulators/rpcs3/files/patch-wolfssl
+++ /dev/null
@@ -1,16 +0,0 @@
-https://github.com/wolfSSL/wolfssl/commit/197a7e0ba386
-
---- 3rdparty/wolfssl/wolfssl/wolfcrypt/src/cpuid.c.orig 2024-12-31 17:58:22 UTC
-+++ 3rdparty/wolfssl/wolfssl/wolfcrypt/src/cpuid.c
-@@ -259,8 +259,10 @@
-
- if (features & CPUID_AARCH64_FEAT_AES)
- cpuid_flags |= CPUID_AES;
-- if (features & CPUID_AARCH64_FEAT_PMULL)
-+ if (features & CPUID_AARCH64_FEAT_AES_PMULL) {
-+ cpuid_flags |= CPUID_AES;
- cpuid_flags |= CPUID_PMULL;
-+ }
- if (features & CPUID_AARCH64_FEAT_SHA256)
- cpuid_flags |= CPUID_SHA256;
- if (features & CPUID_AARCH64_FEAT_SHA256_512)
diff --git a/emulators/rpcs3/pkg-plist b/emulators/rpcs3/pkg-plist
index 7013d57775ab..663b6c377e73 100644
--- a/emulators/rpcs3/pkg-plist
+++ b/emulators/rpcs3/pkg-plist
@@ -43,8 +43,6 @@ share/metainfo/rpcs3.metainfo.xml
%%DATADIR%%/Icons/ui/square.png
%%DATADIR%%/Icons/ui/start.png
%%DATADIR%%/Icons/ui/triangle.png
-%%DATADIR%%/git/README.md
-%%DATADIR%%/git/commits.lst
%%DATADIR%%/test/dump_stack.elf
%%DATADIR%%/test/gs_gcm_basic_triangle.elf
%%DATADIR%%/test/gs_gcm_cube.elf
diff --git a/emulators/wine/Makefile b/emulators/wine/Makefile
index 12125ec82fc2..2df6984a7179 100644
--- a/emulators/wine/Makefile
+++ b/emulators/wine/Makefile
@@ -148,7 +148,7 @@ PLIST_SUB+= WINE32="@comment " WINE64="" WINEARCH="x86_64"
# FreeBSD yet.
post-patch:
${REINPLACE_CMD} '/Exec/s|wine|wine64|g' ${WRKSRC}/loader/wine.desktop
- ${MV} ${WRKSRC}/loader/*.man.in ${WRKSRC}/tools/wine/
+ ${CP} ${WRKSRC}/loader/*.man.in ${WRKSRC}/tools/wine/
.else
EXTRA_PATCHES+= files/extra-patch-tools-winebuild-res32
diff --git a/emulators/yuzu/files/patch-fmt11 b/emulators/yuzu/files/patch-fmt11
new file mode 100644
index 000000000000..7bb956a08328
--- /dev/null
+++ b/emulators/yuzu/files/patch-fmt11
@@ -0,0 +1,300 @@
+https://git.citron-emu.org/citron/emu/-/commit/7730d14b4a26
+
+--- src/common/logging/formatter.h.orig 2024-03-01 07:57:00 UTC
++++ src/common/logging/formatter.h
+@@ -14,7 +14,7 @@ struct fmt::formatter<T, std::enable_if_t<std::is_enum
+ struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>>
+ : formatter<std::underlying_type_t<T>> {
+ template <typename FormatContext>
+- auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) {
++ auto format(const T& value, FormatContext& ctx) const -> decltype(ctx.out()) {
+ return fmt::formatter<std::underlying_type_t<T>>::format(
+ static_cast<std::underlying_type_t<T>>(value), ctx);
+ }
+--- src/common/typed_address.h.orig 2024-03-01 07:57:00 UTC
++++ src/common/typed_address.h
+@@ -262,7 +262,7 @@ struct fmt::formatter<Common::PhysicalAddress> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Common::PhysicalAddress& addr, FormatContext& ctx) {
++ auto format(const Common::PhysicalAddress& addr, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{:#x}", static_cast<u64>(addr.GetValue()));
+ }
+ };
+@@ -273,7 +273,7 @@ struct fmt::formatter<Common::ProcessAddress> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Common::ProcessAddress& addr, FormatContext& ctx) {
++ auto format(const Common::ProcessAddress& addr, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{:#x}", static_cast<u64>(addr.GetValue()));
+ }
+ };
+@@ -284,7 +284,7 @@ struct fmt::formatter<Common::VirtualAddress> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Common::VirtualAddress& addr, FormatContext& ctx) {
++ auto format(const Common::VirtualAddress& addr, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{:#x}", static_cast<u64>(addr.GetValue()));
+ }
+ };
+--- src/core/arm/dynarmic/dynarmic_cp15.cpp.orig 2024-03-01 07:57:00 UTC
++++ src/core/arm/dynarmic/dynarmic_cp15.cpp
+@@ -22,7 +22,7 @@ struct fmt::formatter<Dynarmic::A32::CoprocReg> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Dynarmic::A32::CoprocReg& reg, FormatContext& ctx) {
++ auto format(const Dynarmic::A32::CoprocReg& reg, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "cp{}", static_cast<size_t>(reg));
+ }
+ };
+--- src/core/debugger/gdbstub.cpp.orig 2024-03-01 07:57:00 UTC
++++ src/core/debugger/gdbstub.cpp
+@@ -9,6 +9,7 @@
+ #include <thread>
+
+ #include <boost/algorithm/string.hpp>
++#include <fmt/ranges.h>
+
+ #include "common/hex_util.h"
+ #include "common/logging/log.h"
+--- src/core/hle/service/nfc/common/device.cpp.orig 2024-03-01 07:57:00 UTC
++++ src/core/hle/service/nfc/common/device.cpp
+@@ -14,7 +14,7 @@
+ #pragma warning(pop)
+ #endif
+
+-#include <fmt/format.h>
++#include <fmt/ranges.h>
+
+ #include "common/fs/file.h"
+ #include "common/fs/fs.h"
+--- src/core/hle/service/psc/time/common.h.orig 2024-03-01 07:57:00 UTC
++++ src/core/hle/service/psc/time/common.h
+@@ -167,7 +167,7 @@ struct fmt::formatter<Service::PSC::Time::TimeType> :
+ template <>
+ struct fmt::formatter<Service::PSC::Time::TimeType> : fmt::formatter<fmt::string_view> {
+ template <typename FormatContext>
+- auto format(Service::PSC::Time::TimeType type, FormatContext& ctx) {
++ auto format(Service::PSC::Time::TimeType type, FormatContext& ctx) const {
+ const string_view name = [type] {
+ using Service::PSC::Time::TimeType;
+ switch (type) {
+--- src/shader_recompiler/backend/glasm/reg_alloc.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/backend/glasm/reg_alloc.h
+@@ -184,7 +184,7 @@ struct fmt::formatter<Shader::Backend::GLASM::Id> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) {
++ auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) const {
+ return Shader::Backend::GLASM::FormatTo<true>(ctx, id);
+ }
+ };
+@@ -195,7 +195,7 @@ struct fmt::formatter<Shader::Backend::GLASM::Register
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::Backend::GLASM::Register& value, FormatContext& ctx) {
++ auto format(const Shader::Backend::GLASM::Register& value, FormatContext& ctx) const {
+ if (value.type != Shader::Backend::GLASM::Type::Register) {
+ throw Shader::InvalidArgument("Register value type is not register");
+ }
+@@ -209,7 +209,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarRe
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::Backend::GLASM::ScalarRegister& value, FormatContext& ctx) {
++ auto format(const Shader::Backend::GLASM::ScalarRegister& value, FormatContext& ctx) const {
+ if (value.type != Shader::Backend::GLASM::Type::Register) {
+ throw Shader::InvalidArgument("Register value type is not register");
+ }
+@@ -223,7 +223,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarU3
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) {
++ auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) const {
+ switch (value.type) {
+ case Shader::Backend::GLASM::Type::Void:
+ break;
+@@ -244,7 +244,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarS3
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) {
++ auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) const {
+ switch (value.type) {
+ case Shader::Backend::GLASM::Type::Void:
+ break;
+@@ -265,7 +265,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarF3
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) {
++ auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) const {
+ switch (value.type) {
+ case Shader::Backend::GLASM::Type::Void:
+ break;
+@@ -286,7 +286,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarF6
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) {
++ auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) const {
+ switch (value.type) {
+ case Shader::Backend::GLASM::Type::Void:
+ break;
+--- src/shader_recompiler/frontend/ir/attribute.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/frontend/ir/attribute.h
+@@ -250,7 +250,7 @@ struct fmt::formatter<Shader::IR::Attribute> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::IR::Attribute& attribute, FormatContext& ctx) {
++ auto format(const Shader::IR::Attribute& attribute, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(attribute));
+ }
+ };
+--- src/shader_recompiler/frontend/ir/condition.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/frontend/ir/condition.h
+@@ -52,7 +52,7 @@ struct fmt::formatter<Shader::IR::Condition> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::IR::Condition& cond, FormatContext& ctx) {
++ auto format(const Shader::IR::Condition& cond, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(cond));
+ }
+ };
+--- src/shader_recompiler/frontend/ir/flow_test.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/frontend/ir/flow_test.h
+@@ -55,7 +55,7 @@ struct fmt::formatter<Shader::IR::FlowTest> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::IR::FlowTest& flow_test, FormatContext& ctx) {
++ auto format(const Shader::IR::FlowTest& flow_test, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(flow_test));
+ }
+ };
+--- src/shader_recompiler/frontend/ir/opcodes.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/frontend/ir/opcodes.h
+@@ -103,7 +103,7 @@ struct fmt::formatter<Shader::IR::Opcode> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::IR::Opcode& op, FormatContext& ctx) {
++ auto format(const Shader::IR::Opcode& op, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(op));
+ }
+ };
+--- src/shader_recompiler/frontend/ir/pred.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/frontend/ir/pred.h
+@@ -33,7 +33,7 @@ struct fmt::formatter<Shader::IR::Pred> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::IR::Pred& pred, FormatContext& ctx) {
++ auto format(const Shader::IR::Pred& pred, FormatContext& ctx) const {
+ if (pred == Shader::IR::Pred::PT) {
+ return fmt::format_to(ctx.out(), "PT");
+ } else {
+--- src/shader_recompiler/frontend/ir/reg.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/frontend/ir/reg.h
+@@ -319,7 +319,7 @@ struct fmt::formatter<Shader::IR::Reg> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::IR::Reg& reg, FormatContext& ctx) {
++ auto format(const Shader::IR::Reg& reg, FormatContext& ctx) const {
+ if (reg == Shader::IR::Reg::RZ) {
+ return fmt::format_to(ctx.out(), "RZ");
+ } else if (static_cast<int>(reg) >= 0 && static_cast<int>(reg) < 255) {
+--- src/shader_recompiler/frontend/ir/type.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/frontend/ir/type.h
+@@ -54,7 +54,7 @@ struct fmt::formatter<Shader::IR::Type> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::IR::Type& type, FormatContext& ctx) {
++ auto format(const Shader::IR::Type& type, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{}", NameOf(type));
+ }
+ };
+--- src/shader_recompiler/frontend/maxwell/location.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/frontend/maxwell/location.h
+@@ -102,7 +102,7 @@ struct fmt::formatter<Shader::Maxwell::Location> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::Maxwell::Location& location, FormatContext& ctx) {
++ auto format(const Shader::Maxwell::Location& location, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{:04x}", location.Offset());
+ }
+ };
+--- src/shader_recompiler/frontend/maxwell/opcodes.h.orig 2024-03-01 07:57:00 UTC
++++ src/shader_recompiler/frontend/maxwell/opcodes.h
+@@ -23,7 +23,7 @@ struct fmt::formatter<Shader::Maxwell::Opcode> {
+ return ctx.begin();
+ }
+ template <typename FormatContext>
+- auto format(const Shader::Maxwell::Opcode& opcode, FormatContext& ctx) {
++ auto format(const Shader::Maxwell::Opcode& opcode, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{}", NameOf(opcode));
+ }
+ };
+--- src/video_core/renderer_vulkan/renderer_vulkan.cpp.orig 2024-03-01 07:57:00 UTC
++++ src/video_core/renderer_vulkan/renderer_vulkan.cpp
+@@ -9,7 +9,7 @@
+ #include <string>
+ #include <vector>
+
+-#include <fmt/format.h>
++#include <fmt/ranges.h>
+
+ #include "common/logging/log.h"
+ #include "common/polyfill_ranges.h"
+--- src/video_core/texture_cache/formatter.h.orig 2024-03-01 07:57:00 UTC
++++ src/video_core/texture_cache/formatter.h
+@@ -13,7 +13,7 @@ struct fmt::formatter<VideoCore::Surface::PixelFormat>
+ template <>
+ struct fmt::formatter<VideoCore::Surface::PixelFormat> : fmt::formatter<fmt::string_view> {
+ template <typename FormatContext>
+- auto format(VideoCore::Surface::PixelFormat format, FormatContext& ctx) {
++ auto format(VideoCore::Surface::PixelFormat format, FormatContext& ctx) const {
+ using VideoCore::Surface::PixelFormat;
+ const string_view name = [format] {
+ switch (format) {
+@@ -234,7 +234,7 @@ struct fmt::formatter<VideoCommon::ImageType> : fmt::f
+ template <>
+ struct fmt::formatter<VideoCommon::ImageType> : fmt::formatter<fmt::string_view> {
+ template <typename FormatContext>
+- auto format(VideoCommon::ImageType type, FormatContext& ctx) {
++ auto format(VideoCommon::ImageType type, FormatContext& ctx) const {
+ const string_view name = [type] {
+ using VideoCommon::ImageType;
+ switch (type) {
+@@ -262,7 +262,7 @@ struct fmt::formatter<VideoCommon::Extent3D> {
+ }
+
+ template <typename FormatContext>
+- auto format(const VideoCommon::Extent3D& extent, FormatContext& ctx) {
++ auto format(const VideoCommon::Extent3D& extent, FormatContext& ctx) const {
+ return fmt::format_to(ctx.out(), "{{{}, {}, {}}}", extent.width, extent.height,
+ extent.depth);
+ }
+--- src/yuzu/main.cpp.orig 2024-03-01 07:57:00 UTC
++++ src/yuzu/main.cpp
+@@ -91,7 +91,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrap
+ #include <SDL.h> // For SDL ScreenSaver functions
+ #endif
+
+-#include <fmt/format.h>
++#include <fmt/ranges.h>
+ #include "common/detached_tasks.h"
+ #include "common/fs/fs.h"
+ #include "common/fs/path_util.h"