我正在尝试在 Linux 中创建一个 Vulkan 应用程序。如何从原始 X11 窗口获取 Vulkan 上下文,不涉及 Qt 或 GTK。
谢谢 :)
如果您已经拥有 X11 窗口,则需要使用 定义VK_USE_PLATFORM_XLIB_KHR并创建与 Vulkan 兼容的表面vkCreateXlibSurfaceKHR,或者如果您想使用 XCB,则需要使用vkCreateXcbSurfaceKHR并定义VK_USE_PLATFORM_XCB_KHR.
另请注意,您需要在创建实例时提供适当的表面扩展。无论是VK_KHR_XLIB_SURFACE_EXTENSION_NAME或VK_KHR_XCB_SURFACE_EXTENSION_NAME。
然后您在交换链创建时提供该表面(假设您的应用程序执行一些可见输出)。
有关详细信息,请参阅规范的 WSI 章节。