layers: Use correct data object for OT DestroyDevice

Devices were created on the physical device, but destroyed on the
device object.

Change-Id: I571409cabb5ca98e662b7d0fc33ba217978eb664
diff --git a/layers/object_tracker_utils.cpp b/layers/object_tracker_utils.cpp
index dfa5e14..386475d 100644
--- a/layers/object_tracker_utils.cpp
+++ b/layers/object_tracker_utils.cpp
@@ -372,7 +372,10 @@
 }
 
 void ObjectLifetimes::PreCallRecordDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator) {
-    RecordDestroyObject(physical_device, device, kVulkanObjectTypeDevice);
+    auto instance_data = GetLayerDataPtr(get_dispatch_key(physical_device), layer_data_map);
+    ValidationObject *validation_data = GetValidationObject(instance_data->object_dispatch, LayerObjectTypeObjectTracker);
+    ObjectLifetimes *object_lifetimes = static_cast<ObjectLifetimes *>(validation_data);
+    object_lifetimes->RecordDestroyObject(physical_device, device, kVulkanObjectTypeDevice);
     DestroyUndestroyedObjects(device);
 
     // Clean up Queue's MemRef Linked Lists