Intel Is Using IGC In Their Windows Drivers, Internal Prototype For Mesa

Written by Michael Larabel in Intel on 13 August 2020 at 09:00 AM EDT. 17 Comments
INTEL
At Intel's Architecture Day this week the company was talking about work on their new Windows graphics driver that is being timed for Xe but supporting existing generations of hardware as well. One of the interesting takeaways was seeing the Windows driver is now using the open-source "IGC" back-end.

The new Intel Windows graphics driver features a rewritten Direct3D 11 driver and various new gaming features, but what I personally found most fascinating was seeing it utilizing IGC. Yes, the Intel Graphics Compiler that is open-source and has been developed on Linux as part of their Compute Runtime now for quite a while.


The new Windows driver is making use of the Intel Graphics Compiler as its back-end, which we've watched it develop as open-source over the past few years as part of their OpenCL/compute stack and is on GitHub although at present the Windows portions don't appear to have been committed. IGC is MIT-licensed and based on LLVM and supports Intel graphics hardware going back to Gen8 graphics with Broadwell.


Seeing the Intel Windows graphics driver though make use of IGC and complementing the existing Intel Compute Runtime usage on Linux left me wondering... What about the Linux graphics drivers then? Intel's Mesa Iris OpenGL and ANV Vulkan drivers do not make use of IGC but rather their own in-tree compiler that they have been extensively tuning over time. There has also been various remarks going back many years by the Intel open-source developers on how suitable LLVM would be or not for a graphics compiler back-end, etc.

Asking Lisa Pearce about it, she mentioned they internally have prototyped IGC for Mesa. However, at this time they aren't committing to necessarily moving in that direction just that they have tried it out within Intel. Obviously there are challenges in wanting to ensure their graphics drivers do not regress, trying to avoid placing the extra build dependencies for Mesa on IGC, IGC in turn carries dependencies on Intel's VC Intrinsics and other code, etc.

In any case, it's interesting to see the Intel Windows driver now making use of IGC and that potentially in the future we could see Intel's Mesa drivers also making use of IGC. Thus ultimately we could see this same Intel graphics compiler back-end used across Intel's software ecosystem on both Windows and Linux rather than the fragmentation / disjointed efforts we have seen previously.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week