anv: Move extension tables to C code
This is based on !8676 (merged) and will be rebased once it lands.
Back in the day, when we first set up our Vulkan driver, we decided to do extensions in python. This seemed like a good idea at the time because it allowed our python code-gen to be extension-aware. This had a few advantages:
- Dispatch tables were smaller because they only included supported extensions
- Gave us flexibility in how we handled extension support conditions and we could use them for more than just
vkEnumerate*ExtensionProperties
-
intel_icd.x86_84.json
could use the same max API version as everything else
However, it comes with a giant disadvantage: python code-gen is always fragile. It's complex and hard to understand and no one knows how to get the meson dependencies for it right. It's also totally unnecessary if we're a bit more careful about how we structure things.
This MR moves us over declaring those extension tables in C and completely eliminating the last of the python code-gen from the ANV source directory. The one sticky bit here is that we need a different solution for extension disables on Android but that's not too hard to do.