From c367401fd652a018c4da2da1df94622f9727dc93 Mon Sep 17 00:00:00 2001 From: ATrivialAtomic <44280901+ATrivialAtomic@users.noreply.github.com> Date: Wed, 2 Apr 2025 12:03:10 -0400 Subject: [PATCH] vulkan_context.cpp - update to match commit 9d8ab81 --- src/video_display/vulkan/vulkan_context.cpp | 24 ++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/video_display/vulkan/vulkan_context.cpp b/src/video_display/vulkan/vulkan_context.cpp index 60576f1f6..b0a7d5e3f 100644 --- a/src/video_display/vulkan/vulkan_context.cpp +++ b/src/video_display/vulkan/vulkan_context.cpp @@ -43,7 +43,7 @@ using namespace vulkan_display_detail; using namespace vulkan_display; namespace { - +#if VK_HEADER_VERSION >= 304 VKAPI_ATTR VkBool32 VKAPI_CALL debug_callback( [[maybe_unused]] vk::DebugUtilsMessageSeverityFlagBitsEXT message_severity, [[maybe_unused]] vk::DebugUtilsMessageTypeFlagsEXT message_type, @@ -64,6 +64,28 @@ VKAPI_ATTR VkBool32 VKAPI_CALL debug_callback( return VK_FALSE; } +#else /// compat (eg. Debian 11) @todo TOREMOVE later + VKAPI_ATTR VkBool32 VKAPI_CALL debug_callback( + [[maybe_unused]] VkDebugUtilsMessageSeverityFlagBitsEXT message_severity, + [[maybe_unused]] VkDebugUtilsMessageTypeFlagsEXT message_type, + const VkDebugUtilsMessengerCallbackDataEXT* callback_data, + [[maybe_unused]] void* user_data) +{ + LogLevel level = LogLevel::notice; + if (VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT & message_severity) level = LogLevel::error; + else if (VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT & message_severity) level = LogLevel::warning; + else if (VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT & message_severity) level = LogLevel::info; + else if (VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT & message_severity) level = LogLevel::verbose; + + vulkan_log_msg(level, "validation layer: "s + callback_data->pMessage); + + if (message_type != VkDebugUtilsMessageTypeFlagBitsEXT::VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT){ + //assert(false); + } + + return VK_FALSE; +} +#endif void check_validation_layers(const std::vector& required_layers) { std::vector layers = vk::enumerateInstanceLayerProperties();