From e0193e2be501408d18ce8cdbb76e6b2a982f8374 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C3=ADas=20Locatti?=
 <42481638+goldenx86@users.noreply.github.com>
Date: Wed, 22 Dec 2021 16:10:21 -0300
Subject: [PATCH 1/3] Increase boost requirement to 1.78.0

Liu's finding, this allows to build yuzu on VS 2022.
Ignore at will.
---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7d9056aa3c..5168a16cbc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -229,7 +229,7 @@ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR YUZU_USE_BUNDLED_BOOST)
     include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
 else()
     message(STATUS "Boost 1.73.0 or newer not found, falling back to Conan")
-    list(APPEND CONAN_REQUIRED_LIBS "boost/1.73.0")
+    list(APPEND CONAN_REQUIRED_LIBS "boost/1.78.0")
 endif()
 
 # Attempt to locate any packages that are required and report the missing ones in CONAN_REQUIRED_LIBS

From 840d5520d2a4fb42f2fb5fd2a7f4110a89929e4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C3=ADas=20Locatti?=
 <42481638+goldenx86@users.noreply.github.com>
Date: Tue, 28 Dec 2021 17:35:55 -0300
Subject: [PATCH 2/3] Changes to avoid warnings in SSE4.2 optimized SPIR-V

---
 src/shader_recompiler/backend/spirv/emit_spirv.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
index 6ce7ed12a8..70c9e67414 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
@@ -29,12 +29,21 @@ struct FuncTraits<ReturnType_ (*)(Args...)> {
     template <size_t I>
     using ArgType = std::tuple_element_t<I, std::tuple<Args...>>;
 };
+    
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable : 4702) // Ignore unreachable code warning
+#endif
 
 template <auto func, typename... Args>
 void SetDefinition(EmitContext& ctx, IR::Inst* inst, Args... args) {
     inst->SetDefinition<Id>(func(ctx, std::forward<Args>(args)...));
 }
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 template <typename ArgType>
 ArgType Arg(EmitContext& ctx, const IR::Value& arg) {
     if constexpr (std::is_same_v<ArgType, Id>) {

From c7235e67eff9ecf66e3318a4df37b1002295fdff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C3=ADas=20Locatti?=
 <42481638+goldenx86@users.noreply.github.com>
Date: Tue, 28 Dec 2021 18:50:51 -0300
Subject: [PATCH 3/3] Empty spaces

---
 src/shader_recompiler/backend/spirv/emit_spirv.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
index 70c9e67414..50918317f9 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
@@ -29,7 +29,7 @@ struct FuncTraits<ReturnType_ (*)(Args...)> {
     template <size_t I>
     using ArgType = std::tuple_element_t<I, std::tuple<Args...>>;
 };
-    
+
 #ifdef _MSC_VER
 #pragma warning(push)
 #pragma warning(disable : 4702) // Ignore unreachable code warning