vkMergePipelineCaches
Pipeline cache objects can be merged using the command:
VkResult vkMergePipelineCaches(
VkDevice device,
VkPipelineCache dstCache,
uint32_t srcCacheCount,
const VkPipelineCache* pSrcCaches);
deviceis the logical device that owns the pipeline cache objects.dstCacheis the handle of the pipeline cache to merge results into.srcCacheCountis the length of thepSrcCachesarray.pSrcCachesis a pointer to an array of pipeline cache handles, which will be merged intodstCache. The previous contents ofdstCacheare included after the merge.
The details of the merge operation are implementation-dependent, but implementations should merge the contents of the specified pipelines and prune duplicate entries.
Valid Usage
VUID-vkMergePipelineCaches-dstCache-00770
dstCache must not appear in the list of source caches
VUID-vkMergePipelineCaches-dstCache-10202
Host access to dstCache must be externally synchronized
if it was not created with
VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR
Valid Usage (Implicit)
VUID-vkMergePipelineCaches-device-parameter
device must be a valid VkDevice handle
VUID-vkMergePipelineCaches-dstCache-parameter
dstCache must be a valid VkPipelineCache handle
VUID-vkMergePipelineCaches-pSrcCaches-parameter
pSrcCaches must be a valid pointer to an array of srcCacheCount valid VkPipelineCache handles
VUID-vkMergePipelineCaches-srcCacheCount-arraylength
srcCacheCount must be greater than 0
VUID-vkMergePipelineCaches-dstCache-parent
dstCache must have been created, allocated, or retrieved from device
VUID-vkMergePipelineCaches-pSrcCaches-parent
Each element of pSrcCaches must have been created, allocated, or retrieved from device