C Specification

The VkDataGraphPipelineShaderModuleCreateInfoARM structure is defined as:

// Provided by VK_ARM_data_graph
typedef struct VkDataGraphPipelineShaderModuleCreateInfoARM {
    VkStructureType                          sType;
    const void*                              pNext;
    VkShaderModule                           module;
    const char*                              pName;
    const VkSpecializationInfo*              pSpecializationInfo;
    uint32_t                                 constantCount;
    const VkDataGraphPipelineConstantARM*    pConstants;
} VkDataGraphPipelineShaderModuleCreateInfoARM;

Members

  • sType is a VkStructureType value identifying this structure.

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

  • module is optionally a VkShaderModule object containing the description of the graph.

  • pName is a pointer to a null-terminated UTF-8 string specifying the graph entry point name for this pipeline.

  • pSpecializationInfo is a pointer to a VkSpecializationInfo structure as described in Specialization Constants, or NULL.

  • constantCount is the length of the pConstants array.

  • pConstants is a pointer to an array of VkDataGraphPipelineConstantARM structures.

Description

If module is not VK_NULL_HANDLE, the pipeline’s graph is defined by module. If module is VK_NULL_HANDLE, the pipeline’s graph is defined by the chained VkShaderModuleCreateInfo.

Valid Usage
  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-id-09774
    The id member of all structures in pConstants must be a valid GraphConstantID used by a OpGraphConstantARM instruction in module

  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-dataGraphSpecializationConstants-09849
    If the dataGraphSpecializationConstants feature is not enabled then pSpecializationInfo must be NULL and module must not contain any OpSpec* instructions

  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-pName-09872
    pName must be the name of an OpGraphEntryPointARM in module

  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-pNext-09873
    If the pNext chain includes a VkShaderModuleCreateInfo structure, then module must be VK_NULL_HANDLE

  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-pNext-09874
    If the pNext chain does not include a VkShaderModuleCreateInfo structure, then module must be a valid VkShaderModule

Valid Usage (Implicit)
  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-sType-sType
    sType must be VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM

  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-module-parameter
    If module is not VK_NULL_HANDLE, module must be a valid VkShaderModule handle

  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-pName-parameter
    pName must be a null-terminated UTF-8 string

  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-pSpecializationInfo-parameter
    If pSpecializationInfo is not NULL, pSpecializationInfo must be a valid pointer to a valid VkSpecializationInfo structure

  • VUID-VkDataGraphPipelineShaderModuleCreateInfoARM-pConstants-parameter
    If constantCount is not 0, and pConstants is not NULL, pConstants must be a valid pointer to an array of constantCount valid VkDataGraphPipelineConstantARM structures

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