4月6日消息?并非所有Windows設(shè)備都對(duì)OpenCL和OpenGL硬件加速都有很好的支持。因此,游戲開發(fā)人員經(jīng)常發(fā)現(xiàn)很難在Windows上支持OpenGL游戲。為了提高應(yīng)用程序兼容性,Collabora正在開發(fā)此問題的通用解決方案。?

據(jù)了解,Collabora與微軟合作建立了OpenCL和OpenGL映射層,以將OpenCL 1.2和OpenGL 3.3支持帶到所有啟用Windows和DirectX 12的設(shè)備上。借助這些新的映射層,GPU供應(yīng)商可以為其硬件實(shí)現(xiàn)D3D12驅(qū)動(dòng)程序,并支持DirectX,OpenCL和OpenGL API。

下面是Collabora的操作方式:

“這項(xiàng)工作主要分為三個(gè)部分:一個(gè)OpenCL編譯器,一個(gè)OpenCL runtime以及一個(gè)使用D3D12 API在GPU上構(gòu)建和執(zhí)行命令緩沖區(qū)的Gallium(鎵)驅(qū)動(dòng)程序。

另外,兩個(gè)組件都使用共享的NIR-to-DXIL著色器編譯器。對(duì)于不熟悉NIR的人來說,它是Mesa對(duì)GPU著色器的內(nèi)部表現(xiàn)。同樣,DXIL是微軟的內(nèi)部表現(xiàn)形式,D3D12驅(qū)動(dòng)程序?qū)⑹褂盟⑥D(zhuǎn)換為特定于硬件的著色器。”