[vulkan linux] Add extension requirement for XCB
This commit is contained in:
parent
6d591970ab
commit
5ed4f88091
|
@ -64,6 +64,21 @@ VulkanInstance::VulkanInstance() {
|
|||
|
||||
DeclareRequiredExtension(VK_EXT_DEBUG_MARKER_EXTENSION_NAME,
|
||||
Version::Make(0, 0, 0), true);
|
||||
DeclareRequiredExtension(VK_KHR_SURFACE_EXTENSION_NAME,
|
||||
Version::Make(0, 0, 0), true);
|
||||
#if XE_PLATFORM_WIN32
|
||||
DeclareRequiredExtension(VK_KHR_WIN32_SURFACE_EXTENSION_NAME,
|
||||
Version::Make(0, 0, 0), true);
|
||||
#elif XE_PLATFORM_LINUX
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
DeclareRequiredExtension(VK_KHR_XCB_SURFACE_EXTENSION_NAME,
|
||||
Version::Make(0, 0, 0), true);
|
||||
#else
|
||||
#error No Vulkan surface extension for the GDK backend defined yet.
|
||||
#endif
|
||||
#else
|
||||
#error No Vulkan surface extension for the platform defined yet.
|
||||
#endif
|
||||
}
|
||||
|
||||
VulkanInstance::~VulkanInstance() { DestroyInstance(); }
|
||||
|
|
|
@ -52,10 +52,13 @@ bool VulkanProvider::Initialize() {
|
|||
instance_ = std::make_unique<VulkanInstance>();
|
||||
|
||||
// Always enable the swapchain.
|
||||
instance_->DeclareRequiredExtension(VK_KHR_SURFACE_EXTENSION_NAME,
|
||||
Version::Make(0, 0, 0), false);
|
||||
#if XE_PLATFORM_WIN32
|
||||
instance_->DeclareRequiredExtension("VK_KHR_surface", Version::Make(0, 0, 0),
|
||||
false);
|
||||
instance_->DeclareRequiredExtension("VK_KHR_win32_surface",
|
||||
instance_->DeclareRequiredExtension(VK_KHR_WIN32_SURFACE_EXTENSION_NAME,
|
||||
Version::Make(0, 0, 0), false);
|
||||
#elif XE_PLATFORM_LINUX
|
||||
instance_->DeclareRequiredExtension(VK_KHR_XCB_SURFACE_EXTENSION_NAME,
|
||||
Version::Make(0, 0, 0), false);
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue