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