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>
diff --git a/src/dawn_native/vulkan/BackendVk.cpp b/src/dawn_native/vulkan/BackendVk.cpp
index c9bcdcc..7fc8542 100644
--- a/src/dawn_native/vulkan/BackendVk.cpp
+++ b/src/dawn_native/vulkan/BackendVk.cpp
@@ -52,6 +52,12 @@
# 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 @@
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);