Suppress specific Vulkan validation messages

Adds UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout (0x4dae5635)
initially, since we can see that it's causing issues with the WebGPU CTS
tests.

Change-Id: I862e3986d59ae590458f9011a16cc824bf752e72
Bug: dawn:785
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50423
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
Brandon Jones 2021-05-07 22:15:45 +00:00 committed by Commit Bot service account
parent 27bcdc7440
commit 23f77074bf
1 changed files with 13 additions and 0 deletions

View File

@ -52,6 +52,12 @@ constexpr char kVulkanLibName[] = "libvulkan.so";
# error "Unimplemented Vulkan backend platform"
#endif
// List of Vulkan MessageIdNames to suppress validation messages for. These should be used sparingly
// but may be useful to temporarily quiet issues while a fix is in the works.
constexpr const char* kSuppressedValidationMessageNames[] = {
"UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout", // (ISSUE: dawn:785)
};
namespace dawn_native { namespace vulkan {
namespace {
@ -61,6 +67,13 @@ namespace dawn_native { namespace vulkan {
VkDebugUtilsMessageTypeFlagsEXT /* messageTypes */,
const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
void* /* pUserData */) {
// If the message is of a suppressed type, ignore it.
for (const char* msgName : kSuppressedValidationMessageNames) {
if (strstr(pCallbackData->pMessageIdName, msgName) != nullptr) {
return VK_FALSE;
}
}
dawn::WarningLog() << pCallbackData->pMessage;
ASSERT((messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) == 0);