vkCreatePipelineBinariesKHR(3)

# vkCreatePipelineBinariesKHR(3) Manual Page

## Name

vkCreatePipelineBinariesKHR - Create pipeline binaries from a pipeline or previously retrieved data

## C Specification

To create pipeline binary objects, call:

    // Provided by VK_KHR_pipeline_binary
    VkResult vkCreatePipelineBinariesKHR(
        VkDevice                                    device,
        const VkPipelineBinaryCreateInfoKHR*        pCreateInfo,
        const VkAllocationCallbacks*                pAllocator,
        VkPipelineBinaryHandlesInfoKHR*             pBinaries);

## Parameters

- `device` is the logical device that creates the pipeline binary objects.

- `pCreateInfo` is a pointer to a VkPipelineBinaryCreateInfoKHR structure that contains the data to create the pipeline binaries from.

- `pAllocator` controls host memory allocation as described in the Memory Allocation chapter.

- `pBinaries` is a pointer to a VkPipelineBinaryHandlesInfoKHR structure in which the resulting pipeline binaries are returned.

## Description

The implementation will attempt to create all pipeline binaries. If creation fails for any pipeline binary, then:

- The corresponding entry in the `pPipelineBinaries` output array will be filled with VK_NULL_HANDLE.

- The VkResult returned by vkCreatePipelineBinariesKHR will contain the error value for the first entry in the output array in `pBinaries` containing VK_NULL_HANDLE.

Valid Usage (Implicit)

- VUID-vkCreatePipelineBinariesKHR-device-parameter
  `device` must be a valid VkDevice handle

- VUID-vkCreatePipelineBinariesKHR-pCreateInfo-parameter
  `pCreateInfo` must be a valid pointer to a valid VkPipelineBinaryCreateInfoKHR structure

- VUID-vkCreatePipelineBinariesKHR-pAllocator-parameter
  If `pAllocator` is not `NULL`, `pAllocator` must be a valid pointer to a valid VkAllocationCallbacks structure

- VUID-vkCreatePipelineBinariesKHR-pBinaries-parameter
  `pBinaries` must be a valid pointer to a VkPipelineBinaryHandlesInfoKHR structure

Return Codes

On success, this command returns

  - VK_INCOMPLETE

  - VK_PIPELINE_BINARY_MISSING_KHR

  - VK_SUCCESS

On failure, this command returns

  - VK_ERROR_INITIALIZATION_FAILED

  - VK_ERROR_OUT_OF_DEVICE_MEMORY

  - VK_ERROR_OUT_OF_HOST_MEMORY

  - VK_ERROR_UNKNOWN

  - VK_ERROR_VALIDATION_FAILED

## See Also

VK_KHR_pipeline_binary, VkAllocationCallbacks, VkDevice, VkPipelineBinaryCreateInfoKHR, VkPipelineBinaryHandlesInfoKHR

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0