loader: Fix so unwrapped instance gets used for layer instance extension dispatch
authorJon Ashburn <jon@lunarg.com>
Tue, 12 Jan 2016 16:55:14 +0000 (09:55 -0700)
committerJon Ashburn <jon@lunarg.com>
Tue, 12 Jan 2016 18:33:55 +0000 (11:33 -0700)
loader/loader.c
loader/loader.h
loader/trampoline.c

index f308105..6d33f65 100644 (file)
@@ -2892,12 +2892,12 @@ uint32_t loader_activate_instance_layers(struct loader_instance *inst)
     return inst->activated_layer_list.count;
 }
 
-void loader_activate_instance_layer_extensions(struct loader_instance *inst)
+void loader_activate_instance_layer_extensions(struct loader_instance *inst, VkInstance created_inst)
 {
 
     loader_init_instance_extension_dispatch_table(inst->disp,
                                                   inst->disp->GetInstanceProcAddr,
-                                                  (VkInstance) inst);
+                                                  created_inst);
 }
 
 static VkResult loader_enable_device_layers(
index 69b6c4d..b5b3d2c 100644 (file)
@@ -491,7 +491,7 @@ VkResult loader_enable_instance_layers(
         const struct loader_layer_list *instance_layers);
 void loader_deactivate_instance_layers(struct loader_instance *instance);
 uint32_t loader_activate_instance_layers(struct loader_instance *inst);
-void loader_activate_instance_layer_extensions(struct loader_instance *inst);
+void loader_activate_instance_layer_extensions(struct loader_instance *inst, VkInstance created_inst);
 
 void* loader_heap_alloc(
         const struct loader_instance *instance,
index 64285b0..96f9bf0 100644 (file)
@@ -191,7 +191,7 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
      * GetInstanceProcAddr functions to return valid extension functions
      * if enabled.
      */
-    loader_activate_instance_layer_extensions(ptr_instance);
+    loader_activate_instance_layer_extensions(ptr_instance, *pInstance);
 
     /* Remove temporary debug_report callback */
     util_DestroyDebugReportCallback(ptr_instance, instance_callback, pAllocator);