Vulkan与EGL配合

Sri*_*hmi 1 opengl graphics opengl-es egl vulkan

Vulkan似乎有很多关于新图形API的嗡嗡声 - https://www.khronos.org/vulkan

我的问题与现有的EGL界面如何适应Vulkan API有关?使用Vulkan新的无状态方法,EGL必须替换为基于Vulkan的替代方案吗?

到目前为止,可以从EGL(OpenGL,Op​​enGL ES和OpenVG)访问的三个API使用每个线程的上下文,Vulkan怎么样?

rat*_*eak 6

EGL显然是线程安全的.

这意味着通过Vulkan的扩展,您可以将一个EGLSurfacerendertarget 绑定到管道中,或者将其用作bufferswap的参数.这EGLSurface将通过正常方式eglQueryString(display, EGL_CLIENT_APIS)创建,EGLDisplay然后创建必须包括"Vulkan".

然而,上下文位更棘手.我希望有一个虚拟(零状态)上下文用于将线程标记为使用Vulkan进行渲染.

EGL甚至不会出现.您可以使用加载器从头开始获取实例.还有一组扩展,它们将从操作系统中获取一个窗口句柄,并提供一个vkSwapchain,其中包含几个可以渲染并发送到监视器的vkImage.