diff --git a/engine/src/flutter/vulkan/vulkan_debug_report.cc b/engine/src/flutter/vulkan/vulkan_debug_report.cc index d2240f81e51..09c8f12f2a6 100644 --- a/engine/src/flutter/vulkan/vulkan_debug_report.cc +++ b/engine/src/flutter/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/engine/src/flutter/vulkan/vulkan_utilities.cc b/engine/src/flutter/vulkan/vulkan_utilities.cc index 2a5dcd47a8f..48be855a310 100644 --- a/engine/src/flutter/vulkan/vulkan_utilities.cc +++ b/engine/src/flutter/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/engine/src/flutter/vulkan/vulkan_utilities.h b/engine/src/flutter/vulkan/vulkan_utilities.h index cbd445202b3..1ea80234f2f 100644 --- a/engine/src/flutter/vulkan/vulkan_utilities.h +++ b/engine/src/flutter/vulkan/vulkan_utilities.h @@ -15,6 +15,7 @@ namespace vulkan { bool IsDebuggingEnabled(); +bool ValidationLayerInfoMessagesEnabled(); std::vector InstanceLayersToEnable(const VulkanProcTable& vk);