From 25168e79f33cb51625c150e0819268f0da16b67f Mon Sep 17 00:00:00 2001 From: Jordan Halase Date: Sun, 27 Oct 2019 15:02:42 -0500 Subject: Begin adding Windows support --- main.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 98863b1..59afa2c 100644 --- a/main.c +++ b/main.c @@ -277,6 +277,14 @@ static VkDeviceSize getNearestAlignment(const VkDeviceSize offset, const VkDevic return offset; } +#if defined(__linux__) +#define PLATFORM_SURFACE VK_KHR_XLIB_SURFACE_EXTENSION_NAME +#elif defined(__WIN32) +#define PLATFORM_SURFACE VK_KHR_WIN32_SURFACE_EXTENSION_NAME +#else +#error "Unknown Vulkan surface extension for this platform" +#endif + static void createInstance() { const VkApplicationInfo appInfo = { @@ -301,7 +309,7 @@ static void createInstance() // This could be negotiated at a later time. static const char *const additional[] = { VK_KHR_SURFACE_EXTENSION_NAME, - VK_KHR_XLIB_SURFACE_EXTENSION_NAME, + PLATFORM_SURFACE, VK_EXT_DEBUG_REPORT_EXTENSION_NAME }; const unsigned nAdditional = sizeof(additional)/sizeof(additional[0]); @@ -987,7 +995,7 @@ static void createSurface() const VkWin32SurfaceCreateInfoKHR createInfo = { .sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR, .hinstance = GetModuleHandle(NULL), // FIXME: whole process scope - .hwnd = puglGetNativeWindow(view) + .hwnd = (HWND)puglGetNativeWindow(view) }; VkResult result; if ((result = vkCreateWin32SurfaceKHR(instance, &createInfo, NULL, &surface))) { -- cgit v1.2.1