mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-01-26 15:20:23 +01:00
render/vulkan: put vulkan debug logs on WLR_DEBUG
Previously, VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT was commented out. Instead, subscribe to vulkan message severity based on wlr_log_get_verbosity. This allows vulkan validation layer messages to be printed, instead of being completely swallowed no matter what.
This commit is contained in:
parent
9119b8aa85
commit
72ece9dddf
2 changed files with 18 additions and 6 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue