Collabora如何讓DirectX 12設備支持OpenCL和OpenGL?

Raymon725cnBeta


由於並非所有 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》詳情頁。


分享到:


相關文章: