Two bits of Vulkan related news to share today. Recently the Vulkan specification was bumped again with new extension and today a new NVIDIA Vulkan Beta Driver went up.
For the Vulkan API specification update to 1.2.140 it adds in VK_EXT_private_data that enables "attaching arbitrary payloads to Vulkan objects" which was worked on by NVIDIA.
We don't normally mention minor specification bumps to the Vulkan API but in this case, it's a little extra special due to this next extension. The VK_EXT_custom_border_color extension "provides cross-vendor functionality to specify a custom border color for use when the sampler address mode VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER is used". So why is it interesting? This was worked on by quite a lot of different people including developers from Valve (such as Philip Rebohle and Joshua-Ashton who work on DXVK), plus AMD, Intel, NVIDIA and more.
Today as well, NVIDIA released the 440.66.12 Vulkan Beta Driver adding support for these Vulkan extensions:
Plus it also fixed a Linux-specific "visual glitch with Vulkan applications when falling out of flipping on certain desktops such as GNOME".
Reminder: you know it's a special Beta driver thanks to the additional two numbers on the end of the version string, with the newest stable version of the NVIDIA driver for Linux at 440.82 which released on April 7. This special Vulkan developer beta driver is where all the shiny new stuff goes in before making its way into the stable release for everyone.
The term sounds rather simple for my naive mind, but I guess there is a whole lot of magic considering it needs a separate extension...
May I ask what border-color actually is/means in 3D world?
The term sounds rather simple for my naive mind, but I guess there is a whole lot of magic considering it needs a separate extension...
When mapping from a texture (let's presume 2D texture) to a triangle (2D or 3D, but let's presume in 3D co-ordinate space), what happens when you go beyond the bounds of the texture? This can happen easily enough, and indeed can be used to great effect. It can also affect texture filtering (if you average over 4 texels, or points of the texture, then what happens on the edges and corners needs defining).
Often it's defined as treating the texture data beyond the limits of the texture as black, or white, or just repeat what's on the border of the texture. This extension allows that border colour to be defined to something else.
That's the hand-wavy simplified version of the what, but why the dedicated extension? Not all hardware supports it for a start. Some may be hard coded to black or white. Some may need it specified in a different manner - hardware, or extras tacked onto shaders. And then there's consideration of different colour spaces (CMYK vs RGBA). Vulkan doesn't just cover desktop hardware for gaming after all.
Thanks a lot for the great explanation. So in my own words that extension is mostly for defining (make sure it is fast and looks everywhere the same) sort-of currently undefined behavior?
Thanks a lot for the great explanation. So in my own words that extension is mostly for defining (make sure it is fast and looks everywhere the same) sort-of currently undefined behavior?
To be more precise, adding different possible defined behaviour. Vulkan is much more tight on definitions, so what to do always had to be defined, this just gives more options of what to do. In a fast and looks everywhere the same manner.
Got it, thanks again!
^_^
but why the dedicated extension? Not all hardware supports it for a start.Desktop hardware supports it, all other graphics APIs support it, and it makes our lives significantly easier, since the only real alternative would be to patch shader code on the fly based on the bound samplers, making one of the most basic operations - texture sampling - unnecessarily complicated and adding a lot of extra overhead.
Not everyone is super happy to keep adding legacy features to the API, but they aren't really going away any time soon, especially since Microsoft keeps supporting pretty much everything they ever came up with in D3D12.
Edit: Might have read your comment wrong, but leaving this here for extra info anyway.
Last edited by YoRHa-2B on 4 May 2020 at 8:23 pm UTC
Is there an easy way to install it on Ubuntu?
is easy, open a cli mode, CTRL + ALT + F2/F3, Uninstall the previous driver with purge, and now go to where your driver to install is, and run it with this flag --dkms
You know what?You know, lately every time I see a post of yours I think of that sketch from Monty Python's The Meaning of Life.
See more from me