C Specification

The VkPipelineCacheCreateInfo structure is defined as:

// Provided by VK_VERSION_1_0
typedef struct VkPipelineCacheCreateInfo {
    VkStructureType               sType;
    const void*                   pNext;
    VkPipelineCacheCreateFlags    flags;
    size_t                        initialDataSize;
    const void*                   pInitialData;
} VkPipelineCacheCreateInfo;

Members

  • sType is a VkStructureType value identifying this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • flags is a bitmask of VkPipelineCacheCreateFlagBits specifying the behavior of the pipeline cache.

  • initialDataSize is the number of bytes in pInitialData.

  • pInitialData is a pointer to pipeline cache data that has been generated offline. If the pipeline cache data is incompatible (as defined below) with the device, VK_ERROR_INVALID_PIPELINE_CACHE_DATA is returned. If VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT is set in flags, pInitialData may only be accessed by the implementation during commands using the VkPipelineCache object.

Description

Note
If ename:VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT is set the
memory pointed to by pname:pInitialData can: be modified or released by
the application only after any pipeline cache objects created using it
have been destroyed.
Valid Usage
  • VUID-VkPipelineCacheCreateInfo-flags-05043
    flags must include VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT

  • VUID-VkPipelineCacheCreateInfo-flags-05044
    flags must include VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT

  • VUID-VkPipelineCacheCreateInfo-pInitialData-05139
    The pipeline cache data pointed to by pInitialData must not contain any pipelines with duplicate pipeline identifiers

Valid Usage (Implicit)
  • VUID-VkPipelineCacheCreateInfo-sType-sType
    sType must be VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO

  • VUID-VkPipelineCacheCreateInfo-pNext-pNext
    pNext must be NULL

  • VUID-VkPipelineCacheCreateInfo-flags-parameter
    flags must be a valid combination of VkPipelineCacheCreateFlagBits values

  • VUID-VkPipelineCacheCreateInfo-pInitialData-parameter
    pInitialData must be a valid pointer to an array of initialDataSize bytes

  • VUID-VkPipelineCacheCreateInfo-initialDataSize-arraylength
    initialDataSize must be greater than 0

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0