summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/src/renderer_vk.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/src/renderer_vk.h')
-rw-r--r--3rdparty/bgfx/src/renderer_vk.h44
1 files changed, 38 insertions, 6 deletions
diff --git a/3rdparty/bgfx/src/renderer_vk.h b/3rdparty/bgfx/src/renderer_vk.h
index f14e60fc755..3f0c75dc361 100644
--- a/3rdparty/bgfx/src/renderer_vk.h
+++ b/3rdparty/bgfx/src/renderer_vk.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2011-2022 Branimir Karadzic. All rights reserved.
+ * Copyright 2011-2023 Branimir Karadzic. All rights reserved.
* License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
*/
@@ -11,10 +11,17 @@
# define KHR_SURFACE_EXTENSION_NAME VK_KHR_ANDROID_SURFACE_EXTENSION_NAME
# define VK_IMPORT_INSTANCE_PLATFORM VK_IMPORT_INSTANCE_ANDROID
#elif BX_PLATFORM_LINUX
+# if defined(WL_EGL_PLATFORM)
+# define VK_USE_PLATFORM_WAYLAND_KHR
+# endif // defined(WL_EGL_PLATFORM)
# define VK_USE_PLATFORM_XLIB_KHR
# define VK_USE_PLATFORM_XCB_KHR
-//# define VK_USE_PLATFORM_WAYLAND_KHR
-# define KHR_SURFACE_EXTENSION_NAME VK_KHR_XCB_SURFACE_EXTENSION_NAME
+# if defined(WL_EGL_PLATFORM)
+# define KHR_SURFACE_EXTENSION_NAME VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME, \
+ VK_KHR_XCB_SURFACE_EXTENSION_NAME
+# else
+# define KHR_SURFACE_EXTENSION_NAME VK_KHR_XCB_SURFACE_EXTENSION_NAME
+# endif // defined(WL_EGL_PLATFORM)
# define VK_IMPORT_INSTANCE_PLATFORM VK_IMPORT_INSTANCE_LINUX
#elif BX_PLATFORM_WINDOWS
# define VK_USE_PLATFORM_WIN32_KHR
@@ -32,6 +39,20 @@
#define VK_NO_STDINT_H
#define VK_NO_PROTOTYPES
#include <vulkan-local/vulkan.h>
+
+// vulkan.h pulls X11 crap...
+#if defined(None)
+# undef None
+#endif // defined(None)
+
+#if defined(Success)
+# undef Success
+#endif // defined(Success)
+
+#if defined(Status)
+# undef Status
+#endif // defined(Status)
+
#include "renderer.h"
#include "debug_renderdoc.h"
@@ -48,6 +69,19 @@
/* VK_KHR_android_surface */ \
VK_IMPORT_INSTANCE_FUNC(true, vkCreateAndroidSurfaceKHR); \
+#if defined(WL_EGL_PLATFORM)
+#define VK_IMPORT_INSTANCE_LINUX \
+ /* VK_KHR_wayland_surface */ \
+ VK_IMPORT_INSTANCE_FUNC(true, vkCreateWaylandSurfaceKHR); \
+ VK_IMPORT_INSTANCE_FUNC(true, vkGetPhysicalDeviceWaylandPresentationSupportKHR); \
+ /* VK_KHR_xlib_surface */ \
+ VK_IMPORT_INSTANCE_FUNC(true, vkCreateXlibSurfaceKHR); \
+ VK_IMPORT_INSTANCE_FUNC(true, vkGetPhysicalDeviceXlibPresentationSupportKHR); \
+ /* VK_KHR_xcb_surface */ \
+ VK_IMPORT_INSTANCE_FUNC(true, vkCreateXcbSurfaceKHR); \
+ VK_IMPORT_INSTANCE_FUNC(true, vkGetPhysicalDeviceXcbPresentationSupportKHR); \
+
+#else
#define VK_IMPORT_INSTANCE_LINUX \
/* VK_KHR_xlib_surface */ \
VK_IMPORT_INSTANCE_FUNC(true, vkCreateXlibSurfaceKHR); \
@@ -56,9 +90,7 @@
VK_IMPORT_INSTANCE_FUNC(true, vkCreateXcbSurfaceKHR); \
VK_IMPORT_INSTANCE_FUNC(true, vkGetPhysicalDeviceXcbPresentationSupportKHR); \
-// /* VK_KHR_wayland_surface */
-// VK_IMPORT_INSTANCE_FUNC(true, vkCreateWaylandSurfaceKHR);
-// VK_IMPORT_INSTANCE_FUNC(true, vkGetPhysicalDeviceWaylandPresentationSupportKHR);
+#endif // defined(WL_EGL_PLATFORM)
#define VK_IMPORT_INSTANCE_WINDOWS \
/* VK_KHR_win32_surface */ \