[vulkan linux] Add extension requirement for XCB
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user