Developer Faith Ekstrand has written up a fresh blog post on Collabora which goes over implementing two extensions in NVK, the open source NVIDIA Vulkan driver, and how it ended up fixing actual games.
It's quite a long technical post talking about the VK_KHR_shader_maximal_reconvergence and VK_KHR_shader_subgroup_uniform_control_flow extensions, and how the initial support from Ekstrand were flawed, but now the extensions have been completely re-done.
I'm not going to quote much of the post, since unless you're doing driver development or you're about 100x smarter than me, it probably won't make a whole lot of sense. What I will do is sum it up for you to point out that this driver is getting more and more capable of actually playing games and displaying them properly. As Ekstrand showed, this work has actually fixed a real game.
A screenshots was shown off of rendering corruptions in Genshin Impact:
You'll notice some weird rendering artifacts in the image above, but now it looks much better:
Why? Turns out fixing these new extensions also fixed "an ancient 3D graphics feature in an actual game". Since it fixes issues in one game, it no doubt fixes issues in others too.
Great stuff. Can't wait to see how NVK continues to evolve. Especially as it seems NVIDIA themselves are now beginning to contribute to it too.
QuoteWhy? Turns out fixing these new extensions also fixed "an ancient 3D graphics feature in an actual game". Since it fixes issues in one game, it no doubt fixes issues in others too.
While shader derivatives are a 20 year old feature, they're still pretty important for modern games (and even some non-game applications) as they're used for things like smooth line drawing (without needing expensive MSAA or non-portable GL_LINE_SMOOTH).
Last edited by Calinou on 27 April 2024 at 1:55 am UTC
See more from me