What is Nostr?
Hector Martin /
npub1qk9…azpx
2024-06-06 02:39:12

Hector Martin on Nostr: And this, my friends, is why Alyssa knew what she was doing when she built an OpenGL ...

And this, my friends, is why Alyssa knew what she was doing when she built an OpenGL driver *first*, then went for Vulkan, despite all the people saying we should just go for Vulkan first and use Zink on top.

Building the OpenGL bits first *with the expectation that they will be reused for Vulkan* was absolutely the right call here. The Honeykrisp stunt could not have happened had Alyssa and Lina not worked out all the ins and outs of the hardware first and built reusable infrastructure that, yes, was first being used for an OpenGL driver, but was fully expected to run Vulkan too.

Never mind that NVK was [announced](https://www.collabora.com/news-and-blog/news-and-events/introducing-nvk.html ) barely 2 months before our first GL driver was [released](https://asahilinux.org/2022/12/gpu-drivers-now-in-asahi-linux/ ), so this kind of cross-project collaboration that early on would have simply been impossible given the timing. This year, NVK was [conformant with Vulkan 1.3](https://www.collabora.com/news-and-blog/news-and-events/nvk-is-now-ready-for-prime-time.html ) just a couple weeks after our GL driver was [feature-complete and conformant with GL 4.6](https://rosenzweig.io/blog/conformant-gl46-on-the-m1.html ), so the timing to switch to Vulkan work was perfect.

As it turns out, the GL driver will probably be faster than Zink layered on the eventual Vulkan driver for the foreseeable future anyway (adding layers never helps when you can do a better job directly, it's just easier and less work), so nothing was wasted having a native GL driver.

And this is more important than you might think, because while "desktop Linux" workloads (which will be GL for a long time) probably won't stress the GPU and would run fine on Zink, any efficiency loss means less power efficiency which means less battery runtime.

https://social.treehouse.systems/users/marcan/statuses/112564583311993358
Author Public Key
npub1qk9x6yrvten3jqyvundn7exggm90fxf9yfarj5eaz25yd7aty8hqe9azpx