From 98990d6afc22d0f5371a9a74379e721ddb45a8e6 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 19 Feb 2016 11:50:25 +0100 Subject: [PATCH] Add more WSI enum types --- gfx/common/vulkan_common.h | 5 ++++- gfx/drivers_context/wayland_ctx.c | 15 ++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/gfx/common/vulkan_common.h b/gfx/common/vulkan_common.h index 6415be57dc..0f8ed9e435 100644 --- a/gfx/common/vulkan_common.h +++ b/gfx/common/vulkan_common.h @@ -43,7 +43,10 @@ enum vulkan_wsi_type { VULKAN_WSI_NONE = 0, - VULKAN_WSI_WAYLAND + VULKAN_WSI_WAYLAND, + VULKAN_WSI_ANDROID, + VULKAN_WSI_WIN32, + VULKAN_WSI_XLIB }; typedef struct vulkan_context diff --git a/gfx/drivers_context/wayland_ctx.c b/gfx/drivers_context/wayland_ctx.c index 2595e5093b..a5d141e929 100644 --- a/gfx/drivers_context/wayland_ctx.c +++ b/gfx/drivers_context/wayland_ctx.c @@ -971,14 +971,19 @@ static bool gfx_ctx_wl_set_video_mode(void *data, switch (wl_api) { case GFX_CTX_VULKAN_API: + wl_display_roundtrip(wl->dpy); + #ifdef HAVE_VULKAN { - VkWaylandSurfaceCreateInfoKHR wl_info = - { VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR }; - wl_display_roundtrip(wl->dpy); + VkWaylandSurfaceCreateInfoKHR wl_info; - wl_info.display = wl->dpy; - wl_info.surface = wl->surface; + memset(&wl_info, 0, sizeof(VkWaylandSurfaceCreateInfoKHR)); + + wl_info.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR; + wl_info.pNext = NULL; + wl_info.flags = 0; + wl_info.display = (struct wl_display*)wl->dpy; + wl_info.surface = (struct wl_surface*)wl->surface; wl->vk.fpCreateWaylandSurfaceKHR(wl->vk.context.instance, &wl_info, NULL, &wl->vk.vk_surface);