[图]微软通过Mesa D3D12代码着手改善跨平台支持
上周,微软支持的 Direct3D 12 Gallium3D 驱动已经合并到 Mesa 21.0 中。通过该驱动程序,允许像 OpenGL 和 OpenCL 这样的图形/计算 API 在 Direct3D 上运行。而伴随着跨平台代码的合并,对 Gallium D3D12 代码的开发工作得到不断推进。
尽管这个 Gallium Direct3D 12 代码提供了跨平台支持,但是用例是在 Windows Subsystem for Linux(WSL)中运行。因此这项开发工作不会涉及 WSL 之外的内容,也不会做任何疯狂的事情来改善 Linux 游戏性能。
本次合并请求已经在本周二得到了兑现,并为 D3D12 代码的跨平台提供了初步支持。最初的工作是允许 D3D12 和 NIR to DXI 代码能够在 微软 MSVC 和非 Windows SDK 之外的编译器工具链中工作。鉴于它将在 Windows Subsystem for Linux 2 的 Linux 发行版中构建,因此需要进行各种清理和更改。
允许 OpenGL 在 Windows Subsystem for Linux 2 实例中工作的实际方法(通过转换为Direct3D 12)目前仍待解决。该代码已被证明对Windows本身很有用,它允许OpenGL(以及最终的OpenCL)在D3D12驱动程序上在Windows本身上运行,这对于现在可能无法使用GL / CL驱动程序的 Windows 10 on ARM 特别有用。