From df96568ae41d484e01e70ee1e9cf6989b762e6e9 Mon Sep 17 00:00:00 2001
From: OpenSauce04 <opensauce04@gmail.com>
Date: Sun, 2 Mar 2025 22:01:09 +0000
Subject: [PATCH 1/6] externals: Initial submodule mass update

The following have not yet been updated due to issues:
- glslang
- teakra
- vma
- vulkan-headers
- xbyak

openal-soft has been updated, but only to 1.24.1 rather than the latest 1.24.2. This is due to an upstream issue which should be resolved in the next library update.
---
 externals/catch2          | 2 +-
 externals/cryptopp-cmake  | 2 +-
 externals/cubeb           | 2 +-
 externals/fmt             | 2 +-
 externals/libyuv          | 2 +-
 externals/lodepng/lodepng | 2 +-
 externals/openal-soft     | 2 +-
 externals/sdl2/SDL        | 2 +-
 externals/zstd            | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/externals/catch2 b/externals/catch2
index fa43b7742..914aeecfe 160000
--- a/externals/catch2
+++ b/externals/catch2
@@ -1 +1 @@
-Subproject commit fa43b77429ba76c462b1898d6cd2f2d7a9416b14
+Subproject commit 914aeecfe23b1e16af6ea675a4fb5dbd5a5b8d0a
diff --git a/externals/cryptopp-cmake b/externals/cryptopp-cmake
index d2b072ab6..00a151f84 160000
--- a/externals/cryptopp-cmake
+++ b/externals/cryptopp-cmake
@@ -1 +1 @@
-Subproject commit d2b072ab65c036f3dca67f4204ad57d66728bf99
+Subproject commit 00a151f8489daaa32434ab1f340e6750793ddf0c
diff --git a/externals/cubeb b/externals/cubeb
index 19d2f7bce..832fcf38e 160000
--- a/externals/cubeb
+++ b/externals/cubeb
@@ -1 +1 @@
-Subproject commit 19d2f7bce6a4d0566a07f3187d2bc5f0ec95c1c4
+Subproject commit 832fcf38e600bf80b4b728a3e0227403088d992c
diff --git a/externals/fmt b/externals/fmt
index 0c9fce2ff..123913715 160000
--- a/externals/fmt
+++ b/externals/fmt
@@ -1 +1 @@
-Subproject commit 0c9fce2ffefecfdce794e1859584e25877b7b592
+Subproject commit 123913715afeb8a437e6388b4473fcc4753e1c9a
diff --git a/externals/libyuv b/externals/libyuv
index 75f7cfdde..c060118be 160000
--- a/externals/libyuv
+++ b/externals/libyuv
@@ -1 +1 @@
-Subproject commit 75f7cfdde55155112d6c4d59b92aef1735eedb24
+Subproject commit c060118bea3f28ceb837d3c85e479d3bb4c21726
diff --git a/externals/lodepng/lodepng b/externals/lodepng/lodepng
index 79a61c79c..0b1d9ccfc 160000
--- a/externals/lodepng/lodepng
+++ b/externals/lodepng/lodepng
@@ -1 +1 @@
-Subproject commit 79a61c79cc62814f315661f53a026004bac80614
+Subproject commit 0b1d9ccfc2093e5d6620cd9a11d03ee6ff6705f5
diff --git a/externals/openal-soft b/externals/openal-soft
index d9fed51aa..90191edd2 160000
--- a/externals/openal-soft
+++ b/externals/openal-soft
@@ -1 +1 @@
-Subproject commit d9fed51aa6391debc31dbbca550f055c980afe70
+Subproject commit 90191edd20bb877c5cbddfdac7ec0fe49ad93727
diff --git a/externals/sdl2/SDL b/externals/sdl2/SDL
index c98c4fbff..e11183ea6 160000
--- a/externals/sdl2/SDL
+++ b/externals/sdl2/SDL
@@ -1 +1 @@
-Subproject commit c98c4fbff6d8f3016a3ce6685bf8f43433c3efcc
+Subproject commit e11183ea6caa3ae4895f4bc54cad2bbb0e365417
diff --git a/externals/zstd b/externals/zstd
index 794ea1b0a..f8745da6f 160000
--- a/externals/zstd
+++ b/externals/zstd
@@ -1 +1 @@
-Subproject commit 794ea1b0afca0f020f4e57b6732332231fb23c70
+Subproject commit f8745da6ff1ad1e7bab384bd1f9d742439278e99

From 5ef23e02bdcc59120454496ab4270d62223fbb1e Mon Sep 17 00:00:00 2001
From: Reg Tiangha <rtiangha@users.noreply.github.com>
Date: Thu, 13 Feb 2025 14:17:36 -0700
Subject: [PATCH 2/6] shader_jit_x64_compiler.cpp: Make register conversions
 more consistent

