From e4e61e2b0ac53e5dbb2b0772ab9a90880b05929c Mon Sep 17 00:00:00 2001
From: Patrick Nicolas <patricknicolas@laposte.net>
Date: Fri, 10 Jan 2025 21:51:10 +0100
Subject: [PATCH] Fix build with vulkan headers 304

---
 server/utils/wivrn_vk_bundle.cpp | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/server/utils/wivrn_vk_bundle.cpp b/server/utils/wivrn_vk_bundle.cpp
index 5efbbcba..c91330c1 100644
--- a/server/utils/wivrn_vk_bundle.cpp
+++ b/server/utils/wivrn_vk_bundle.cpp
@@ -32,28 +32,33 @@ namespace
 	return vk::raii::Queue(device, family_index, index);
 }
 
-VkBool32 message_callback(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
-                          VkDebugUtilsMessageTypeFlagsEXT messageTypes,
-                          const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData,
-                          void * pUserData)
+VkBool32 message_callback(
+#if VK_HEADER_VERSION >= 304
+        vk::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
+        vk::DebugUtilsMessageTypeFlagsEXT messageTypes,
+        const vk::DebugUtilsMessengerCallbackDataEXT * pCallbackData,
+#else
+        VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
+        VkDebugUtilsMessageTypeFlagsEXT messageTypes,
+        const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData,
+#endif
+        void * pUserData)
 {
 	u_logging_level level = U_LOGGING_ERROR;
-	switch (messageSeverity)
+	switch (vk::DebugUtilsMessageSeverityFlagBitsEXT(messageSeverity))
 	{
-		case VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT:
+		case vk::DebugUtilsMessageSeverityFlagBitsEXT::eVerbose:
 			level = U_LOGGING_DEBUG;
 			break;
-		case VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT:
+		case vk::DebugUtilsMessageSeverityFlagBitsEXT::eInfo:
 			level = U_LOGGING_INFO;
 			break;
-		case VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT:
+		case vk::DebugUtilsMessageSeverityFlagBitsEXT::eWarning:
 			level = U_LOGGING_WARN;
 			break;
-		case VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT:
+		case vk::DebugUtilsMessageSeverityFlagBitsEXT::eError:
 			level = U_LOGGING_ERROR;
 			break;
-		case VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT:
-			break;
 	}
 	U_LOG(level, "%s", pCallbackData->pMessage);
 	return false;
-- 
2.48.1

