From 4caa2a21452ecea5d3bac2c621e808f3508b053d Mon Sep 17 00:00:00 2001 From: gibbed Date: Mon, 4 Jun 2018 23:37:58 -0500 Subject: [PATCH] [Vulkan] Blacklist some validation layer errors we don't care about. --- src/xenia/ui/vulkan/vulkan_instance.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/xenia/ui/vulkan/vulkan_instance.cc b/src/xenia/ui/vulkan/vulkan_instance.cc index a383cf116..893437c2b 100644 --- a/src/xenia/ui/vulkan/vulkan_instance.cc +++ b/src/xenia/ui/vulkan/vulkan_instance.cc @@ -300,6 +300,19 @@ VkBool32 VKAPI_PTR DebugMessageCallback(VkDebugReportFlagsEXT flags, int32_t messageCode, const char* pLayerPrefix, const char* pMessage, void* pUserData) { + if (strcmp(pLayerPrefix, "Validation") == 0) { + const char* blacklist[] = { + "bound but it was never updated. You may want to either update it or " + "not bind it.", + "is being used in draw but has not been updated.", + }; + for (uint32_t i = 0; i < xe::countof(blacklist); ++i) { + if (strstr(pMessage, blacklist[i]) != nullptr) { + return false; + } + } + } + auto instance = reinterpret_cast(pUserData); const char* message_type = "UNKNOWN"; if (flags & VK_DEBUG_REPORT_ERROR_BIT_EXT) { @@ -313,6 +326,7 @@ VkBool32 VKAPI_PTR DebugMessageCallback(VkDebugReportFlagsEXT flags, } else if (flags & VK_DEBUG_REPORT_DEBUG_BIT_EXT) { message_type = "DEBUG"; } + XELOGVK("[%s/%s:%d] %s", pLayerPrefix, message_type, messageCode, pMessage); return false; }