diff --git a/engine/src/flutter/vulkan/vulkan_debug_report.cc b/engine/src/flutter/vulkan/vulkan_debug_report.cc index 09c8f12f2a..b24bc00645 100644 --- a/engine/src/flutter/vulkan/vulkan_debug_report.cc +++ b/engine/src/flutter/vulkan/vulkan_debug_report.cc @@ -201,7 +201,11 @@ OnVulkanDebugReportCallback(VkDebugReportFlagsEXT flags, stream << "-----------------------------------------------------------------"; if (flags & kVulkanErrorFlags) { - FTL_DCHECK(false) << stream.str(); + if (ValidationErrorsFatal()) { + FTL_DCHECK(false) << stream.str(); + } else { + FTL_LOG(ERROR) << stream.str(); + } } else { FTL_LOG(INFO) << stream.str(); } diff --git a/engine/src/flutter/vulkan/vulkan_utilities.cc b/engine/src/flutter/vulkan/vulkan_utilities.cc index 48be855a31..4bce8e7a91 100644 --- a/engine/src/flutter/vulkan/vulkan_utilities.cc +++ b/engine/src/flutter/vulkan/vulkan_utilities.cc @@ -23,6 +23,14 @@ bool ValidationLayerInfoMessagesEnabled() { return false; } +bool ValidationErrorsFatal() { +#if OS_FUCHSIA + return false; +#endif + + return true; +} + 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 1ea80234f2..067f73a115 100644 --- a/engine/src/flutter/vulkan/vulkan_utilities.h +++ b/engine/src/flutter/vulkan/vulkan_utilities.h @@ -16,6 +16,7 @@ namespace vulkan { bool IsDebuggingEnabled(); bool ValidationLayerInfoMessagesEnabled(); +bool ValidationErrorsFatal(); std::vector InstanceLayersToEnable(const VulkanProcTable& vk);