似乎有很多关于 Vulkan 新图形 API 的嗡嗡声 - https://www.khronos.org/vulkan
我的问题与 - 现有的 EGL 接口将如何适应 Vulkan API?,使用 Vulkan 新的无状态方法,是否必须用基于 Vulkan 的替代方案替换 EGL?
到目前为止,可以从 EGL(OpenGL、OpenGL ES 和 OpenVG)访问的三个 API 都与每个线程上下文一起工作,Vulkan 怎么样?
EGL 是明确的线程安全的。
这意味着通过 Vulkan 的扩展,您可以将 a 绑定EGLSurface
为管道中的渲染目标或将其用作缓冲区交换的参数。这EGLSurface
将通过正常方式创建,然后eglQueryString(display, EGL_CLIENT_APIS)
创建的EGLDisplay
必须包含“Vulkan”。
上下文位虽然更棘手。我希望会有一个虚拟(零状态)上下文用于将线程标记为使用 Vulkan 进行渲染。
EGL 甚至不会出现。您可以使用加载程序从头开始获取实例。并且有一组扩展将从操作系统获取窗口句柄,并提供一个带有多个 vkImage 的 vkSwapchain,您可以将其渲染并发送到监视器。
Vulkan 没有 EGL。新的东西将会出现Vulkan Window System Integration