2015-05-22 97 views
0

配件好像有很多議論關於福爾康新的圖形API - https://www.khronos.org/vulkan福爾康與EGL

我的問題是有關 - 如何以及現有的EGL接口將容納福爾康API,隨着福爾康新的無狀態的方法, EGL是否必須替換爲基於Vulkan的替代方案?

到目前爲止,可以從EGL(OpenGL,Op​​enGL ES和OpenVG)訪問的三個API與每線程上下文一起工作,Vulkan如何?

+1

我的錢是一個擴展,將與窗口系統交互。這就是曼特爾所指定的方式。 –

+0

@ratchetfreak:具體來說,這可能需要兩個擴展。一個在EGL方面,另一個在Vulkan方面(任何人都是WsiEGL)? – datenwolf

+0

多線程上下文已被設置爲vulkan草稿中的一個關鍵點... –

回答

5

EGL是明確線程安全的。

這意味着通過Vulkan的擴展,您可以將 EGLSurface綁定爲流水線中的rendertarget,或將其用作緩衝區切換的參數。此 EGLSurface將通過正常方式創建,並且創建 EGLDisplayeglQueryString(display, EGL_CLIENT_APIS)必須包含「Vulkan」。

儘管上下文位比較棘手。我預計會有一個虛擬(零狀態)上下文用於將線程標記爲使用Vulkan進行渲染。

EGL甚至不會進入圖片。您可以使用加載器從頭開始獲取實例。還有一組擴展將從操作系統中獲取一個窗口句柄,並提供一個帶有多個vkImage的vkSwapchain,您可以將這些vkImage渲染併發送到監視器。