
并非所有 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 运行时,以及一个借助 D3D12 API 、在 GPU 上构建和执行命令缓冲区的 Gallium 驱动程序。
两个组件使用共享的 NIR-to-DXIL 着色器编译器,其中 NIR 是 Mesa 对 GPU 着色器的内部表示,而 DXIL 是微软的内部表示形式。
您可以从这个链接中了解有关此项目的更多信息。
