|
25 | 25 | #if defined(VKB_DEBUG) || defined(VKB_VALIDATION_LAYERS) |
26 | 26 | /// @brief A debug callback called from Vulkan validation layers. |
27 | 27 | static VKAPI_ATTR VkBool32 VKAPI_CALL debug_callback(VkDebugUtilsMessageSeverityFlagBitsEXT message_severity, |
28 | | - VkDebugUtilsMessageTypeFlagsEXT message_types, |
| 28 | + VkDebugUtilsMessageTypeFlagsEXT message_type, |
29 | 29 | const VkDebugUtilsMessengerCallbackDataEXT *callback_data, |
30 | 30 | void *user_data) |
31 | 31 | { |
32 | | - if (message_severity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) |
33 | | - { |
34 | | - LOGE("{} Validation Layer: Error: {}: {}", callback_data->messageIdNumber, callback_data->pMessageIdName, callback_data->pMessage); |
35 | | - } |
36 | | - else if (message_severity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT) |
37 | | - { |
38 | | - LOGW("{} Validation Layer: Warning: {}: {}", callback_data->messageIdNumber, callback_data->pMessageIdName, callback_data->pMessage); |
39 | | - } |
40 | | - else if (message_severity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT) |
41 | | - { |
42 | | - LOGI("{} Validation Layer: Information: {}: {}", callback_data->messageIdNumber, callback_data->pMessageIdName, callback_data->pMessage); |
43 | | - } |
44 | | - else if (message_types & VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT) |
45 | | - { |
46 | | - LOGI("{} Validation Layer: Performance warning: {}: {}", callback_data->messageIdNumber, callback_data->pMessageIdName, callback_data->pMessage); |
47 | | - } |
48 | | - else if (message_severity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT) |
49 | | - { |
50 | | - LOGD("{} Validation Layer: Verbose: {}: {}", callback_data->messageIdNumber, callback_data->pMessageIdName, callback_data->pMessage); |
| 32 | + // Log debug message |
| 33 | + std::string message = fmt::format("Debug callback {}\n{}: {}", |
| 34 | + vk::to_string(static_cast<vk::DebugUtilsMessageTypeFlagsEXT>(message_type)), |
| 35 | + callback_data->pMessageIdName, |
| 36 | + callback_data->pMessage); |
| 37 | + switch (message_severity) |
| 38 | + { |
| 39 | + case VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT: |
| 40 | + LOGD("{}", message); |
| 41 | + break; |
| 42 | + case VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT: |
| 43 | + LOGI("{}", message); |
| 44 | + break; |
| 45 | + case VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT: |
| 46 | + LOGW("{}", message); |
| 47 | + break; |
| 48 | + case VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT: |
| 49 | + LOGE("{}", message); |
| 50 | + break; |
| 51 | + default: |
| 52 | + LOGE("Unknown message severity {}!\n{}", vk::to_string(static_cast<vk::DebugUtilsMessageSeverityFlagBitsEXT>(message_severity)), message); |
| 53 | + break; |
51 | 54 | } |
52 | 55 | return VK_FALSE; |
53 | 56 | } |
|
0 commit comments