From 0632ebfa7eaa1a619c44e98ee81f7d2f1f8b804b Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Sun, 26 Jan 2025 23:16:11 +0100 Subject: [PATCH] More changes for VK 1.4.304 --- .../Vulkan/Debuging/ValidationLayer.cpp | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/openVulkanoCpp/Vulkan/Debuging/ValidationLayer.cpp b/openVulkanoCpp/Vulkan/Debuging/ValidationLayer.cpp index 56fc0e2..fe6d7a7 100644 --- a/openVulkanoCpp/Vulkan/Debuging/ValidationLayer.cpp +++ b/openVulkanoCpp/Vulkan/Debuging/ValidationLayer.cpp @@ -52,12 +52,28 @@ namespace OpenVulkano::Vulkan return layers; } - VkBool32 ValidationLayerCallback( #if VK_HEADER_VERSION > 303 - vk::Flags flags, vk::DebugReportObjectTypeEXT objType, + VkBool32 ValidationLayerCallback(vk::DebugReportFlagsEXT flags, vk::DebugReportObjectTypeEXT objType, + uint64_t srcObject, size_t location, int32_t msgCode, const char* layerPrefix, + const char* msg, void* pUserData) + { + std::string prefix = "VK_DEBUG:"; + spdlog::level::level_enum level = spdlog::level::info; + if (flags & vk::DebugReportFlagBitsEXT::eError) level = spdlog::level::err; + else if (flags & vk::DebugReportFlagBitsEXT::eWarning) level = spdlog::level::warn; + else if (flags & vk::DebugReportFlagBitsEXT::ePerformanceWarning) + { + level = spdlog::level::warn; + prefix = "[PERF] " + prefix; + } + else if (flags & vk::DebugReportFlagBitsEXT::eDebug) level = spdlog::level::debug; + + Logger::RENDER->log(level, "{0} [{1}] Code {2}: {3}", prefix, layerPrefix, msgCode, msg); + + return false; + } #else - VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objType, -#endif + VkBool32 ValidationLayerCallback(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objType, uint64_t srcObject, size_t location, int32_t msgCode, const char* layerPrefix, const char* msg, void* pUserData) { @@ -76,6 +92,7 @@ namespace OpenVulkano::Vulkan return false; } +#endif namespace {