dzn: Implement pipeline cache for real
All we have right now is a dummy implementation that allows us to not crash when the user tries to do basic pipeline cache operations, but that's not enough to pass the dEQP-VK.pipeline.cache.*
tests. The first patch in this MR addresses that by letting vk_pipeline_cache.c
implement the cache functions for us.
This being said, vk_pipeline_cache
is still just an empty shell if we never populate the cache. This part is addressed in the following commits. Caching happens at 3 different levels:
- NIR shader caching
- DXIL shader caching
- pipeline caching (we only cache DXIL shaders attached to the pipeline, the rest is pretty quick to retrieve from the vulkan pipeline info)