From ffed885296d9c21cf13eab73dfa674d3da775335 Mon Sep 17 00:00:00 2001 From: mikejurka Date: Tue, 9 May 2017 14:32:17 -0700 Subject: [PATCH] Enable Vulkan validation layers on Fuchsia in debug mode. (#3663) Disable info debug messages from the layers to cut down log spam. --- vulkan/vulkan_debug_report.cc | 5 ++++- vulkan/vulkan_utilities.cc | 10 ++++++---- vulkan/vulkan_utilities.h | 1 + 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/vulkan/vulkan_debug_report.cc b/vulkan/vulkan_debug_report.cc index d2240f81e..09c8f12f2 100644 --- a/vulkan/vulkan_debug_report.cc +++ b/vulkan/vulkan_debug_report.cc @@ -224,10 +224,13 @@ VulkanDebugReport::VulkanDebugReport( return; } + VkDebugReportFlagsEXT flags = kVulkanErrorFlags; + if (ValidationLayerInfoMessagesEnabled()) + flags |= kVulkanInfoFlags; const VkDebugReportCallbackCreateInfoEXT create_info = { .sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT, .pNext = nullptr, - .flags = kVulkanErrorFlags | kVulkanInfoFlags, + .flags = flags, .pfnCallback = &vulkan::OnVulkanDebugReportCallback, .pUserData = nullptr, }; diff --git a/vulkan/vulkan_utilities.cc b/vulkan/vulkan_utilities.cc index 2a5dcd47a..48be855a3 100644 --- a/vulkan/vulkan_utilities.cc +++ b/vulkan/vulkan_utilities.cc @@ -10,10 +10,6 @@ namespace vulkan { bool IsDebuggingEnabled() { -#if OS_FUCHSIA - return false; -#endif - #ifndef NDEBUG return true; #else @@ -21,6 +17,12 @@ bool IsDebuggingEnabled() { #endif } +// Whether to show Vulkan validation layer info messages in addition +// to the error messages. +bool ValidationLayerInfoMessagesEnabled() { + return false; +} + static std::vector InstanceOrDeviceLayersToEnable( const VulkanProcTable& vk, VkPhysicalDevice physical_device) { diff --git a/vulkan/vulkan_utilities.h b/vulkan/vulkan_utilities.h index cbd445202..1ea80234f 100644 --- a/vulkan/vulkan_utilities.h +++ b/vulkan/vulkan_utilities.h @@ -15,6 +15,7 @@ namespace vulkan { bool IsDebuggingEnabled(); +bool ValidationLayerInfoMessagesEnabled(); std::vector InstanceLayersToEnable(const VulkanProcTable& vk); -- GitLab