From dee0f3f9ecfb48cfa4343832ade58f9545d5b945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sun, 2 Aug 2020 15:41:30 +0200 Subject: [PATCH] Vulkan debug log: Remove some old exclusions, add a new one (for an old issue) --- Common/Vulkan/VulkanDebug.cpp | 13 ++++++------- Common/Vulkan/VulkanMemory.cpp | 4 +++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Common/Vulkan/VulkanDebug.cpp b/Common/Vulkan/VulkanDebug.cpp index 3129e98938..c60898deef 100644 --- a/Common/Vulkan/VulkanDebug.cpp +++ b/Common/Vulkan/VulkanDebug.cpp @@ -33,13 +33,12 @@ VKAPI_ATTR VkBool32 VKAPI_CALL VulkanDebugUtilsCallback( const char *pMessage = pCallbackData->pMessage; - // Apparent bugs around timestamp validation in the validation layers - if (strstr(pMessage, "vkCmdBeginQuery(): VkQueryPool")) - return false; - if (strstr(pMessage, "vkGetQueryPoolResults() on VkQueryPool")) - return false; - int messageCode = pCallbackData->messageIdNumber; + if (messageCode == 101294395) { + // UNASSIGNED-CoreValidation-Shader-OutputNotConsumed - benign perf warning + return false; + } + const char *pLayerPrefix = ""; if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) { message << "ERROR("; @@ -58,7 +57,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL VulkanDebugUtilsCallback( } else if (messageType & VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT) { message << "validation"; } - message << ":" << pCallbackData->messageIdNumber << ") " << pMessage << "\n"; + message << ":" << messageCode << ") " << pMessage << "\n"; std::string msg = message.str(); diff --git a/Common/Vulkan/VulkanMemory.cpp b/Common/Vulkan/VulkanMemory.cpp index 0974bb8000..9cead85745 100644 --- a/Common/Vulkan/VulkanMemory.cpp +++ b/Common/Vulkan/VulkanMemory.cpp @@ -143,7 +143,9 @@ void VulkanPushBuffer::Map() { } void VulkanPushBuffer::Unmap() { - _dbg_assert_(writePtr_ != 0); + _dbg_assert_msg_(writePtr_ != nullptr, "VulkanPushBuffer::Unmap: writePtr_ null here means we have a bug (map/unmap mismatch)"); + if (!writePtr_) + return; if ((memoryPropertyMask_ & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT) == 0) { VkMappedMemoryRange range{ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE };