C Specification

The VkPipelineBinaryCreateInfoKHR structure is defined as:

// Provided by VK_KHR_pipeline_binary
typedef struct VkPipelineBinaryCreateInfoKHR {
    VkStructureType                          sType;
    const void*                              pNext;
    const VkPipelineBinaryKeysAndDataKHR*    pKeysAndDataInfo;
    VkPipeline                               pipeline;
    const VkPipelineCreateInfoKHR*           pPipelineCreateInfo;
} VkPipelineBinaryCreateInfoKHR;

Members

  • sType is a VkStructureType value identifying this structure.

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

  • pKeysAndDataInfo is NULL or a pointer to a VkPipelineBinaryKeysAndDataKHR structure that contains keys and data to create the pipeline binaries from.

  • pipeline is VK_NULL_HANDLE or a VkPipeline that contains data to create the pipeline binaries from.

  • pPipelineCreateInfo is NULL or a pointer to a VkPipelineCreateInfoKHR structure with the pipeline creation info. This is used to probe the implementation’s internal cache for pipeline binaries.

Description

When pPipelineCreateInfo is not NULL, an implementation will attempt to retrieve pipeline binary data from an internal cache external to the application if pipelineBinaryInternalCache is VK_TRUE. Applications can use this to determine if a pipeline can be created without compilation. If the implementation fails to create a pipeline binary due to missing an internal cache entry, VK_PIPELINE_BINARY_MISSING_KHR is returned. If creation succeeds, the resulting binary can be used to create a pipeline. VK_PIPELINE_BINARY_MISSING_KHR may be returned for any reason in this situation, even if creating a pipeline binary with the same parameters that succeeded earlier.

If pipelineBinaryPrecompiledInternalCache is VK_TRUE, the implementation may be able to create pipeline binaries even when pPipelineCreateInfo has not been used to create binaries before by the application.

Note

On some platforms, internal pipeline caches may be pre-populated before running the application.

Valid Usage
Valid Usage (Implicit)
  • VUID-VkPipelineBinaryCreateInfoKHR-sType-sType
    sType must be VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR

  • VUID-VkPipelineBinaryCreateInfoKHR-pNext-pNext
    pNext must be NULL

  • VUID-VkPipelineBinaryCreateInfoKHR-pKeysAndDataInfo-parameter
    If pKeysAndDataInfo is not NULL, pKeysAndDataInfo must be a valid pointer to a valid VkPipelineBinaryKeysAndDataKHR structure

  • VUID-VkPipelineBinaryCreateInfoKHR-pipeline-parameter
    If pipeline is not VK_NULL_HANDLE, pipeline must be a valid VkPipeline handle

  • VUID-VkPipelineBinaryCreateInfoKHR-pPipelineCreateInfo-parameter
    If pPipelineCreateInfo is not NULL, pPipelineCreateInfo must be a valid pointer to a valid VkPipelineCreateInfoKHR structure

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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0