layers: Update Valid Usage enums (VL-70)
Reviewed the following 5 files' invocation of log_msg()
for opportunities to update for Valid Usage enums.
layers/threading.h
layers/vk_layer_logging.h
layers/descriptor_sets.cpp
layers/swapchain.cpp
layers/unique_objects.cpp
Split some composite checks apart, to better match the meaning of
individual VUs.
Added VU enums to a new file, and expanded the stats collection
script to include the new file.
Changed some placeholder uses of msgCode=="0" to
"VALIDATION_ERROR_UNDEFINED".
(0 is the value of the enum VALIDATION_ERROR_00000 which was misleading)
When Valid Usage enums were referenced, also updated the VU database.
Tweak #include order for Windows, to undo clang-format reordering.
Completes Jira task VL-70.
Change-Id: I550922b194e733f41316ae493098f70a54cbd64e
diff --git a/layers/unique_objects.cpp b/layers/unique_objects.cpp
index d4aabdf..bd9aabd 100644
--- a/layers/unique_objects.cpp
+++ b/layers/unique_objects.cpp
@@ -28,18 +28,21 @@
#include <list>
#include <memory>
+// For Windows, this #include must come before other Vk headers.
#include "vk_loader_platform.h"
-#include "vulkan/vk_layer.h"
-#include "vk_layer_config.h"
-#include "vk_layer_extension_utils.h"
-#include "vk_layer_utils.h"
-#include "vk_layer_table.h"
-#include "vk_layer_logging.h"
+
#include "unique_objects.h"
#include "vk_dispatch_table_helper.h"
-#include "vk_struct_string_helper_cpp.h"
+#include "vk_layer_config.h"
#include "vk_layer_data.h"
+#include "vk_layer_extension_utils.h"
+#include "vk_layer_logging.h"
+#include "vk_layer_table.h"
#include "vk_layer_utils.h"
+#include "vk_layer_utils.h"
+#include "vk_struct_string_helper_cpp.h"
+#include "vk_validation_error_messages.h"
+#include "vulkan/vk_layer.h"
// This intentionally includes a cpp file
#include "vk_safe_struct.cpp"
@@ -101,7 +104,7 @@
layer_data *instance_data = get_my_data_ptr(get_dispatch_key(instance), layer_data_map);
if (!white_list(pCreateInfo->ppEnabledExtensionNames[i], kUniqueObjectsSupportedInstanceExtensions)) {
log_msg(instance_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
- 0, "UniqueObjects",
+ VALIDATION_ERROR_UNDEFINED, "UniqueObjects",
"Instance Extension %s is not supported by this layer. Using this extension may adversely affect "
"validation results and/or produce undefined behavior.",
pCreateInfo->ppEnabledExtensionNames[i]);
@@ -129,7 +132,7 @@
// Check for recognized device extensions
if (!white_list(pCreateInfo->ppEnabledExtensionNames[i], kUniqueObjectsSupportedDeviceExtensions)) {
log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
- 0, "UniqueObjects",
+ VALIDATION_ERROR_UNDEFINED, "UniqueObjects",
"Device Extension %s is not supported by this layer. Using this extension may adversely affect "
"validation results and/or produce undefined behavior.",
pCreateInfo->ppEnabledExtensionNames[i]);