vkCreateValidationCacheEXT
To create validation cache objects, call:
VkResult vkCreateValidationCacheEXT(
VkDevice device,
const VkValidationCacheCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkValidationCacheEXT* pValidationCache);
device
is the logical device that creates the validation cache object.pCreateInfo
is a pointer to a VkValidationCacheCreateInfoEXT structure containing the initial parameters for the validation cache object.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.pValidationCache
is 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