layers: Fix UO GetPhysicalDeviceDisplayPlanePropertiesKHR

This was doing odd things. pProperties is an output-only array. Its
contents are undefined before the call, so we shouldn't be trying to
unwrap the handles in there. We don't even need the safe_* here.
diff --git a/layers/unique_objects.cpp b/layers/unique_objects.cpp
index 50b6c7f..a6c0981 100644
--- a/layers/unique_objects.cpp
+++ b/layers/unique_objects.cpp
@@ -722,41 +722,15 @@
 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount,
                                                                      VkDisplayPropertiesKHR *pProperties) {
     instance_layer_data *my_map_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), instance_layer_data_map);
-    safe_VkDisplayPropertiesKHR *local_pProperties = NULL;
-    {
-        std::lock_guard<std::mutex> lock(global_lock);
-        if (pProperties) {
-            local_pProperties = new safe_VkDisplayPropertiesKHR[*pPropertyCount];
-            for (uint32_t idx0 = 0; idx0 < *pPropertyCount; ++idx0) {
-                local_pProperties[idx0].initialize(&pProperties[idx0]);
-                if (pProperties[idx0].display) {
-                    local_pProperties[idx0].display =
-                        (VkDisplayKHR)my_map_data->unique_id_mapping[reinterpret_cast<const uint64_t &>(pProperties[idx0].display)];
-                }
-            }
-        }
-    }
 
     VkResult result = my_map_data->dispatch_table.GetPhysicalDeviceDisplayPropertiesKHR(
-        physicalDevice, pPropertyCount, (VkDisplayPropertiesKHR *)local_pProperties);
-    if (result == VK_SUCCESS && pProperties) {
+        physicalDevice, pPropertyCount, pProperties);
+    if ((result == VK_SUCCESS || result == VK_INCOMPLETE) && pProperties) {
+        std::lock_guard<std::mutex> lock(global_lock);
         for (uint32_t idx0 = 0; idx0 < *pPropertyCount; ++idx0) {
-            std::lock_guard<std::mutex> lock(global_lock);
-
-            uint64_t unique_id = global_unique_id++;
-            my_map_data->unique_id_mapping[unique_id] = reinterpret_cast<uint64_t &>(local_pProperties[idx0].display);
-            pProperties[idx0].display = reinterpret_cast<VkDisplayKHR &>(unique_id);
-            pProperties[idx0].displayName = local_pProperties[idx0].displayName;
-            pProperties[idx0].physicalDimensions = local_pProperties[idx0].physicalDimensions;
-            pProperties[idx0].physicalResolution = local_pProperties[idx0].physicalResolution;
-            pProperties[idx0].supportedTransforms = local_pProperties[idx0].supportedTransforms;
-            pProperties[idx0].planeReorderPossible = local_pProperties[idx0].planeReorderPossible;
-            pProperties[idx0].persistentContent = local_pProperties[idx0].persistentContent;
+            pProperties[idx0].display = WrapNew(my_map_data, pProperties[idx0].display);
         }
     }
-    if (local_pProperties) {
-        delete[] local_pProperties;
-    }
     return result;
 }