More Intel ARB_gl_spirv Code Lands In Mesa, But Still Not Ready To Finish Up OpenGL 4.6

Written by Michael Larabel in Mesa on 3 July 2018 at 10:48 AM EDT. 4 Comments
MESA
The end of July marks one year since the release of OpenGL 4.6 but sadly it doesn't look like the Mesa drivers will meet that anniversary for having working open-source OpenGL 4.6 compliance in the mainline Mesa code-base.

As has been the case for months, the Intel "i965" OpenGL driver and the RadeonSI Gallium3D driver have been blocked from OpenGL 4.6 due to pending ABR_gl_spirv / ARB_spirv_extensions work. They have long ago completed the other OpenGL 4.6 extensions, but this big addition that allows SPIR-V to be used now within OpenGL has been a big undertaking for the open-source OpenGL drivers.

Intel developers and those at the Igalia consulting firm have been working on the GL SPIR-V support for months and landed several rounds of patches so far, including more today. Hitting Mesa 18.2 Git today were the latest batch of SPIR-V and NIR patches that allow for atomic storage to be exposed within the Intel OpenGL driver (for Gen 7+) and to use the new NIR atomic counter linker for SPIR-V shaders.

While they are getting closer to the finish line, they aren't there yet and it looks like it could still be a while before that race is over. Igalia's Alejandro PiƱeiro briefly summed up the state as:
TL; DR: In summary there is a lot already done, but there is still work to do. In general, we tried to cover as much features as possible, and we are now dealing with the corner cases/specifics of each feature.

I give a more detailed, but somewhat quick/messy answer below. If you want a more structured/detailed answer I could it write tomorrow and send to the list.

As a reference, and after getting the atomic counters series pushed, our development branch has 66 patches.

Remaining are are XFB/geometry shaders, UBO/SSBO support, ARB_spirv_extensions enablement, support for arrays of arrays with UBOs/SSBOs, validations, GLSL shader cache integration, and other work. Plenty of testing is also necessary.

So while a lot has already landed, it doesn't look like they can cross the finish line soon. With Mesa 18.2 expected for branching around 20 July, presumably they won't meet that deadline for finishing up the i965 SPIR-V bits and thus no OpenGL 4.6 for this quarter's Mesa3D release. Hopefully we can see this milestone achieved then for Mesa 18.3 in Q4. Fortunately, there isn't any major Linux software that I am aware of right now requiring OpenGL 4.6 and meanwhile the Intel ANV Vulkan driver is in great shape anyhow.
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