Needed as xbyak v7.23+ is more strict about register sizes. Not doing so
leads to "bad size of register" errors during the tests phase.
---
 src/video_core/shader/shader_jit_x64_compiler.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/video_core/shader/shader_jit_x64_compiler.cpp b/src/video_core/shader/shader_jit_x64_compiler.cpp
index 2dd3720b0..fd47ac0a1 100644
--- a/src/video_core/shader/shader_jit_x64_compiler.cpp
+++ b/src/video_core/shader/shader_jit_x64_compiler.cpp
@@ -409,20 +409,20 @@ void JitShader::Compile_EvaluateCondition(Instruction instr) {
         break;
 
     case Instruction::FlowControlType::And:
-        mov(al, COND0);
-        mov(bl, COND1);
+        mov(al, COND0.cvt8());
+        mov(bl, COND1.cvt8());
         xor_(al, (instr.flow_control.refx.Value() ^ 1));
         xor_(bl, (instr.flow_control.refy.Value() ^ 1));
         and_(al, bl);
         break;
 
     case Instruction::FlowControlType::JustX:
-        mov(al, COND0);
+        mov(al, COND0.cvt8());
         xor_(al, (instr.flow_control.refx.Value() ^ 1));
         break;
 
     case Instruction::FlowControlType::JustY:
-        mov(al, COND1);
+        mov(al, COND1.cvt8());
         xor_(al, (instr.flow_control.refy.Value() ^ 1));
         break;
     }

From 500d2ed22238e1c6ea2c219c474832ef8ee94e71 Mon Sep 17 00:00:00 2001
From: OpenSauce04 <opensauce04@gmail.com>
Date: Mon, 3 Mar 2025 13:38:14 +0000
Subject: [PATCH 3/6] externals: Updated xbyak to v7.23.1

---
 externals/xbyak | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/xbyak b/externals/xbyak
index 4e44f4614..0d67fd153 160000
--- a/externals/xbyak
+++ b/externals/xbyak
@@ -1 +1 @@
-Subproject commit 4e44f4614ddbf038f2a6296f5b906d5c72691e0f
+Subproject commit 0d67fd1530016b7c56f3cd74b3fca920f4c3e2b4

From 3ef6cdc4f5d1c612c90319ee67559095b400166b Mon Sep 17 00:00:00 2001
From: Reg Tiangha <rtiangha@users.noreply.github.com>
Date: Fri, 10 Jan 2025 11:33:11 -0700
Subject: [PATCH 4/6] vk_platform.cpp: Update to become Vulkan v1.4.304+
 compliant

---
 .../renderer_vulkan/vk_platform.cpp           | 31 +++++++++----------
 1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/src/video_core/renderer_vulkan/vk_platform.cpp b/src/video_core/renderer_vulkan/vk_platform.cpp
