diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c index 0b411f5dd..b03d21273 100644 --- a/render/vulkan/renderer.c +++ b/render/vulkan/renderer.c @@ -2570,7 +2570,7 @@ struct wlr_renderer *wlr_vk_renderer_create_with_drm_fd(int drm_fd) { wlr_log(WLR_INFO, "The vulkan renderer is only experimental and " "not expected to be ready for daily use"); wlr_log(WLR_INFO, "Run with VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation " - "to enable the validation layer"); + "and a log level of WLR_DEBUG to enable the validation layer"); struct wlr_vk_instance *ini = vulkan_instance_create(default_debug); if (!ini) { diff --git a/render/vulkan/vulkan.c b/render/vulkan/vulkan.c index 78bc25941..20fdf2e4a 100644 --- a/render/vulkan/vulkan.c +++ b/render/vulkan/vulkan.c @@ -60,6 +60,9 @@ static VKAPI_ATTR VkBool32 debug_callback(VkDebugUtilsMessageSeverityFlagBitsEXT case VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT: importance = WLR_INFO; break; + case VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT: + importance = WLR_DEBUG; + break; } wlr_log(importance, "%s (%s)", debug_data->pMessage, @@ -152,15 +155,24 @@ struct wlr_vk_instance *vulkan_instance_create(bool debug) { .ppEnabledLayerNames = NULL, }; - VkDebugUtilsMessageSeverityFlagsEXT severity = - // VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT | - VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | - VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT; + VkDebugUtilsMessageSeverityFlagsEXT severity = 0; VkDebugUtilsMessageTypeFlagsEXT types = - // VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT; + enum wlr_log_importance verbosity = wlr_log_get_verbosity(); + if (verbosity >= WLR_DEBUG) { + severity |= VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT; + } + if (verbosity >= WLR_INFO) { + severity |= VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT; + types |= VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT; + } + if (verbosity >= WLR_ERROR) { + severity |= VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | + VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT; + } + VkDebugUtilsMessengerCreateInfoEXT debug_info = { .sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT, .messageSeverity = severity,