Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can donate through Paypal, Flattr and Liberapay!

Zink, the OpenGL implementation on top of Vulkan is still progressing

Posted by , | Views: 7,965

Remember Zink? The project announced in October last year from developer Erik Faye-Lund at Collabora, which provides a Mesa Gallium driver for getting OpenGL on top of Vulkan, well it's still going.

After not hearing much about it, Faye-Lund has posted a Summer Update on the Collabora blog about all the work that's gone into it. However, it's had a bit of a setback as it's been through a "pretty significant rewrite". Some design mistakes were made, so they went back and attempted to improve it. For now, it's only getting OpenGL 2.1 support with cleaning everything up and getting the code up-streamed taking precedence over OpenGL 3.0 support.

The good news is apart from that, it sounds like a lot of progress was made on it including proper control-flow, the compiler has been ported to C, the compiler no longer lowers IO, but instead process derefs directly, the compiler now handles booleans properly, occlusion queries has been implemented correctly across command buffers, support for 8-bit primitive indices has been implemented and so on. They also showed off a picture of Blender running using Zink which is a healthy milestone.

They're also going to be giving a talk at SIGGRAPH 2019, as Khronos has given them a slot in their Vulkan sessions, so that could be an interesting one to watch.

Hat tip to Mark.

Article taken from
14 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more information here.
About the author -
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
Sir_Diealot 26 July 2019 at 7:13 pm UTC
But... why?
Shmerl 26 July 2019 at 7:25 pm UTC
Sir_DiealotBut... why?

Because it can serve as OpenGL fallback for new and less supported targets. Implementing Vulkan driver for something is a lot easier than implementing OpenGL one.

I.e. imagine some new platform comes out (like Librem5 or something) using a GPU that doesn't have Mesa support yet. Someone works on Vulkan driver for it. Having such OpenGL on top out of the box is a major bonus, until someone will be able to implement the native one.

Last edited by Shmerl at 26 July 2019 at 7:26 pm UTC
Whitewolfe80 26 July 2019 at 7:34 pm UTC
Sir_DiealotBut... why?

Am guessing to improve dx 9 performance on intel graphics and older amd cards
Maath 26 July 2019 at 8:45 pm UTC
Sir_DiealotBut... why?

It is funny, but I was thinking the exact same thing as I was reading. The first link to the project page provides good answers to that question. The best one is basically the same reason to continue supporting 32-bit libraries; to allow for legacy programs written in OpenGL to still function in future hardware which may only have a Vulkan driver.
raneon 26 July 2019 at 9:20 pm UTC
I'm curious to try it out, would be great if it lands soon im Mesa!
Pikolo 26 July 2019 at 10:03 pm UTC
There is alo the fact that currently Mesa uses NIR as an intermediate representation*. It's looking like in the future, Vulkan will be the most optimised graphics API GPUs support and making it the intermediate representation is quite appealing.

*Intermediate representation is a way of reducing combinations. Every piece of hardware is different and there are many graphical APIs. Trying to implement each on each would take a lot of effore and therefore Mesa developers have used an intermediate preresentation to reduce the problem's complexity from n*m to n+m.
Modanung 27 July 2019 at 1:05 am UTC
So I guess it zank?
Sir_Diealot 7 August 2019 at 8:31 am UTC
Leeo97oneThe why is explained in the October post:
Thanks! Interesting read.
While you're here, please consider supporting GamingOnLinux on Patreon, Liberapay or Paypal. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!

You need to Register and Login to comment, submit articles and more.

Or login with...

Livestreams & Videos
Community Livestreams
See more!
Popular this week
View by Category
Latest Comments
Latest Forum Posts