radv: add initial support for VK_EXT_shader_object on GFX6-8
I have been working on ESO a lot of time last year, I already merged a TON of refactoring to make it easier to integrate. Though, I think I should start landing it for real now, because rebasing this branch over months is annoying quite a bit.
This only adds support for GFX6-8, because on GFX9+ we have merged shaders (+NGG) which makes it even harder to implement. Though, I have a bunch of local changes for GFX9+ and it's mostly passing everything. This initial version also doesn't support any short of shaders cache but I have local changes for that too. I will continue working on it myself.
This is passing full VKCTS ESO on Pitcairn/Bonaire/Polaris10 (~235k unit tests)