loader: Fix so unwrapped instance gets used for layer instance extension dispatch
diff --git a/loader/loader.c b/loader/loader.c
index f308105..6d33f65 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -2892,12 +2892,12 @@
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(
diff --git a/loader/loader.h b/loader/loader.h
index 69b6c4d..b5b3d2c 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -491,7 +491,7 @@
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,
diff --git a/loader/trampoline.c b/loader/trampoline.c
index 64285b0..96f9bf0 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -191,7 +191,7 @@
* 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);