layers: Save struct

Change-Id: I32bccc5631e0b5d6d81bd07f7e63b51a1c659d7d
diff --git a/layers/vk_layer_logging.h b/layers/vk_layer_logging.h
index 78d88a6..4b84c6b 100644
--- a/layers/vk_layer_logging.h
+++ b/layers/vk_layer_logging.h
@@ -146,8 +146,8 @@
     bool g_DEBUG_UTILS{false};
     bool queueLabelHasInsert{false};
     bool cmdBufLabelHasInsert{false};
-    std::unordered_map<uint64_t, std::string> debugObjectNameMap;
-    std::unordered_map<uint64_t, std::string> debugUtilsObjectNameMap;
+    std::unordered_map<uint64_t, VkDebugMarkerObjectNameInfoEXT> debugObjectNameMap;
+    std::unordered_map<uint64_t, VkDebugUtilsObjectNameInfoEXT> debugUtilsObjectNameMap;
     std::unordered_map<VkQueue, std::unique_ptr<LoggingLabelState>> debugUtilsQueueLabels;
     std::unordered_map<VkCommandBuffer, std::unique_ptr<LoggingLabelState>> debugUtilsCmdBufLabels;
     // This mutex is defined as mutable since the normal usage for a debug report object is as 'const'. The mutable keyword allows
@@ -156,8 +156,8 @@
 
     void DebugReportSetUtilsObjectName(const VkDebugUtilsObjectNameInfoEXT *pNameInfo) {
         std::unique_lock<std::mutex> lock(debug_report_mutex);
-        if (pNameInfo->pObjectName) {
-            debugUtilsObjectNameMap[pNameInfo->objectHandle] = pNameInfo->pObjectName;
+        if (pNameInfo) {
+            debugUtilsObjectNameMap[pNameInfo->objectHandle] = *pNameInfo;
         } else {
             debugUtilsObjectNameMap.erase(pNameInfo->objectHandle);
         }
@@ -165,8 +165,8 @@
 
     void DebugReportSetMarkerObjectName(const VkDebugMarkerObjectNameInfoEXT *pNameInfo) {
         std::unique_lock<std::mutex> lock(debug_report_mutex);
-        if (pNameInfo->pObjectName) {
-            debugObjectNameMap[pNameInfo->object] = pNameInfo->pObjectName;
+        if (pNameInfo) {
+            debugObjectNameMap[pNameInfo->object] = *pNameInfo;
         } else {
             debugObjectNameMap.erase(pNameInfo->object);
         }
@@ -176,7 +176,7 @@
         std::string label = "";
         const auto utils_name_iter = debugUtilsObjectNameMap.find(object);
         if (utils_name_iter != debugUtilsObjectNameMap.end()) {
-            label = utils_name_iter->second;
+            label = utils_name_iter->second.pObjectName;
         }
         return label;
     }
@@ -185,7 +185,7 @@
         std::string label = "";
         const auto marker_name_iter = debugObjectNameMap.find(object);
         if (marker_name_iter != debugObjectNameMap.end()) {
-            label = marker_name_iter->second;
+            label = marker_name_iter->second.pObjectName;
         }
         return label;
     }