diff options
| author | Ian Elliott <ian@lunarg.com> | 2015-10-30 17:45:05 -0600 |
|---|---|---|
| committer | Jon Ashburn <jon@lunarg.com> | 2015-12-01 10:18:23 -0700 |
| commit | 30cbf3329555230655c7bc72b722b70e14966fc7 (patch) | |
| tree | 2be77fc74f000101be641e1d08cbcda603ca8e99 /loader | |
| parent | 3ff5d4a0edb79576e3e693fa1480f1468542c2b5 (diff) | |
| download | usermoji-30cbf3329555230655c7bc72b722b70e14966fc7.tar.xz | |
loader: Started plumbing the platform extensions.
Diffstat (limited to 'loader')
| -rw-r--r-- | loader/loader.h | 8 | ||||
| -rw-r--r-- | loader/wsi.c | 26 |
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 } } |
