icd: Use new loader interface for finding ICD entry points Remove library exports on all Vulkan entry points but vk_icdGetInstanceProcAddr.
diff --git a/vk-generate.py b/vk-generate.py
index 0a98602..bed5664 100755
--- a/vk-generate.py
+++ b/vk-generate.py
@@ -170,7 +170,7 @@
             self.qual = "static"
         else:
             self.prefix = "vk"
-            self.qual = "ICD_EXPORT"
+            self.qual = ""
 
         super().run()
 
@@ -178,7 +178,10 @@
         return "#include \"icd.h\""
 
     def _generate_stub_decl(self, proto):
-        return proto.c_pretty_decl(self.prefix + proto.name, attr="VKAPI")
+        if proto.name == "GetInstanceProcAddr":
+            return proto.c_pretty_decl(self.prefix + "_icd" + proto.name, attr="ICD_EXPORT VKAPI")
+        else:
+            return proto.c_pretty_decl(self.prefix + proto.name, attr="VKAPI")
 
     def _generate_stubs(self):
         stubs = []
@@ -215,8 +218,12 @@
         for proto in self.protos:
             lookups.append("if (!strcmp(%s, \"%s\"))" %
                     (gpa_pname, proto.name))
-            lookups.append("    return (%s) %s%s;" %
+            if proto.name != "GetInstanceProcAddr":
+                lookups.append("    return (%s) %s%s;" %
                     (gpa_proto.ret, self.prefix, proto.name))
+            else:
+                lookups.append("    return (%s) %s%s;" %
+                    (gpa_proto.ret, self.prefix, "_icdGetInstanceProcAddr"))
 
         body = []
         body.append("%s %s" % (self.qual, gpa_instance_decl))
@@ -247,11 +254,7 @@
         library_exports = {
                 "all": [],
                 "icd": [
-                    "vkEnumeratePhysicalDevices",
-                    "vkCreateInstance",
-                    "vkDestroyInstance",
-                    "vkGetDeviceProcAddr",
-                    "vkGetInstanceProcAddr",
+                    "vk_icdGetInstanceProcAddr",
                 ],
                 "layer": [
                     "vkGetInstanceProcAddr",