aboutsummaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
authorAndrzej Kotlowski <Andrzej.Kotlowski@intel.com>2016-02-03 09:41:53 +0100
committerJon Ashburn <jon@lunarg.com>2016-02-04 11:02:55 -0700
commit32709350dff8eb5f80fa4c1b5d36e0de215f1c15 (patch)
tree157f62f568458782ad5f32ce1c4bb845cdae95b3 /loader
parent1cd2e3240426c5bfdc1d16224b6ae26a24c6592d (diff)
downloadusermoji-32709350dff8eb5f80fa4c1b5d36e0de215f1c15.tar.xz
loader: GL120, move critical section to cover loader_get_icd_and_device
Diffstat (limited to 'loader')
-rw-r--r--loader/trampoline.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/loader/trampoline.c b/loader/trampoline.c
index 2a8f25d5..7cf6f550 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -326,11 +326,13 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
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);