vkCreateValidationCacheEXT
To create validation cache objects, call:
VkResult vkCreateValidationCacheEXT(
    VkDevice device,
    const VkValidationCacheCreateInfoEXT* pCreateInfo,
    const VkAllocationCallbacks* pAllocator,
    VkValidationCacheEXT* pValidationCache);
- deviceis the logical device that creates the validation cache object.
- pCreateInfois a pointer to a VkValidationCacheCreateInfoEXT structure containing the initial parameters for the validation cache object.
- pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.
- pValidationCacheis a pointer to a VkValidationCacheEXT handle in which the resulting validation cache object is returned.
Applications can track and manage the total host memory size of a
validation cache object using the pAllocator.
Applications can limit the amount of data retrieved from a validation cache
object in vkGetValidationCacheDataEXT.
Implementations should not internally limit the total number of entries
added to a validation cache object or the total host memory consumed.
Once created, a validation cache can be passed to the
vkCreateShaderModule command by adding this object to the
VkShaderModuleCreateInfo structure’s pNext chain.
If a VkShaderModuleValidationCacheCreateInfoEXT object is included in
the VkShaderModuleCreateInfo::pNext chain, and its
validationCache field is not VK_NULL_HANDLE, the implementation
will query it for possible reuse opportunities and update it with new
content.
The use of the validation cache object in these commands is internally
synchronized, and the same validation cache object can be used in multiple
threads simultaneously.
Implementations should make every effort to limit any critical sections to
the actual accesses to the cache, which is expected to be significantly
shorter than the duration of the vkCreateShaderModule command.
Valid Usage (Implicit)
VUID-vkCreateValidationCacheEXT-device-parameter
device must be a valid VkDevice handle
VUID-vkCreateValidationCacheEXT-pCreateInfo-parameter
pCreateInfo must be a valid pointer to a valid VkValidationCacheCreateInfoEXT structure
VUID-vkCreateValidationCacheEXT-pAllocator-parameter
If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateValidationCacheEXT-pValidationCache-parameter
pValidationCache must be a valid pointer to a VkValidationCacheEXT handle