venus: image memory requirement cache
Similar idea to buffer memory requirements cache but CreateImage has many more params that may affect the memory requirements.
Instead of a sparse array, generate a SHA1 hash of all the relevant VkImageCreateInfo params including relevant pNext structures and use part of the hash as a key to a hash table that stores the cache entries.
Also add LRU eviction to prevent cache from getting too large.
Testing:
- dEQP-VK.image.*
- dEQP-VK.ycbcr.*
- Play tested Dota 2, CS2, RDR2, Astralt 9, Hades, Astroneer and various games with zink
Edited by Juston Li