layers: Move PV layer data structs into header
authorMark Lobodzinski <mark@lunarg.com>
Tue, 30 May 2017 20:21:21 +0000 (14:21 -0600)
committerMark Lobodzinski <mark@lunarg.com>
Wed, 31 May 2017 20:26:36 +0000 (14:26 -0600)
Change-Id: Ie8fb823f1bfa97047cb2d361bc0daea5ee504673

layers/parameter_validation.cpp
layers/parameter_validation_utils.h

index 7e74d1e..0205f54 100644 (file)
@@ -52,7 +52,6 @@
 
 #include "parameter_name.h"
 #include "parameter_validation.h"
-#include "device_extensions.h"
 
 // TODO: remove on NDK update (r15 will probably have proper STL impl)
 #ifdef __ANDROID__
@@ -69,35 +68,6 @@ std::string to_string(T var) {
 
 namespace parameter_validation {
 
-struct instance_layer_data {
-    VkInstance instance = VK_NULL_HANDLE;
-
-    debug_report_data *report_data = nullptr;
-    std::vector<VkDebugReportCallbackEXT> logging_callback;
-
-    // The following are for keeping track of the temporary callbacks that can
-    // be used in vkCreateInstance and vkDestroyInstance:
-    uint32_t num_tmp_callbacks = 0;
-    VkDebugReportCallbackCreateInfoEXT *tmp_dbg_create_infos = nullptr;
-    VkDebugReportCallbackEXT *tmp_callbacks = nullptr;
-    InstanceExtensions extensions = {};
-    std::unordered_set<std::string> enabled_extensions;
-    VkLayerInstanceDispatchTable dispatch_table = {};
-};
-
-struct layer_data {
-    debug_report_data *report_data = nullptr;
-    // Map for queue family index to queue count
-    std::unordered_map<uint32_t, uint32_t> queueFamilyIndexMap;
-    VkPhysicalDeviceLimits device_limits = {};
-    VkPhysicalDeviceFeatures physical_device_features = {};
-    VkPhysicalDevice physical_device = VK_NULL_HANDLE;
-    VkDevice device = VK_NULL_HANDLE;
-    DeviceExtensions enables;
-    std::unordered_set<std::string> enabled_extensions;
-
-    VkLayerDispatchTable dispatch_table = {};
-};
 
 // TODO : This can be much smarter, using separate locks for separate global data
 static std::mutex global_lock;
index 791a7a1..a0f268b 100644 (file)
 #include "vk_enum_string_helper.h"
 #include "vk_layer_logging.h"
 #include "vk_validation_error_messages.h"
+#include "device_extensions.h"
+
 
 #include "parameter_name.h"
 
 namespace parameter_validation {
 
+struct instance_layer_data {
+    VkInstance instance = VK_NULL_HANDLE;
+
+    debug_report_data *report_data = nullptr;
+    std::vector<VkDebugReportCallbackEXT> logging_callback;
+
+    // The following are for keeping track of the temporary callbacks that can
+    // be used in vkCreateInstance and vkDestroyInstance:
+    uint32_t num_tmp_callbacks = 0;
+    VkDebugReportCallbackCreateInfoEXT *tmp_dbg_create_infos = nullptr;
+    VkDebugReportCallbackEXT *tmp_callbacks = nullptr;
+    InstanceExtensions extensions = {};
+    std::unordered_set<std::string> enabled_extensions;
+    VkLayerInstanceDispatchTable dispatch_table = {};
+};
+
+struct layer_data {
+    debug_report_data *report_data = nullptr;
+    // Map for queue family index to queue count
+    std::unordered_map<uint32_t, uint32_t> queueFamilyIndexMap;
+    VkPhysicalDeviceLimits device_limits = {};
+    VkPhysicalDeviceFeatures physical_device_features = {};
+    VkPhysicalDevice physical_device = VK_NULL_HANDLE;
+    VkDevice device = VK_NULL_HANDLE;
+    DeviceExtensions enables;
+    std::unordered_set<std::string> enabled_extensions;
+
+    VkLayerDispatchTable dispatch_table = {};
+};
+
 enum ErrorCode {
     NONE,                   // Used for INFO & other non-error messages
     INVALID_USAGE,          // The value of a parameter is not consistent