时间:2020-03-25 来源:系统堂 游览量: 次
OpenCL和OpenGL支持来到所有Windows和启用DirectX 12的设备
并不是所有的Windows设备都对硬件加速OpenCL和OpenGL有很大的支持。因此,游戏开发者经常发现在Windows上支持OpenGL游戏是困难的。为了提高应用程序的兼容性,Collabora正在开发一个通用的解决方案。在与微软的合作中,Collabora正在构建OpenCL和OpenGL映射层,以将OpenCL 1.2和OpenGL 3.3支持到所有Windows和启用DirectX 12的设备。利用这些新的映射层,GPU供应商可以为其硬件实现D3D12驱动程序,并支持DirectX、OpenCL和OpenGL API。
以下是Collabora是如何做到这一点的:
该工作主要分为三个部分:OpenCL编译器、OpenCL运行时和Galum驱动程序,使用D3D12 API在GPU上构建和执行命令缓冲区。
此外,两个组件都使用一个共享的NIR到DXIL着色器编译器。对于那些不熟悉NIR的人来说,它是GPU着色器的MESA内部表示。类似地,DXIL是微软的内部表示,D3D12驱动程序将消耗并转换成硬件特定的着色器。