summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c12
1 files changed, 10 insertions, 2 deletions
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))) {