diff options
| author | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-08-07 09:53:18 -0600 |
|---|---|---|
| committer | Tony Barbour <tony@LunarG.com> | 2015-09-16 09:30:23 -0600 |
| commit | 01ca9089527dd0c0167d0a84f6606e7f3f96f17a (patch) | |
| tree | 2b90a097bcb4ea087a3a6e790d45093ddc55f177 /loader | |
| parent | 017e311eb553bf8830134b29d60b047a80c575db (diff) | |
| download | usermoji-01ca9089527dd0c0167d0a84f6606e7f3f96f17a.tar.xz | |
loader: Need to init instance dispatch without layers
Application that enabled DEBUG_REPORT but did not register
any layers would get into a deadlock due to improperly
initialized instance dispatch table.
Diffstat (limited to 'loader')
| -rw-r--r-- | loader/loader.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/loader/loader.c b/loader/loader.c index db15fbc2..09de9ee0 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -2240,6 +2240,7 @@ uint32_t loader_activate_instance_layers(struct loader_instance *inst) PFN_vkGetInstanceProcAddr nextGPA = loader_gpa_instance_internal; if (!inst->activated_layer_list.count) { + loader_init_instance_core_dispatch_table(inst->disp, nextGPA, (VkInstance) nextObj, (VkInstance) baseObj); return 0; } @@ -2403,8 +2404,11 @@ static uint32_t loader_activate_device_layers( PFN_vkGetDeviceProcAddr nextGPA = loader_GetDeviceChainProcAddr; VkBaseLayerObject *wrappedGpus; - if (!dev->activated_layer_list.count) + if (!dev->activated_layer_list.count) { + loader_init_device_dispatch_table(&dev->loader_dispatch, nextGPA, + (VkDevice) nextObj, (VkDevice) baseObj); return 0; + } wrappedGpus = loader_heap_alloc(inst, sizeof (VkBaseLayerObject) * dev->activated_layer_list.count, |
