Function Prototype

vkMergePipelineCaches

Combine the data stores of pipeline caches

Pipeline cache objects can be merged using the command:

VkResult vkMergePipelineCaches(
    VkDevice device,
    VkPipelineCache dstCache,
    uint32_t srcCacheCount,
    const VkPipelineCache* pSrcCaches);
  • device is the logical device that owns the pipeline cache objects.
  • dstCache is the handle of the pipeline cache to merge results into.
  • srcCacheCount is the length of the pSrcCaches array.
  • pSrcCaches is a pointer to an array of pipeline cache handles, which will be merged into dstCache. The previous contents of dstCache are 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

Valid Usage (Implicit)

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

Host Synchronization

  • Host access to dstCache must be externally synchronized ::