The objective here is to split utility code from the common runtime code we've been building over the course of the last year and a half. The util code is not only used by drivers but also some of the layers we have in Mesa. None of those need
vk_object and friends. The runtime code, on the other hand, is expected to be used to build drivers. That's got all the base objects and default implementations of Vulkan entrypoints.
Why should we care? Can't object-level dead code clean up the layers? Yes, it can. However, I want to start depending on NIR from the runtime code. We don't really want to pull that into all the layers.
It's still marked WIP because I've not yet pulled out the generators. I've got all the main C code moved over but python code depending on other python code across directories is... painful. I'm hoping @dbaker can help sort that out for me.
Closes: #5410 (closed)