Zink requires a fairly advanced Vulkan driver, with many complex optional extensions. A basic Vulkan driver wouldn't cut it. So getting basic OpenGL working is much less work, especially since they can share a lot of work with Mesa's existing OpenGL drivers.
That's something of a sweeping generalization. Zink has managed to beat a native OpenGL driver in some particular benchmarks.
In many other benchmarks, it loses. That being said, it still manages decent performance, which is extremely impressive for a one man project using only the Vulkan interface. It wouldn't surprise me if it eventually becomes the default OpenGL driver in the open source driver stack (for HW capable enough to support a Vulkan driver, obviously).
How big of a deal would proper native OpenGL support actually be? My understanding is that OpenGL is more or less deprecated, and any performance heavy graphics applications have long since switched to Vulkan. I would think the performance overhead of a translation layer like Zink would go largely unnoticed when running software old enough to need it on a modern GPU.
OpenGL is huge. It's probably a better idea to use the shared code in Mesa and write a Gallium to Metal driver. That's how Zink (GL on Vulkan) and Microsofts GLonD3D12 work.
They can also take advantage of zink to implement opengl, at least on platforms that support mesa; and use wine's implementations of direct3d.
I expect that, in the future, gl and d3d will be implemented entirely on top of vulkan, and thus be more portable and make it easier to make GPUs and graphics drivers.
Only OpenGL ES is disappointing. ARM's Mali Panfrost drivers get full desktop OpenGL, so do Snapdragon GPUs. Hopefully they implement enough of Vulkan for Zink.
I'm pretty confident that the original commit meant 1000% compared to the previous Zink performance - not that it's 1000% better than current OpenGL implementations.
That said I certainly hope Zink becomes a suitable OpenGL implementation since it would simplify development of open source video drivers. i.e. just implement vulkan and you get OpenGL for free.
OpenGL is deprecated on MacOS only. It remains fully relevant on many platforms, else OpenGL 4.6 would have never happened. Existing heavily optimized legacy applications (especially games) are unlikely to ever switch to Vulkan if no clear advantages can be demonstrated.
Zink is very useful and maybe the best option if existing drivers are buggy or not that performant. But the performance impact is usually very apparent.
I think there is already an OpenGL implementation over Nouveau (4.5 level)? So that can exists as is, or Zink can be an option. And remaining 4.6 parts are Vulkan related, so may be it can reach 4.6 without Zink too now.
The key words are "optimized" and "OpenGL 4.6 with Zink". "Functional" and "OpenGL 2.1" is a different story, and the same trustworthy source said in https://rosenzweig.io/blog/asahi-gpu-part-6.html that:
> thanks to the tremendous shared code in Mesa, a basic OpenGL driver is doable by a single person. I’m optimistic that we’ll have native OpenGL 2.1 in Asahi Linux by the end of the year.
It's likely that even a bare-bones OpenGL driver will probably run better than llvmpipe, which is especially important in a laptop context due to the resulting power use improvements.
reply