Collabora reported about acceptance into the main composition of the Mesa Gallium driver D3D12 , which implements a layer for organizing OpenGL work on top of the DirectX 12 API (D3D12). At the same time, it was announced that the driver successfully passed the tests for compatibility with OpenGL 3.3 when working on top of D3D12 drivers WARP (software rasterizer) and NVIDIA.
The driver can be useful for using Mesa on devices with D3D12-only drivers, and as a starting point for porting OpenGL applications to run on top of the D3D12 API. Including the driver, it will be possible to use to organize the operation of graphical applications in environments controlled by the WSL subsystem (Windows Subsystem for Linux), which enables Linux executable files to run on Windows.
Development is in progress with Microsoft engineers developing open source toolkit D3D11On12 for translating games from D3D11 to D3D12 and the library D3D12TranslationLayer , which implements generic graphics primitives on top of D3D12. Based on the project under consideration, Microsoft has already prepared an interlayer that makes it possible to run OpenGL-based applications on Windows devices that do not provide full OpenGL support. In particular, succeeded to make Photoshop work on Windows devices with ARM processors.
Implementation includes Gallium driver, OpenCL compiler, OpenCL runtime, and NIR-to-DXIL shader compiler, which converts Mesa’s NIR shader intermediate to the DirectX Intermediate Language (DXIL) binary format supported in DirectX 12 and based on LLVM bitcode 3.7 ( Microsoft’s DirectX Shader Compiler is a fork of LLVM 3.7).