简体   繁体   中英

Vulkan Fitting with EGL

There seems to be lot of buzz regarding Vulkan the new graphics API - https://www.khronos.org/vulkan

My question is related to - How well existing EGL interface will accommodate the Vulkan API ?, With Vulkan new stateless approach, Will EGL have to be replaced with Vulkan based alternative ?

The three APIs that have been, until now, accessible from EGL (OpenGL, OpenGL ES and OpenVG), work with per-thread contexts , how about Vulkan ?

EGL is explicitly thread-safe.

This means that through an extension of Vulkan you could bind a EGLSurface as a rendertarget in a pipeline or use it as a parameter for a bufferswap. This EGLSurface would be created through the normal way and the eglQueryString(display, EGL_CLIENT_APIS) of the creating EGLDisplay must then include "Vulkan".

\n

The context bit is trickier though. I expect that there will be a dummy (zero state) context used to mark the thread as using Vulkan to render.

EGL will not even come into the picture. You get the instance from scratch using the loader. And there is a set of extensions that will take a window handle from the OS and provide a vkSwapchain with several vkImage that you can render to and send to the monitor.

No EGL with Vulkan. New stuff will be there Vulkan Window System Integration

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM