C Specification

The VkDataGraphPipelineCreateInfoARM structure is defined as:

// Provided by VK_ARM_data_graph
typedef struct VkDataGraphPipelineCreateInfoARM {
    VkStructureType                              sType;
    const void*                                  pNext;
    VkPipelineCreateFlags2KHR                    flags;
    VkPipelineLayout                             layout;
    uint32_t                                     resourceInfoCount;
    const VkDataGraphPipelineResourceInfoARM*    pResourceInfos;
} VkDataGraphPipelineCreateInfoARM;

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 VkPipelineCreateFlagBits2KHR specifying how the pipeline will be generated.

  • layout is the description of binding locations used by both the pipeline and descriptor sets used with the pipeline.

  • resourceInfoCount is the length of the pResourceInfos array.

  • pResourceInfos is a pointer to an array of VkDataGraphPipelineResourceInfoARM structures.

Description

Applications can create a data graph pipeline entirely from data present in a pipeline cache. This is done by including a VkDataGraphPipelineIdentifierCreateInfoARM structure in the pNext chain. If the required data is not found in the pipeline cache, creating the data graph pipeline is not possible and the implementation must fail as specified by VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT.

When an identifier is used to create a data graph pipeline, implementations may fail pipeline creation with VK_PIPELINE_COMPILE_REQUIRED for any reason.

Valid Usage
  • VUID-VkDataGraphPipelineCreateInfoARM-pNext-09763
    One and only one of the following structures must be included in the pNext chain:

  • VUID-VkDataGraphPipelineCreateInfoARM-flags-09764
    flags may only contain VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT, VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT, VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT, VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT, VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR or VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR

  • VUID-VkDataGraphPipelineCreateInfoARM-layout-09767
    layout must have been created with pushConstantRangeCount equal to 0 and pPushConstantRanges equal to NULL

  • VUID-VkDataGraphPipelineCreateInfoARM-dataGraphUpdateAfterBind-09768
    If the dataGraphUpdateAfterBind feature is not enabled, layout must not use any VkDescriptorSetLayout object created with the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set

  • VUID-VkDataGraphPipelineCreateInfoARM-dataGraphDescriptorBuffer-09885
    If the dataGraphDescriptorBuffer feature is not enabled, flags must not contain VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT

  • VUID-VkDataGraphPipelineCreateInfoARM-module-09769
    If a resource variable is declared in VkDataGraphPipelineShaderModuleCreateInfoARM::module, a descriptor slot in layout must match the descriptor type

  • VUID-VkDataGraphPipelineCreateInfoARM-pNext-09875
    If a VkDataGraphPipelineIdentifierCreateInfoARM structure is included in the pNext chain, then flags must contain VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT

  • VUID-VkDataGraphPipelineCreateInfoARM-pNext-09876
    If a VkDataGraphPipelineIdentifierCreateInfoARM structure is included in the pNext chain, then a VkDataGraphPipelineShaderModuleCreateInfoARM structure must not be included in the pNext chain

  • VUID-VkDataGraphPipelineCreateInfoARM-pNext-09882
    If a VkDataGraphPipelineIdentifierCreateInfoARM structure is included in the pNext chain, then resourceInfoCount must be 0 and pResourceInfos must be NULL

  • VUID-VkDataGraphPipelineCreateInfoARM-dataGraphShaderModule-09886
    If the dataGraphShaderModule feature is not enabled, a VkDataGraphPipelineShaderModuleCreateInfoARM structure must not be included in the pNext chain

  • VUID-VkDataGraphPipelineCreateInfoARM-module-09934
    If a resource variable is declared in module as an array, a descriptor slot in layout must match the descriptor count

  • VUID-VkDataGraphPipelineCreateInfoARM-pipelineCreationCacheControl-09871
    If the pipelineCreationCacheControl feature is not enabled, flags must not include VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR or VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR

  • VUID-VkDataGraphPipelineCreateInfoARM-pSetLayouts-09770
    The descriptor set layouts in VkPipelineLayoutCreateInfo::pSetLayouts used to create layout must not include any VkDescriptorSetLayoutBinding whose descriptor type is VK_DESCRIPTOR_TYPE_MUTABLE_EXT

  • VUID-VkDataGraphPipelineCreateInfoARM-pResourceInfos-09771
    For each of the structures in pResourceInfos, VkDataGraphPipelineResourceInfoARM::descriptorSet and VkDataGraphPipelineResourceInfoARM::binding must correspond to a resource variable declared in module

  • VUID-VkDataGraphPipelineCreateInfoARM-pipelineProtectedAccess-09772
    If the pipelineProtectedAccess feature is not enabled, flags must not include VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT or VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT

  • VUID-VkDataGraphPipelineCreateInfoARM-flags-09773
    flags must not include both VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT and VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT

  • VUID-VkDataGraphPipelineCreateInfoARM-pNext-09804
    If the pNext chain includes an VkPipelineCreationFeedbackCreateInfo structure, then its pipelineStageCreationFeedbackCount must be 0

Valid Usage (Implicit)

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