aboutsummaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
authorIan Elliott <ian@lunarg.com>2015-10-30 17:45:05 -0600
committerJon Ashburn <jon@lunarg.com>2015-12-01 10:18:23 -0700
commit30cbf3329555230655c7bc72b722b70e14966fc7 (patch)
tree2be77fc74f000101be641e1d08cbcda603ca8e99 /loader
parent3ff5d4a0edb79576e3e693fa1480f1468542c2b5 (diff)
downloadusermoji-30cbf3329555230655c7bc72b722b70e14966fc7.tar.xz
loader: Started plumbing the platform extensions.
Diffstat (limited to 'loader')
-rw-r--r--loader/loader.h8
-rw-r--r--loader/wsi.c26
2 files changed, 33 insertions, 1 deletions
diff --git a/loader/loader.h b/loader/loader.h
index f170f4d2..c6e64570 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 09a5247d..db99fde2 100644
--- a/loader/wsi.c
+++ b/loader/wsi.c
@@ -43,25 +43,33 @@ static const VkExtensionProperties wsi_win32_surface_extension_info = {
.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 @@ void wsi_add_instance_extensions(
#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 @@ void wsi_create_instance(
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 @@ void wsi_create_instance(
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
}
}