layers: Fix several bugs in WSI extension handling in layers
Layers weren't intercepting the WSI device extensions proerly, or weren't
NOT intercepting them if the extension wasn't enabled. Fixes to APIDump,
Generic, ScreenShot, MemTracker, ObjectTracker
diff --git a/vk-generate.py b/vk-generate.py
index 9491ec1..c127ea2 100755
--- a/vk-generate.py
+++ b/vk-generate.py
@@ -124,7 +124,7 @@
for proto in self.protos:
if proto.name == "CreateInstance" or proto.name == "GetGlobalExtensionProperties" or proto.name == "GetGlobalLayerProperties" or proto.params[0].ty == "VkInstance" or (proto.params[0].ty == "VkPhysicalDevice" and proto.name != "CreateDevice"):
continue
- if proto.name != "GetDeviceProcAddr":
+ if proto.name != "GetDeviceProcAddr" and 'KHR' not in proto.name:
stmts.append("table->%s = (PFN_vk%s) gpa(baseDevice, \"vk%s\");" %
(proto.name, proto.name, proto.name))
func.append("static inline void %s_initialize_dispatch_table(VkLayerDispatchTable *table,"
@@ -143,7 +143,7 @@
continue
if proto.name == "CreateDevice":
continue
- if proto.name != "GetInstanceProcAddr":
+ if proto.name != "GetInstanceProcAddr" and 'KHR' not in proto.name:
stmts.append("table->%s = (PFN_vk%s) gpa(baseInstance, \"vk%s\");" %
(proto.name, proto.name, proto.name))
func.append("static inline void %s_init_instance_dispatch_table(VkLayerInstanceDispatchTable *table,"