loader: Started plumbing the platform extensions.
diff --git a/loader/loader.h b/loader/loader.h
index f170f4d..c6e6457 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -32,6 +32,14 @@
 #ifndef LOADER_H
 #define LOADER_H
 
+#if defined _WIN32
+#define VK_USE_PLATFORM_WIN32_KHR
+#else
+//#define VK_USE_PLATFORM_MIR_KHR
+//#define VK_USE_PLATFORM_WAYLAND_KHR
+#define VK_USE_PLATFORM_XCB_KHR
+//#define VK_USE_PLATFORM_XLIB_KHR
+#endif
 #include <vulkan/vulkan.h>
 #include <vk_loader_platform.h>
 
diff --git a/loader/wsi.c b/loader/wsi.c
index 09a5247..db99fde 100644
--- a/loader/wsi.c
+++ b/loader/wsi.c
@@ -43,25 +43,33 @@
         .specVersion = VK_KHR_WIN32_SURFACE_REVISION,
 };
 #else // _WIN32
+#ifdef VK_USE_PLATFORM_MIR_KHR
 static const VkExtensionProperties wsi_mir_surface_extension_info = {
         .extensionName = VK_KHR_MIR_SURFACE_EXTENSION_NAME,
         .specVersion = VK_KHR_MIR_SURFACE_REVISION,
 };
+#endif // VK_USE_PLATFORM_MIR_KHR
 
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
 static const VkExtensionProperties wsi_wayland_surface_extension_info = {
         .extensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
         .specVersion = VK_KHR_WAYLAND_SURFACE_REVISION,
 };
+#endif // VK_USE_PLATFORM_WAYLAND_KHR
 
+#ifdef VK_USE_PLATFORM_XCB_KHR
 static const VkExtensionProperties wsi_xcb_surface_extension_info = {
         .extensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME,
         .specVersion = VK_KHR_XCB_SURFACE_REVISION,
 };
+#endif // VK_USE_PLATFORM_XCB_KHR
 
+#ifdef VK_USE_PLATFORM_XLIB_KHR
 static const VkExtensionProperties wsi_xlib_surface_extension_info = {
         .extensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
         .specVersion = VK_KHR_XLIB_SURFACE_REVISION,
 };
+#endif // VK_USE_PLATFORM_XLIB_KHR
 #endif // _WIN32
 
 void wsi_add_instance_extensions(
@@ -72,10 +80,18 @@
 #ifdef _WIN32
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_win32_surface_extension_info);
 #else // _WIN32
+#ifdef VK_USE_PLATFORM_MIR_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_mir_surface_extension_info);
+#endif // VK_USE_PLATFORM_MIR_KHR
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_wayland_surface_extension_info);
+#endif // VK_USE_PLATFORM_WAYLAND_KHR
+#ifdef VK_USE_PLATFORM_XCB_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_xcb_surface_extension_info);
+#endif // VK_USE_PLATFORM_XCB_KHR
+#ifdef VK_USE_PLATFORM_XLIB_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_xlib_surface_extension_info);
+#endif // VK_USE_PLATFORM_XLIB_KHR
 #endif // _WIN32
 }
 
@@ -83,7 +99,7 @@
         struct loader_instance *ptr_instance,
         const VkInstanceCreateInfo *pCreateInfo)
 {
-    ptr_instance->wsi_enabled = false;
+    ptr_instance->wsi_surface_enabled = false;
 #ifdef _WIN32
     ptr_instance->wsi_surface_enabled = true;
 #else // _WIN32
@@ -103,18 +119,26 @@
             ptr_instance->wsi_surface_enabled = true;
         }
 #else // _WIN32
+#ifdef VK_USE_PLATFORM_MIR_KHR
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_MIR_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_mir_surface_enabled = true;
         }
+#endif // VK_USE_PLATFORM_MIR_KHR
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_wayland_surface_enabled = true;
         }
+#endif // VK_USE_PLATFORM_WAYLAND_KHR
+#ifdef VK_USE_PLATFORM_XCB_KHR
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_XCB_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_xcb_surface_enabled = true;
         }
+#endif // VK_USE_PLATFORM_XCB_KHR
+#ifdef VK_USE_PLATFORM_XLIB_KHR
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_XLIB_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_xlib_surface_enabled = true;
         }
+#endif // VK_USE_PLATFORM_XLIB_KHR
 #endif // _WIN32
     }
 }