index fa8f76199..cd628f03e 100644
--- a/src/video_core/renderer_vulkan/vk_platform.cpp
+++ b/src/video_core/renderer_vulkan/vk_platform.cpp
@@ -29,8 +29,8 @@ namespace Vulkan {
 
 namespace {
 static VKAPI_ATTR VkBool32 VKAPI_CALL DebugUtilsCallback(
-    VkDebugUtilsMessageSeverityFlagBitsEXT severity, VkDebugUtilsMessageTypeFlagsEXT type,
-    const VkDebugUtilsMessengerCallbackDataEXT* callback_data, void* user_data) {
+    vk::DebugUtilsMessageSeverityFlagBitsEXT severity, vk::DebugUtilsMessageTypeFlagsEXT type,
+    const vk::DebugUtilsMessengerCallbackDataEXT* callback_data, void* user_data) {
 
     switch (static_cast<u32>(callback_data->messageIdNumber)) {
     case 0x609a13b: // Vertex attribute at location not consumed by shader
@@ -42,14 +42,14 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL DebugUtilsCallback(
 
     Common::Log::Level level{};
     switch (severity) {
-    case VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT:
+    case vk::DebugUtilsMessageSeverityFlagBitsEXT::eError:
         level = Common::Log::Level::Error;
         break;
-    case VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT:
+    case vk::DebugUtilsMessageSeverityFlagBitsEXT::eWarning:
         level = Common::Log::Level::Info;
         break;
-    case VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT:
-    case VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT:
+    case vk::DebugUtilsMessageSeverityFlagBitsEXT::eInfo:
+    case vk::DebugUtilsMessageSeverityFlagBitsEXT::eVerbose:
         level = Common::Log::Level::Debug;
         break;
     default:
@@ -63,35 +63,34 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL DebugUtilsCallback(
     return VK_FALSE;
 }
 
-static VKAPI_ATTR VkBool32 VKAPI_CALL DebugReportCallback(VkDebugReportFlagsEXT flags,
-                                                          VkDebugReportObjectTypeEXT objectType,
+static VKAPI_ATTR VkBool32 VKAPI_CALL DebugReportCallback(vk::DebugReportFlagsEXT flags,
+                                                          vk::DebugReportObjectTypeEXT objectType,
                                                           uint64_t object, std::size_t location,
                                                           int32_t messageCode,
                                                           const char* pLayerPrefix,
                                                           const char* pMessage, void* pUserData) {
 
-    const VkDebugReportFlagBitsEXT severity = static_cast<VkDebugReportFlagBitsEXT>(flags);
+    const auto severity = static_cast<vk::DebugReportFlagBitsEXT>(flags.operator VkFlags());
     Common::Log::Level level{};
     switch (severity) {
-    case VK_DEBUG_REPORT_ERROR_BIT_EXT:
+    case vk::DebugReportFlagBitsEXT::eError:
         level = Common::Log::Level::Error;
         break;
-    case VK_DEBUG_REPORT_INFORMATION_BIT_EXT:
+    case vk::DebugReportFlagBitsEXT::eInformation:
         level = Common::Log::Level::Warning;
         break;
-    case VK_DEBUG_REPORT_DEBUG_BIT_EXT:
-    case VK_DEBUG_REPORT_WARNING_BIT_EXT:
-    case VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT:
+    case vk::DebugReportFlagBitsEXT::eDebug:
+    case vk::DebugReportFlagBitsEXT::eWarning:
+    case vk::DebugReportFlagBitsEXT::ePerformanceWarning:
         level = Common::Log::Level::Debug;
         break;
     default:
         level = Common::Log::Level::Info;
     }
 
-    const vk::DebugReportObjectTypeEXT type = static_cast<vk::DebugReportObjectTypeEXT>(objectType);
     LOG_GENERIC(Common::Log::Class::Render_Vulkan, level,
                 "type = {}, object = {} | MessageCode = {:#x}, LayerPrefix = {} | {}",
-                vk::to_string(type), object, messageCode, pLayerPrefix, pMessage);
+                vk::to_string(objectType), object, messageCode, pLayerPrefix, pMessage);
 
     return VK_FALSE;
 }

From caf64abe8e911650139dfbf5ecd31911074a31c4 Mon Sep 17 00:00:00 2001
From: OpenSauce04 <opensauce04@gmail.com>
Date: Mon, 3 Mar 2025 14:02:27 +0000
Subject: [PATCH 5/6] externals: Updated glslang, vulkan-headers and vma to
 latest version

---
 externals/glslang        | 2 +-
 externals/vma            | 2 +-
 externals/vulkan-headers | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/externals/glslang b/externals/glslang
index 46ef757e0..b3a6aa7b0 160000
--- a/externals/glslang
+++ b/externals/glslang
@@ -1 +1 @@
-Subproject commit 46ef757e048e760b46601e6e77ae0cb72c97bd2f
+Subproject commit b3a6aa7b03c51ba976e4f4e96b1e31f77f43f312
diff --git a/externals/vma b/externals/vma
index 009ecd192..c788c5215 160000
--- a/externals/vma
+++ b/externals/vma
@@ -1 +1 @@
-Subproject commit 009ecd192c1289c7529bff248a16cfe896254816
+Subproject commit c788c52156f3ef7bc7ab769cb03c110a53ac8fcb
diff --git a/externals/vulkan-headers b/externals/vulkan-headers
index 29f979ee5..d4a196d8c 160000
--- a/externals/vulkan-headers
+++ b/externals/vulkan-headers
@@ -1 +1 @@
-Subproject commit 29f979ee5aa58b7b005f805ea8df7a855c39ff37
+Subproject commit d4a196d8c84e032d27f999adcea3075517c1c97f

From cfde902e6083e5ee10ad27d0d974bd269d3cc7c5 Mon Sep 17 00:00:00 2001
From: Reg Tiangha <rtiangha@users.noreply.github.com>
Date: Mon, 20 Jan 2025 17:12:50 -0700
Subject: [PATCH 6/6] externals/CMakeLists.txt: BUILD_TESTING=OFF

---
 externals/CMakeLists.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index 788992d81..52265f54f 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -181,6 +181,7 @@ if(NOT USE_SYSTEM_SOUNDTOUCH)
 endif()
 
 # Teakra
+set(BUILD_TESTING OFF CACHE BOOL "")
 add_subdirectory(teakra EXCLUDE_FROM_ALL)
 
 # SDL2