diff options
Diffstat (limited to '3rdparty/bgfx/src/renderer_vk.h')
-rw-r--r-- | 3rdparty/bgfx/src/renderer_vk.h | 44 |
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 */ \ |