In the works: OpenCL™ and OpenGL® mapping layers to DirectX

Angela Jiang

Building on our previous work with the D3D12 Translation Layer library as well as the D3D11On12 and D3D9On12 mapping layers, we’re happy to share that we are working on two new projects: OpenCL and OpenGL mapping layers to D3D12.

We’re excited to partner with engineers at Collabora to build OpenCL and OpenGL mapping layers using the Mesa 3D open source project. By leveraging our deep Windows and DirectX knowledge and Collabora’s extensive experience in the open source graphics space, we will be adding a new D3D12 backend to Mesa to support OpenCL and OpenGL, with initial support targeting OpenCL 1.2 and OpenGL 3.3.

We have a few goals as a part of this new work:

  1. Improve support for OpenCL- and OpenGL-based productivity and creative apps where native drivers are not available. We talk a lot about gaming on this blog, but this time the focus is on work, not play. By building the mapping layers on D3D12, we are building on the hard work we and our hardware partners have put into delivering stable and performant DirectX 12 drivers. When complete, the OpenCL and OpenGL mapping layers will provide hardware acceleration to more of your productivity and creative apps with just a DX12 driver, no other driver required.
  2. Contribute back to the graphics community. As we are building the mapping layers using an open source project, we intend to participate in the open source community. We will upstream the D3D12 backend to the main Mesa repository as we continue its development, and we hope that the Mesa and broader graphics development community will benefit from our contribution. In the meantime, you can check out the work in progress.
  3. Make it easier for developers to port their apps to D3D12. For developers looking to move from older OpenCL and OpenGL API versions to D3D12, the open source mapping layers will provide helpful example code on how to use the D3D12 Translation Layer library.

Stay tuned for more updates…

OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos. Complete license details are available on the Apple website. OpenGL® and the oval logo are trademarks or registered trademarks of Hewlett Packard Enterprise in the United States and/or other countries worldwide.