diff options
| author | Cody Northrop <cody@lunarg.com> | 2015-09-28 15:09:32 -0600 |
|---|---|---|
| committer | Cody Northrop <cody@lunarg.com> | 2015-09-28 15:10:46 -0600 |
| commit | b4156fd375d611dc631ece28a0909f9714d5b682 (patch) | |
| tree | f71e3a78b8e718fe8738c426aeaa445367b168b9 | |
| parent | 15e38d98c9311b2f86e9d038397e1f28da596c87 (diff) | |
| download | usermoji-b4156fd375d611dc631ece28a0909f9714d5b682.tar.xz | |
layers: Add constructors for layer_data
| -rw-r--r-- | layers/device_limits.cpp | 9 | ||||
| -rw-r--r-- | layers/draw_state.cpp | 9 | ||||
| -rw-r--r-- | layers/image.cpp | 10 | ||||
| -rw-r--r-- | layers/mem_tracker.cpp | 10 | ||||
| -rw-r--r-- | layers/object_track.h | 11 | ||||
| -rw-r--r-- | layers/param_checker.cpp | 9 | ||||
| -rw-r--r-- | layers/shader_checker.cpp | 9 | ||||
| -rw-r--r-- | layers/swapchain.cpp | 10 | ||||
| -rw-r--r-- | layers/swapchain.h | 18 | ||||
| -rw-r--r-- | layers/threading.h | 9 |
10 files changed, 77 insertions, 27 deletions
diff --git a/layers/device_limits.cpp b/layers/device_limits.cpp index 30e57d44..37ad695f 100644 --- a/layers/device_limits.cpp +++ b/layers/device_limits.cpp @@ -52,11 +52,16 @@ #include "vk_layer_extension_utils.h" #include "vk_layer_utils.h" -typedef struct _layer_data { +struct layer_data { debug_report_data *report_data; // TODO: put instance data here VkDbgMsgCallback logging_callback; -} layer_data; + + layer_data() : + report_data(nullptr), + logging_callback(nullptr) + {}; +}; static std::unordered_map<void *, layer_data *> layer_data_map; static device_table_map device_limits_device_table_map; diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index 915b9407..5a6d1211 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -50,11 +50,16 @@ #include "vk_layer_logging.h" #include "vk_layer_extension_utils.h" -typedef struct _layer_data { +struct layer_data { debug_report_data *report_data; // TODO: put instance data here VkDbgMsgCallback logging_callback; -} layer_data; + + layer_data() : + report_data(nullptr), + logging_callback(nullptr) + {}; +}; static std::unordered_map<void *, layer_data *> layer_data_map; static device_table_map draw_state_device_table_map; diff --git a/layers/image.cpp b/layers/image.cpp index c3ff045c..d58f1a75 100644 --- a/layers/image.cpp +++ b/layers/image.cpp @@ -46,12 +46,18 @@ using namespace std; -typedef struct _layer_data { +struct layer_data { debug_report_data *report_data; VkDbgMsgCallback logging_callback; VkPhysicalDevice physicalDevice; unordered_map<uint64_t, unique_ptr<IMAGE_STATE>> imageMap; -} layer_data; + + layer_data() : + report_data(nullptr), + logging_callback(nullptr), + physicalDevice(0) + {}; +}; static unordered_map<void*, layer_data*> layer_data_map; static device_table_map image_device_table_map; diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index 36574f60..f42b686f 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -50,12 +50,18 @@ static LOADER_PLATFORM_THREAD_ONCE_DECLARATION(g_initOnce); // Object value will be used to identify them internally. static const VkDeviceMemory MEMTRACKER_SWAP_CHAIN_IMAGE_KEY = static_cast<VkDeviceMemory>(-1); -typedef struct _layer_data { +struct layer_data { debug_report_data *report_data; // TODO: put instance data here VkDbgMsgCallback logging_callback; bool wsi_enabled; -} layer_data; + + layer_data() : + report_data(nullptr), + logging_callback(nullptr), + wsi_enabled(false) + {}; +}; static unordered_map<void *, layer_data *> layer_data_map; diff --git a/layers/object_track.h b/layers/object_track.h index dd266106..e7d58201 100644 --- a/layers/object_track.h +++ b/layers/object_track.h @@ -65,13 +65,20 @@ uint64_t objTrackGetObjectsOfTypeCount(VkDevice, VkDbgObjectType type); typedef uint64_t (*OBJ_TRACK_GET_OBJECT_COUNT)(VkDevice); typedef uint64_t (*OBJ_TRACK_GET_OBJECTS_OF_TYPE_COUNT)(VkDevice, VkDbgObjectType); -typedef struct _layer_data { +struct layer_data { debug_report_data *report_data; //TODO: put instance data here VkDbgMsgCallback logging_callback; bool wsi_enabled; bool objtrack_extensions_enabled; -} layer_data; + + layer_data() : + report_data(nullptr), + logging_callback(nullptr), + wsi_enabled(false), + objtrack_extensions_enabled(false) + {}; +}; struct instExts { bool wsi_enabled; diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index 0b6909dd..7c8d6c71 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -45,10 +45,15 @@ #include "vk_layer_logging.h" #include "vk_layer_extension_utils.h" -typedef struct _layer_data { +struct layer_data { debug_report_data *report_data; VkDbgMsgCallback logging_callback; -} layer_data; + + layer_data() : + report_data(nullptr), + logging_callback(nullptr) + {}; +}; static std::unordered_map<void*, layer_data*> layer_data_map; static device_table_map pc_device_table_map; diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp index 41d10b11..6146b94b 100644 --- a/layers/shader_checker.cpp +++ b/layers/shader_checker.cpp @@ -47,11 +47,16 @@ #include "spirv/spirv.hpp" -typedef struct _layer_data { +struct layer_data { debug_report_data *report_data; // TODO: put instance data here VkDbgMsgCallback logging_callback; -} layer_data; + + layer_data() : + report_data(nullptr), + logging_callback(nullptr) + {}; +}; static std::unordered_map<void *, layer_data *> layer_data_map; static device_table_map shader_checker_device_table_map; diff --git a/layers/swapchain.cpp b/layers/swapchain.cpp index bfcd2ab8..a36854b0 100644 --- a/layers/swapchain.cpp +++ b/layers/swapchain.cpp @@ -145,7 +145,7 @@ static void initSwapchain(void) // Turn on logging, since it was requested: option_str = getLayerOption("SwapchainLogFilename"); log_output = getLayerLogOutput(option_str, "Swapchain"); - layer_create_msg_callback(&mydata.report_data, report_flags, + layer_create_msg_callback(mydata.report_data, report_flags, log_callback, (void *) log_output, &mydata.logging_callback); } @@ -351,7 +351,6 @@ VK_LAYER_EXPORT void VKAPI vkDestroyDevice(VkDevice device) if (deviceMap[device].pPresentModes) { free(deviceMap[device].pPresentModes); } - deviceMap.erase(device); if (!pDevice->swapchains.empty()) { LOG_ERROR(VK_OBJECT_TYPE_DEVICE, device, "VkDevice", SWAPCHAIN_DEL_DEVICE_BEFORE_SWAPCHAINS, @@ -366,6 +365,7 @@ VK_LAYER_EXPORT void VKAPI vkDestroyDevice(VkDevice device) } pDevice->swapchains.clear(); } + deviceMap.erase(device); } } @@ -657,7 +657,7 @@ static VkBool32 validateCreateSwapchainKHR(VkDevice device, const VkSwapchainCre } } // Log the message that we've built up: - skipCall |= debug_report_log_msg(&mydata.report_data, + skipCall |= debug_report_log_msg(mydata.report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_DEVICE, (uint64_t) device, 0, @@ -1104,12 +1104,12 @@ static inline PFN_vkVoidFunction layer_intercept_instance_proc(const char *name) VK_LAYER_EXPORT VkResult VKAPI vkDbgCreateMsgCallback(VkInstance instance, VkFlags msgFlags, const PFN_vkDbgMsgCallback pfnMsgCallback, void* pUserData, VkDbgMsgCallback* pMsgCallback) { - return layer_create_msg_callback(&mydata.report_data, msgFlags, pfnMsgCallback, pUserData, pMsgCallback); + return layer_create_msg_callback(mydata.report_data, msgFlags, pfnMsgCallback, pUserData, pMsgCallback); } VK_LAYER_EXPORT VkResult VKAPI vkDbgDestroyMsgCallback(VkInstance instance, VkDbgMsgCallback msgCallback) { - layer_destroy_msg_callback(&mydata.report_data, msgCallback); + layer_destroy_msg_callback(mydata.report_data, msgCallback); return VK_SUCCESS; } diff --git a/layers/swapchain.h b/layers/swapchain.h index 8414d474..9a336283 100644 --- a/layers/swapchain.h +++ b/layers/swapchain.h @@ -65,21 +65,27 @@ typedef enum _SWAPCHAIN_ERROR // The following is for logging error messages: -typedef struct _layer_data { - debug_report_data report_data; +struct layer_data { + debug_report_data *report_data; VkDbgMsgCallback logging_callback; -} layer_data; + + layer_data() : + report_data(nullptr), + logging_callback(nullptr) + {}; +}; + #define LAYER_NAME (char *) "Swapchain" #define LOG_ERROR_NON_VALID_OBJ(objType, type, obj) \ - log_msg(&mydata.report_data, VK_DBG_REPORT_ERROR_BIT, (objType), \ + log_msg(mydata.report_data, VK_DBG_REPORT_ERROR_BIT, (objType), \ (uint64_t) (obj), 0, SWAPCHAIN_INVALID_HANDLE, LAYER_NAME, \ "%s() called with a non-valid %s.", __FUNCTION__, (obj)) #define LOG_ERROR(objType, type, obj, enm, fmt, ...) \ - log_msg(&mydata.report_data, VK_DBG_REPORT_ERROR_BIT, (objType), \ + log_msg(mydata.report_data, VK_DBG_REPORT_ERROR_BIT, (objType), \ (uint64_t) (obj), 0, (enm), LAYER_NAME, (fmt), __VA_ARGS__) #define LOG_PERF_WARNING(objType, type, obj, enm, fmt, ...) \ - log_msg(&mydata.report_data, VK_DBG_REPORT_PERF_WARN_BIT, (objType), \ + log_msg(mydata.report_data, VK_DBG_REPORT_PERF_WARN_BIT, (objType), \ (uint64_t) (obj), 0, (enm), LAYER_NAME, (fmt), __VA_ARGS__) diff --git a/layers/threading.h b/layers/threading.h index 367679c7..5335578b 100644 --- a/layers/threading.h +++ b/layers/threading.h @@ -34,10 +34,15 @@ typedef enum _THREADING_CHECKER_ERROR THREADING_CHECKER_SINGLE_THREAD_REUSE, // Object used simultaneously by recursion in single thread } THREADING_CHECKER_ERROR; -typedef struct _layer_data { +struct layer_data { debug_report_data *report_data; VkDbgMsgCallback logging_callback; -} layer_data; + + layer_data() : + report_data(nullptr), + logging_callback(nullptr) + {}; +}; static std::unordered_map<void*, layer_data *> layer_data_map; static device_table_map Threading_device_table_map; |
