[Mesa-dev] OpenGL and OpenCL on top of D3D12

Jose Fonseca jfonseca at vmware.com
Thu Mar 26 14:42:17 UTC 2020


Hi,

This is very interesting work from my POV.  It's definitely great to have more members in Mesa community interested in Windows, and is exciting to see renewed interest in OpenGL from Microsoft.  There are always very difficult corner cases when translating between one graphics API to another, but given enough dedication, I see no reason why one can't achieve an OpenGL implementation on top of D3D12 that gets the job well done on virtually all the important uses cases.

Regarding the WGL headers, please give us a shout if you notice anything obviously wrong in the reversed engineered interfaces.  I've been away from Mesa dev lately, but I'll do my best to keep an eye on this work.  It would be helpful if you could explicitly CC @jrfonseca on changes specific to WGL headers / state tracker.  Thanks.

Jose

________________________________
From: mesa-dev <mesa-dev-bounces at lists.freedesktop.org> on behalf of Gert Wollny <gert.wollny at collabora.com>
Sent: Tuesday, March 24, 2020 16:38
To: Mesa ML <mesa-dev at lists.freedesktop.org>
Subject: [Mesa-dev] OpenGL and OpenCL on top of D3D12

Dear Mesa developers,

Today, we at Collabora together with Microsoft have announced a new
project based on Mesa: OpenGL and OpenCL on top of Microsoft's D3D12.
You can find the full  announcements here:

https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.collabora.com%2Fnews-and-blog%2Fnews-and-events%2Fintroducing-opencl-and-opengl-on-directx.html&data=02%7C01%7Cjfonseca%40vmware.com%7C1fbe982d5e534ff7eb6308d7d011dac7%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637206647447892216&sdata=TGEvmkS73dffnLz%2BEgHSmN3QQ%2FTRPRoza%2ByySEc4s88%3D&reserved=0

https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdevblogs.microsoft.com%2Fdirectx%2Fin-the-works-opencl-and-opengl-mapping-layers-to-directx&data=02%7C01%7Cjfonseca%40vmware.com%7C1fbe982d5e534ff7eb6308d7d011dac7%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637206647447892216&sdata=qDVwOUZjteHtCaWmkbSiyka7Fc1ZJyTCMXS7q8pN0Ec%3D&reserved=0

How does this affect Mesa?

First of all, we intend to contribute this work into upstream Mesa.

The OpenGL work is similar to what Zink does with Vulkan, and will use
some comparable approaches for the emulation of features, hence there
will be some obvious opportunities for code-sharing with Zink.

The OpenCL support is not using the Clover runtime, but instead is a
standalone runtime that shares the NIR-to-DXIL compiler that we
contribute to Mesa and that is also used by above OpenGL layer.

As we are using spirv-to-nir in our OpenCL compiler, we have
implemented some missing OpenCL-specific features there as well. In
addition, we are also carrying some out-of-tree changes from other mesa
contributors, where we also contribute reviews of in order to help them
land.

Our work also includes contributing, improving, and maintaining the CI
for Windows, to be run on a variety of supported Windows targets.
Currently, Collabora is providing a Windows GitLab CI runner in order
to run our builds. We are looking into integrating this into fd.o's
general fleet of shared runners.

A high-performance DXGI libgl-target/winsys is also in the works, so we
can render directly into Windows' compositor surfaces. In theory, and
as a benefit to the wider Mesa community, other hardware driver could
be ported to support rendering into those surfaces as well.

As part of this work and thanks to Microsoft's support, the WGL header
files are being re-licensed as MIT, so we can reuse these original
headers rather than a reverse-engineered copy. Patches for this will
follow soon.

A dump of the code in its current state can be found here:
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.freedesktop.org%2Fkusma%2Fmesa%2F-%2Ftree%2Fmsclc-d3d12&data=02%7C01%7Cjfonseca%40vmware.com%7C1fbe982d5e534ff7eb6308d7d011dac7%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637206647447892216&sdata=iozk7RT5jnXweFeM8dlcizCvs020obG0aPZHReVAMlw%3D&reserved=0
and we intend to upstream this code by breaking it into independent
MRs shortly.

We hope you're all as excited about this as we are!

Gert Wollny, on behalf of the Microsoft development team (Bill
Kristiansen and Jesse Natalie) and the Collabora development team
(Boris Brezillon, Daniel Stone, Elie Tournier, Erik Faye-Lund, Louis-
Francis Ratté-Boulianne)


_______________________________________________
mesa-dev mailing list
mesa-dev at lists.freedesktop.org
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fmesa-dev&data=02%7C01%7Cjfonseca%40vmware.com%7C1fbe982d5e534ff7eb6308d7d011dac7%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637206647447892216&sdata=RLRF0ByyMp9HU0EdplrenaAU6s1ew9oIQtrn%2BOd8Ym4%3D&reserved=0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20200326/c2c479d8/attachment.htm>


More information about the mesa-dev mailing list