From f1e35c16b65f888b8e74ad97aec2b2747a3e4dce Mon Sep 17 00:00:00 2001 From: ladevieq Date: Thu, 14 Jan 2021 23:56:53 +0100 Subject: Windows window --- src/vk-renderer.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/vk-renderer.cpp') diff --git a/src/vk-renderer.cpp b/src/vk-renderer.cpp index 26b2ff3..a733d49 100644 --- a/src/vk-renderer.cpp +++ b/src/vk-renderer.cpp @@ -150,8 +150,10 @@ void vkrenderer::create_instance() { std::vector extensions = { VK_EXT_DEBUG_UTILS_EXTENSION_NAME, "VK_KHR_surface", -#ifdef LINUX +#if defined(LINUX) "VK_KHR_xcb_surface" +#elif defined(WINDOWS) + "VK_KHR_win32_surface" #endif }; @@ -194,7 +196,7 @@ void vkrenderer::create_debugger() { } void vkrenderer::create_surface(window& wnd) { -#ifdef LINUX +#if defined(LINUX) VkXcbSurfaceCreateInfoKHR create_info = {}; create_info.sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR; create_info.pNext = nullptr; @@ -203,6 +205,15 @@ void vkrenderer::create_surface(window& wnd) { create_info.window = wnd.win; VKRESULT(vkCreateXcbSurfaceKHR(instance, &create_info, nullptr, &platform_surface)) +#elif defined(WINDOWS) + VkWin32SurfaceCreateInfoKHR create_info = {}; + create_info.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR; + create_info.pNext = nullptr; + create_info.flags = 0; + create_info.hinstance = GetModuleHandle(NULL); + create_info.hwnd = wnd.win_handle; + + VKRESULT(vkCreateWin32SurfaceKHR(instance, &create_info, nullptr, &platform_surface)) #endif } -- cgit v1.3