loader: GL120, move critical section to cover loader_get_icd_and_device
diff --git a/loader/trampoline.c b/loader/trampoline.c
index 2a8f25d..7cf6f55 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -326,11 +326,13 @@
vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator) {
const VkLayerDispatchTable *disp;
struct loader_device *dev;
+
+ loader_platform_thread_lock_mutex(&loader_lock);
+
struct loader_icd *icd = loader_get_icd_and_device(device, &dev);
const struct loader_instance *inst = icd->this_instance;
disp = loader_get_dispatch(device);
- loader_platform_thread_lock_mutex(&loader_lock);
disp->DestroyDevice(device, pAllocator);
dev->device = NULL;
loader_remove_logical_device(inst, icd, dev);