所有Windows和DirectX 12設備將很快支持OpenCL和OpenGL
由於並非所有Windows設備都對OpenCL和OpenGL硬件加速技術提供良好的支持,因此遊戲開發者經常會發現他們很難在Windows上實現對OpenGL遊戲的支持。為提升應用程序的兼容性,Collabora正在開發應對此類問題的通用解決方案。具體說來是,其與微軟合作構建了OpenCL和OpenGL映射層。
(來自:Collbora)
借助這一方案,Collabora得以將OpenCL 1.2和OpenGL 3.3支持帶到所有啟用的Windows和DirectX 12設備上。
GPU 製造商可為其硬件提供D3D12 驅動程序,並支持DirectX、OpenCL 和OpenGL API,而Collabora 的工作主要分為三個部分:
一個OpenCL 編譯器、一個OpenCL 運行時,以及一個借助D3D12 API、在GPU 上構建和執行命令緩衝區的Gallium 驅動程序。
兩個組件使用共享的NIR-to-DXIL著色器編譯器,其中NIR是Mesa對GPU著色器的內部表示,而DXIL是微軟的內部表示形式。
D3D12 驅動程序將使用這種方法來轉換那些特定於硬件的著色器,更多細節可參閱Collabora 的《Introducing Open CL and OpenGL on DirectX》詳情頁。