loader: save gipa and gpda ptrs
diff --git a/loader/loader.c b/loader/loader.c
index de573ae..d18786d 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -4653,6 +4653,7 @@
 
     PFN_vkGetInstanceProcAddr next_gipa = loader_gpa_instance_internal;
     PFN_vkGetInstanceProcAddr cur_gipa = loader_gpa_instance_internal;
+    PFN_vkGetDeviceProcAddr cur_gdpa = loader_gpa_device_internal;
     PFN_GetPhysicalDeviceProcAddr next_gpdpa = loader_gpdpa_instance_internal;
     PFN_GetPhysicalDeviceProcAddr cur_gpdpa = loader_gpdpa_instance_internal;
 
@@ -4714,6 +4715,7 @@
                         // structure.
                         if (interface_struct.loaderLayerInterfaceVersion > 1) {
                             cur_gipa = interface_struct.pfnGetInstanceProcAddr;
+                            cur_gdpa = interface_struct.pfnGetDeviceProcAddr;
                             cur_gpdpa = interface_struct.pfnGetPhysicalDeviceProcAddr;
                             if (cur_gipa != NULL) {
                                 // We've set the functions, so make sure we
@@ -4755,6 +4757,12 @@
                 layer_prop->functions.get_physical_device_proc_addr = cur_gpdpa;
                 next_gpdpa = cur_gpdpa;
             }
+            if (layer_prop->interface_version > 1 && cur_gipa != NULL) {
+                layer_prop->functions.get_instance_proc_addr = cur_gipa;
+            }
+            if (layer_prop->interface_version > 1 && cur_gdpa != NULL) {
+                layer_prop->functions.get_device_proc_addr = cur_gdpa;
+            }
 
             chain_info.u.pLayerInfo = &layer_instance_link_info[activated_layers];