Do we need to explicitly verify these? It feels a little superfluous.
As long as these functions are private in libvkd3d we don't necessarily need them, but once this becomes public I want to catch parameters that would cause problems - e.g. a zero-length file name makes a cache memory only.
Should it? I think we could just require info->filename to be NULL for that case.
I can remove them for now and add them right before or in the same commit that moves this code to vkd3d_shader.
That's fine in any case.