2015-05-22 4 views
0

Там, кажется, много шума по поводу Vulkan нового графического API - https://www.khronos.org/vulkanVulkan Монтаж с EGL

Мой вопрос связан? - Как хорошо существующий интерфейс EGL разместятся Вулкан API, с Vulkan новым лицом без подхода, Будет ли EGL заменяться альтернативой Vulkan?

Три API, которые до сих пор были доступны из EGL (OpenGL, OpenGL ES и OpenVG), работают с контекстами в потоках, как насчет Vulkan?

+1

Мои деньги на расширение, которое будет взаимодействовать с системой окон. Так был определен Мантл. –

+0

@ratchetfreak: В частности, это, вероятно, потребует двух расширений. Один на стороне EGL и один на стороне Вулкана ('WsiEGL' кто-нибудь?). – datenwolf

+0

Многопоточный контекст был задан как ключевой момент в черновиках вулкана ... –

ответ

5

EGL явно потокобезопасен.

Это означает, что через расширение Vulkan вы можете связать EGLSurface как rendertarget в конвейере или использовать его в качестве параметра для буфера. Этот EGLSurface будет создан обычным способом, и eglQueryString(display, EGL_CLIENT_APIS) создания EGLDisplay должен включать в себя «Vulkan».

Контекстный бит более сложный. Я ожидаю, что будет использоваться фиктивный (нулевой) контекст, используемый для обозначения потока, используя Vulkan для рендеринга.

EGL даже не войдет в картину. Вы получаете экземпляр с нуля с помощью загрузчика. И есть набор расширений, которые возьмут дескриптор окна из ОС и предоставят vkSwapchain несколькими vkImage, которые вы можете отобразить и отправить на монитор.