This series re-implements the RADV pipeline cache based on the common vk_pipeline_cache.
We use a dual-layer approach with two types of cache entries
- serialized as radv_shader_binary
- uses SHA1 of the binary as key
- contains pointers to associated radv_shaders
- serialized as list of SHA1
- uses pipeline hash as key
In combination with single-file disk-cache, this reduces the cache size by ~60%. With multi-file disk-cache, it slightly increases the cache size by ~2% due to the overhead from additional small files.