C Specification

To create data graph pipelines, call:

// Provided by VK_ARM_data_graph
VkResult vkCreateDataGraphPipelinesARM(
    VkDevice                                    device,
    VkDeferredOperationKHR                      deferredOperation,
    VkPipelineCache                             pipelineCache,
    uint32_t                                    createInfoCount,
    const VkDataGraphPipelineCreateInfoARM*     pCreateInfos,
    const VkAllocationCallbacks*                pAllocator,
    VkPipeline*                                 pPipelines);

Parameters

  • device is the logical device that creates the data graph pipelines.

  • deferredOperation is VK_NULL_HANDLE or the handle of a valid VkDeferredOperationKHR request deferral object for this command.

  • pipelineCache is either VK_NULL_HANDLE, indicating that pipeline caching is disabled; or the handle of a valid pipeline cache object, in which case use of that cache is enabled for the duration of the command.

  • createInfoCount is the length of the pCreateInfos and pPipelines arrays.

  • pCreateInfos is a pointer to an array of VkDataGraphPipelineCreateInfoARM structures.

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

  • pPipelines is a pointer to an array of VkPipeline handles in which the resulting data graph pipelines objects are returned.

Description

The implementation will create a pipeline in each element of pPipelines from the corresponding element of pCreateInfos. If the creation of any pipeline fails, that pipeline will be set to VK_NULL_HANDLE.

Valid Usage
Valid Usage (Implicit)
  • VUID-vkCreateDataGraphPipelinesARM-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkCreateDataGraphPipelinesARM-deferredOperation-parameter
    If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle

  • VUID-vkCreateDataGraphPipelinesARM-pipelineCache-parameter
    If pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle

  • VUID-vkCreateDataGraphPipelinesARM-pCreateInfos-parameter
    pCreateInfos must be a valid pointer to an array of createInfoCount valid VkDataGraphPipelineCreateInfoARM structures

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

  • VUID-vkCreateDataGraphPipelinesARM-pPipelines-parameter
    pPipelines must be a valid pointer to an array of createInfoCount VkPipeline handles

  • VUID-vkCreateDataGraphPipelinesARM-device-queuecount
    The device must have been created with at least 1 queue

  • VUID-vkCreateDataGraphPipelinesARM-createInfoCount-arraylength
    createInfoCount must be greater than 0

  • VUID-vkCreateDataGraphPipelinesARM-deferredOperation-parent
    If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device

  • VUID-vkCreateDataGraphPipelinesARM-pipelineCache-parent
    If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device

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