HORIZON HASKELLDocslts/ghc-9.14.x3e2d5682026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_ARM_data_graph

Name

VK_ARM_data_graph - device extension

VK_ARM_data_graph

Name String

VK_ARM_data_graph

Extension Type

Device extension

Registered Extension Number

508

Revision

1

Ratification Status

Not ratified

Extension and Version Dependencies

Vulkan Version 1.3

and

VK_KHR_maintenance5

and

VK_KHR_deferred_host_operations

API Interactions
  • Interacts with VK_ARM_tensors

SPIR-V Dependencies
Contact

Other Extension Metadata

Last Modified Date

2025-06-18

Interactions and External Dependencies
  • This extension requires SPV_ARM_graph

  • This extension interacts with VK_EXT_mutable_descriptor_type

  • This extension interacts with VK_EXT_pipeline_protected_access

  • This extension interacts with VK_ARM_tensors

  • This extension interacts with VK_EXT_descriptor_buffer

  • This extension interacts with VK_KHR_maintenance6

IP Status

No known IP claims.

Contributors
  • Kévin Petit, Arm Ltd.

  • Emma Ben Yossef, Arm Ltd.

  • Stefano Bucciarelli, Arm Ltd.

  • Marco Cattani, Arm Ltd.

  • Aaron DeBattista, Arm Ltd.

  • Jan-Harald Fredriksen, Arm Ltd.

  • Einar Hov, Arm Ltd.

  • Robert Hughes, Arm Ltd.

  • Oualid Khelifi, Arm Ltd.

  • Derek Lamberti, Arm Ltd.

  • Chetan Mistry, Arm Ltd.

  • Georgios Teneketzis, Arm Ltd.

  • Matthew Netsch, Qualcomm Technologies, Inc

Description

This extension adds support for a new type of pipeline, data graph pipelines, that provide an encapsulation construct for computational graphs operating on full resources (e.g. ML/AI graphs, image processing pipelines, etc). This extension only supports tensor resources and does not define any operations that can be used within those graphs. These operations will be defined by separate extensions.

New Object Types

New Commands

New Structures

If VK_ARM_tensors is supported:

New Enums

New Bitmasks

New Enum Constants

If VK_ARM_tensors is supported:

New SPIR-V Capabilities

Issues

1) Should graph pipeline resource info structures be integrated into pipeline layouts? Would a new graph pipeline layout be a better fit?

RESOLVED: Graph pipeline resource info are passed separately at pipeline creation time.

2) Do we need a new shader stage for graph pipelines for use in creating descriptor set layouts?

RESOLVED: Currently using SHADER_STAGE_ALL.

3) Should this extension provide applications with a way of knowing which combinations of sparsity information implementations can take advantage of when processing graph constants?

RESOLVED: No. Describing the exact combinations is in some cases complex and it is always valid for implementations to ignore the sparsity information and treat the data as dense. Specific implementations can provide guidance to application writers if they so desire and applications are encouraged to always provide sparsity information that they have.

Version History

  • Revision 1, 2025-06-18 (Kévin Petit)

    • Initial revision

See Also

No cross-references are available

Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

  • 38 types
  • 12 values
  • Packagevulkan-3.27
  • Exports75
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_ARM_data_graph.hs
valuecreateDataGraphPipelinesARM
  1. :: MonadIO io
  2. => Device

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

  3. -> DeferredOperationKHR

    deferredOperation is NULL_HANDLE or the handle of a valid DeferredOperationKHR request deferral object for this command.

  4. -> PipelineCache

    pipelineCache is either 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.

  5. -> "createInfos" ::: Vector (SomeStruct DataGraphPipelineCreateInfoARM)

    pCreateInfos is a pointer to an array of DataGraphPipelineCreateInfoARM structures.

  6. -> "allocator" ::: Maybe AllocationCallbacks

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

  7. -> io (Result, "pipelines" ::: Vector Pipeline)
#

vkCreateDataGraphPipelinesARM - Create data graph pipeline objects

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 NULL_HANDLE.

Valid Usage

Valid Usage (Implicit)

  • device must be a valid Device handle

  • If deferredOperation is not NULL_HANDLE, deferredOperation must be a valid DeferredOperationKHR handle

  • If pipelineCache is not NULL_HANDLE, pipelineCache must be a valid PipelineCache handle

  • pCreateInfos must be a valid pointer to an array of createInfoCount valid DataGraphPipelineCreateInfoARM structures

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • pPipelines must be a valid pointer to an array of createInfoCount Pipeline handles

  • The device must have been created with at least 1 queue

  • createInfoCount must be greater than 0

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

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

Return Codes

Success
Failure

See Also

VK_ARM_data_graph, AllocationCallbacks, DataGraphPipelineCreateInfoARM, DeferredOperationKHR, Device, Pipeline, PipelineCache

valuecreateDataGraphPipelineSessionARM
  1. :: (Extendss DataGraphPipelineSessionCreateInfoARM a, PokeChain a, MonadIO io)
  2. => Device

    device is the logical device that creates the data graph pipeline session.

  3. -> DataGraphPipelineSessionCreateInfoARM a

    pCreateInfo is a pointer to a DataGraphPipelineSessionCreateInfoARM structure.

  4. -> "allocator" ::: Maybe AllocationCallbacks

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

  5. -> io DataGraphPipelineSessionARM
#

vkCreateDataGraphPipelineSessionARM - Create a data graph pipeline session

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_ARM_data_graph, AllocationCallbacks, DataGraphPipelineSessionARM, DataGraphPipelineSessionCreateInfoARM, Device

A convenience wrapper to make a compatible pair of calls to createDataGraphPipelineSessionARM and destroyDataGraphPipelineSessionARM

To ensure that destroyDataGraphPipelineSessionARM is always called: pass bracket (or the allocate function from your favourite resource management library) as the last argument. To just extract the pair pass (,) as the last argument.

valuegetDataGraphPipelineSessionBindPointRequirementsARM
  1. :: MonadIO io
  2. => Device

    device is the logical device that owns the data graph pipeline session.

  3. -> DataGraphPipelineSessionBindPointRequirementsInfoARM

    pInfo is a pointer to a DataGraphPipelineSessionBindPointRequirementsInfoARM structure containing parameters for the bind point requirements query.

  4. -> io (Result, "bindPointRequirements" ::: Vector DataGraphPipelineSessionBindPointRequirementARM)
#

vkGetDataGraphPipelineSessionBindPointRequirementsARM - Get the bind point requirements of a data graph pipeline session

Description

If pBindPointRequirements is NULL, then the number of bind points associated with the data graph pipeline session is returned in pBindPointRequirementCount. Otherwise, pBindPointRequirementCount must point to a variable set by the user to the number of elements in the pBindPointRequirements array, and on return the variable is overwritten with the number of structures actually written to pBindPointRequirements. If pBindPointRequirementCount is less than the number of bind points associated with the data graph pipeline session, at most pBindPointRequirementCount structures will be written, and INCOMPLETE will be returned instead of SUCCESS, to indicate that not all the required bind points were returned.

Valid Usage

  • The session member of pInfo must have been created with device

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_ARM_data_graph, DataGraphPipelineSessionBindPointRequirementARM, DataGraphPipelineSessionBindPointRequirementsInfoARM, Device

valuegetDataGraphPipelineSessionMemoryRequirementsARM
  1. :: (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io)
  2. => Device

    device is the logical device that owns the data graph pipeline session.

  3. -> DataGraphPipelineSessionMemoryRequirementsInfoARM

    pInfo is a pointer to a DataGraphPipelineSessionMemoryRequirementsInfoARM structure containing parameters for the memory requirements query.

  4. -> io (MemoryRequirements2 a)
#

vkGetDataGraphPipelineSessionMemoryRequirementsARM - Get the memory requirements of a data graph pipeline session

Valid Usage

  • The session member of pInfo must have been created with device

Valid Usage (Implicit)

  • device must be a valid Device handle

See Also

VK_ARM_data_graph, DataGraphPipelineSessionMemoryRequirementsInfoARM, Device, MemoryRequirements2

valuebindDataGraphPipelineSessionMemoryARM
  1. :: MonadIO io
  2. => Device

    device is the logical device that owns the data graph pipeline session and memory.

    device must be a valid Device handle

  3. -> "bindInfos" ::: Vector BindDataGraphPipelineSessionMemoryInfoARM

    pBindInfos is a pointer to an array of BindDataGraphPipelineSessionMemoryInfoARM structures describing graph pipeline sessions and memory to bind.

    pBindInfos must be a valid pointer to an array of bindInfoCount valid BindDataGraphPipelineSessionMemoryInfoARM structures

  4. -> io ()
#

vkBindDataGraphPipelineSessionMemoryARM - Bind device memory to a data graph pipeline session object

Return Codes

Success
Failure

See Also

VK_ARM_data_graph, BindDataGraphPipelineSessionMemoryInfoARM, Device

valuedestroyDataGraphPipelineSessionARM
  1. :: MonadIO io
  2. => Device

    device is the logical device that destroys the data graph pipeline session.

  3. -> DataGraphPipelineSessionARM

    session is the handle of the data graph pipeline session to destroy.

  4. -> "allocator" ::: Maybe AllocationCallbacks

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

  5. -> io ()
#

vkDestroyDataGraphPipelineSessionARM - Destroy a data graph pipeline session object

Valid Usage

  • All submitted commands that refer to session must have completed execution

  • If AllocationCallbacks were provided when session was created, a compatible set of callbacks must be provided here

  • If no AllocationCallbacks were provided when session was created, pAllocator must be NULL

Valid Usage (Implicit)

  • device must be a valid Device handle

  • session must be a valid DataGraphPipelineSessionARM handle

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • session must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to session must be externally synchronized

See Also

VK_ARM_data_graph, AllocationCallbacks, DataGraphPipelineSessionARM, Device

valuecmdDispatchDataGraphARM
  1. :: (Extendss DataGraphPipelineDispatchInfoARM a, PokeChain a, MonadIO io)
  2. => CommandBuffer

    commandBuffer is the command buffer into which the command will be recorded.

  3. -> DataGraphPipelineSessionARM

    session is the DataGraphPipelineSessionARM that data graph pipeline being dispatched will use.

  4. -> "info" ::: Maybe (DataGraphPipelineDispatchInfoARM a)

    pInfo is NULL or a pointer to a DataGraphPipelineDispatchInfoARM structure.

  5. -> io ()
#

vkCmdDispatchDataGraphARM - Dispatch a data graph pipeline within a session

Valid Usage

Valid Usage (Implicit)

  • session must be a valid DataGraphPipelineSessionARM handle

  • If pInfo is not NULL, pInfo must be a valid pointer to a valid DataGraphPipelineDispatchInfoARM structure

  • commandBuffer must be in the recording state

  • The CommandPool that commandBuffer was allocated from must support QUEUE_DATA_GRAPH_BIT_ARM operations

  • This command must only be called outside of a render pass instance

  • This command must not be called between suspended render pass instances

  • This command must only be called outside of a video coding scope

  • Both of commandBuffer, and session must have been created, allocated, or retrieved from the same Device

Host Synchronization

  • Host access to commandBuffer must be externally synchronized

  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer Levels

Render Pass Scope

Video Coding Scope

Supported Queue Types

Command Type

Primary Secondary

Outside

Outside

VK_QUEUE_DATA_GRAPH_BIT_ARM

Action

Conditional Rendering

vkCmdDispatchDataGraphARM is affected by conditional rendering

See Also

VK_ARM_data_graph, CommandBuffer, DataGraphPipelineDispatchInfoARM, DataGraphPipelineSessionARM

valuegetDataGraphPipelineAvailablePropertiesARM
  1. :: MonadIO io
  2. => Device

    device is the logical device that created the data graph pipeline.

  3. -> DataGraphPipelineInfoARM

    pPipelineInfo is a DataGraphPipelineInfoARM that describes the Pipeline being queried.

  4. -> io (Result, "properties" ::: Vector DataGraphPipelinePropertyARM)
#

vkGetDataGraphPipelineAvailablePropertiesARM - Query available properties of a data graph pipeline

Description

If pProperties is NULL, then the number of properties associated with the data graph pipeline is returned in pPropertiesCount. Otherwise, pPropertiesCount must point to a variable set by the user to the number of elements in the pProperties array, and on return the variable is overwritten with the number of enums actually written to pProperties. If pPropertiesCount is less than the number of properties associated with the data graph pipeline, at most pPropertiesCount structures will be written, and INCOMPLETE will be returned instead of SUCCESS, to indicate that not all the available properties were returned.

Valid Usage

  • The dataGraphPipeline member of pPipelineInfo must have been created with device

Valid Usage (Implicit)

  • device must be a valid Device handle

  • pPipelineInfo must be a valid pointer to a valid DataGraphPipelineInfoARM structure

  • pPropertiesCount must be a valid pointer to a uint32_t value

  • If the value referenced by pPropertiesCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertiesCount DataGraphPipelinePropertyARM values

Return Codes

Success
Failure

See Also

VK_ARM_data_graph, DataGraphPipelineInfoARM, DataGraphPipelinePropertyARM, Device

valuegetDataGraphPipelinePropertiesARM
  1. :: MonadIO io
  2. => Device

    device is the logical device that created the data graph pipeline.

  3. -> DataGraphPipelineInfoARM

    pPipelineInfo is a DataGraphPipelineInfoARM that describes the Pipeline being queried.

  4. -> "propertiesCount" ::: Word32

    propertiesCount is the length of the pProperties array.

  5. -> io (Result, "properties" ::: Vector DataGraphPipelinePropertyQueryResultARM)
#

vkGetDataGraphPipelinePropertiesARM - Query properties of a data graph pipeline

Valid Usage

  • The dataGraphPipeline member of pPipelineInfo must have been created with device

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_ARM_data_graph, DataGraphPipelineInfoARM, DataGraphPipelinePropertyQueryResultARM, Device

valuegetPhysicalDeviceQueueFamilyDataGraphPropertiesARM
  1. :: MonadIO io
  2. => PhysicalDevice

    physicalDevice is the physical device to query.

  3. -> "queueFamilyIndex" ::: Word32

    queueFamilyIndex is the index of the queue family being queried.

  4. -> io (Result, "queueFamilyDataGraphProperties" ::: Vector QueueFamilyDataGraphPropertiesARM)
#

vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM - Query the data processing engines and the operations they support for a given queue family of a physical device

Description

If pQueueFamilyDataGraphProperties is NULL, then the number of properties available is returned in pQueueFamilyDataGraphPropertyCount. Otherwise, pQueueFamilyDataGraphPropertyCount must point to a variable set by the application to the number of elements in the pQueueFamilyDataGraphProperties array, and on return the variable is overwritten with the number of structures actually written to pQueueFamilyDataGraphProperties. If pQueueFamilyDataGraphPropertyCount is less than the number of properties available, at most pQueueFamilyDataGraphPropertyCount structures will be written, and INCOMPLETE will be returned instead of SUCCESS, to indicate that not all the available properties were returned.

If the dataGraphModel feature is supported, the implementation must return at least one property with engine type PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM or PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM.

Valid Usage (Implicit)

  • pQueueFamilyDataGraphPropertyCount must be a valid pointer to a uint32_t value

  • If the value referenced by pQueueFamilyDataGraphPropertyCount is not 0, and pQueueFamilyDataGraphProperties is not NULL, pQueueFamilyDataGraphProperties must be a valid pointer to an array of pQueueFamilyDataGraphPropertyCount QueueFamilyDataGraphPropertiesARM structures

Return Codes

Success
Failure

See Also

VK_ARM_data_graph, PhysicalDevice, QueueFamilyDataGraphPropertiesARM

valuegetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM
  1. :: MonadIO io
  2. => PhysicalDevice

    physicalDevice is the physical device to query.

    physicalDevice must be a valid PhysicalDevice handle

  3. -> PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM

    pQueueFamilyDataGraphProcessingEngineInfo is a pointer to a PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM structure that specifies the data graph processing engine and queue family to query.

    pQueueFamilyDataGraphProcessingEngineInfo must be a valid pointer to a valid PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM structure

  4. -> io QueueFamilyDataGraphProcessingEnginePropertiesARM
#

vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM - Query the properties of a data graph processing engine for a specific queue family of a physical device

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, PhysicalDevice, PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, QueueFamilyDataGraphProcessingEnginePropertiesARM

VkPhysicalDeviceDataGraphFeaturesARM - Structure describing features to control data graph pipelines

Description

If the PhysicalDeviceDataGraphFeaturesARM structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a Device with any features described by PhysicalDeviceDataGraphFeaturesARM, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Structure Chaining

Extends the structures

See Also

VK_ARM_data_graph, Bool32, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM - Structure specifying semi-structured sparsity parameters of a tensor data graph pipeline constant

Description

This extension does not provide applications with a way of knowing which combinations of dimension, zeroCount, and groupSize an implementation can take advantage of. Providing sparsity information for a graph constant is always valid and recommended, regardless of the specific combinations an implementation can take advantage of. When they can not take advantage of the sparsity information, implementations will ignore it and treat the data as dense.

Structure Chaining

Extends the structure

See Also

VK_ARM_data_graph, VK_ARM_tensors, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
datadata DataGraphPipelineConstantARM (es :: [Type])
#

VkDataGraphPipelineConstantARM - Structure specifying parameters of a data graph pipeline constant

Description

The size and layout of the data pointed to by pConstantData is specified by a specific structure in the pNext chain for each type of graph constant.

For graph constants of tensor type, the layout of the data is specified by a TensorDescriptionARM structure. The data must be laid out according to the following members of this structure:

The presence of a DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM structure in the pNext chain has no impact on the expected layout of the data pointed to by pConstantData.

Valid Usage

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, DataGraphPipelineShaderModuleCreateInfoARM, StructureType

Constructors

Instances5Extensible, Show, FromCStruct, ToCStruct, Zero
datadata DataGraphPipelineResourceInfoARM (es :: [Type])
#

VkDataGraphPipelineResourceInfoARM - Structure specifying parameters of a data graph pipeline resource

Valid Usage

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, DataGraphPipelineCreateInfoARM, StructureType

Constructors

Instances5Extensible, Show, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineCompilerControlCreateInfoARM - Structure specifying compiler control parameters of a newly created data graph pipeline

Structure Chaining

Extends the structure

See Also

VK_ARM_data_graph, StructureType

Constructors

Instances4Show, FromCStruct, ToCStruct, Zero
datadata DataGraphPipelineCreateInfoARM (es :: [Type])
#

VkDataGraphPipelineCreateInfoARM - Structure specifying parameters of a newly created data graph pipeline

Description

Applications can create a data graph pipeline entirely from data present in a pipeline cache. This is done by including a DataGraphPipelineIdentifierCreateInfoARM 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 PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT.

Applications can create a data graph pipeline without providing a pipeline cache or shader module by invoking one of the models provided by the implementation. This is done by including DataGraphPipelineBuiltinModelCreateInfoQCOM in the pNext chain.

When an identifier or built-in model is used to create a data graph pipeline, implementations may fail pipeline creation with PIPELINE_COMPILE_REQUIRED for any reason.

The data graph engines for this pipeline can be selected by including a DataGraphProcessingEngineCreateInfoARM to the pNext chain of this structure. Otherwise, PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM will be used as the sole data graph engine.

The data graph operations that this pipeline uses must be supported for the data graph engines selected for this pipeline as retrieved by getPhysicalDeviceQueueFamilyDataGraphPropertiesARM.

Valid Usage

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, DataGraphPipelineResourceInfoARM, PipelineCreateFlags2, PipelineLayout, StructureType, createDataGraphPipelinesARM

Constructors

Instances5Extensible, Show, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineShaderModuleCreateInfoARM - Structure specifying shader module parameters of a newly created data graph pipeline

Description

If module is not NULL_HANDLE, the pipeline’s graph is defined by module. If module is NULL_HANDLE, the pipeline’s graph is defined by the chained ShaderModuleCreateInfo.

Valid Usage

Valid Usage (Implicit)

  • If module is not NULL_HANDLE, module must be a valid ShaderModule handle

  • pName must be a null-terminated UTF-8 string

  • If pSpecializationInfo is not NULL, pSpecializationInfo must be a valid pointer to a valid SpecializationInfo structure

  • If constantCount is not 0, and pConstants is not NULL, pConstants must be a valid pointer to an array of constantCount valid DataGraphPipelineConstantARM structures

Structure Chaining

Extends the structure

See Also

VK_ARM_data_graph, DataGraphPipelineConstantARM, ShaderModule, SpecializationInfo, StructureType

Constructors

Instances4Show, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineSessionCreateInfoARM - Structure specifying parameters of a newly created data graph pipeline session

Valid Usage

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, DataGraphPipelineSessionCreateFlagsARM, Pipeline, StructureType, createDataGraphPipelineSessionARM

Constructors

Instances5Extensible, Show, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineSessionBindPointRequirementsInfoARM - Structure specifying info to query the bind point requirements of a data graph pipeline session

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, DataGraphPipelineSessionARM, StructureType, getDataGraphPipelineSessionBindPointRequirementsARM

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineSessionBindPointRequirementARM - Structure specifying the requirements of a bind point of a data graph pipeline session

Description

Implementations must always return 1 for numObjects if bindPoint is one of the following bind points:

Valid Usage (Implicit)

  • pNext must be NULL

See Also

VK_ARM_data_graph, DataGraphPipelineSessionBindPointARM, DataGraphPipelineSessionBindPointTypeARM, StructureType, getDataGraphPipelineSessionBindPointRequirementsARM

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineSessionMemoryRequirementsInfoARM - Structure specifying parameters to query the memory requirements of a data graph pipeline session

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, DataGraphPipelineSessionARM, DataGraphPipelineSessionBindPointARM, StructureType, getDataGraphPipelineSessionMemoryRequirementsARM

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkBindDataGraphPipelineSessionMemoryInfoARM - Structure describing how to bind a data graph pipeline session to memory

Valid Usage

  • session must not have been bound to a memory object for bindPoint

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, DataGraphPipelineSessionARM, DataGraphPipelineSessionBindPointARM, DeviceMemory, DeviceSize, StructureType, bindDataGraphPipelineSessionMemoryARM

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineInfoARM - Structure describing a data graph pipeline

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, Pipeline, StructureType, getDataGraphPipelineAvailablePropertiesARM, getDataGraphPipelinePropertiesARM

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelinePropertyQueryResultARM - Structure describing a data graph pipeline property query or result

Description

If pData is NULL, then the size, in bytes, of the property data is returned in dataSize. Otherwise, dataSize must be the size of the buffer, in bytes, pointed to by pData and on return dataSize is overwritten with the number of bytes of data actually written to pData including any trailing NUL character. If dataSize is less than the size, in bytes, of the property data, at most dataSize bytes of data will be written to pData, and INCOMPLETE will be returned by getDataGraphPipelinePropertiesARM instead of SUCCESS, to indicate that not all the available property data was returned. If isText is TRUE and pData is not NULL and dataSize is not zero, the last byte written to pData will be a NUL character.

Valid Usage (Implicit)

  • pNext must be NULL

  • property must be a valid DataGraphPipelinePropertyARM value

  • If dataSize is not 0, and pData is not NULL, pData must be a valid pointer to an array of dataSize bytes

See Also

VK_ARM_data_graph, Bool32, DataGraphPipelinePropertyARM, StructureType, getDataGraphPipelinePropertiesARM

Constructors

Instances5Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineIdentifierCreateInfoARM - Structure specifying an identifier for the newly created data graph pipeline

Description

The pIdentifier can be retrieved from the device by calling getDataGraphPipelinePropertiesARM and searching the results for a DataGraphPipelinePropertyQueryResultARM structure with property set to DATA_GRAPH_PIPELINE_PROPERTY_IDENTIFIER_ARM.

Structure Chaining

Extends the structure

See Also

VK_ARM_data_graph, StructureType

Constructors

Instances4Show, FromCStruct, ToCStruct, Zero
datadata DataGraphPipelineDispatchInfoARM (es :: [Type])
#

VkDataGraphPipelineDispatchInfoARM - Structure specifying parameters of a data graph pipeline dispatch

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, DataGraphPipelineDispatchFlagsARM, StructureType, cmdDispatchDataGraphARM

Constructors

Instances5Extensible, Show, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceDataGraphProcessingEngineARM - Structure describing a data graph processing engine supported by a physical device

See Also

VK_ARM_data_graph, Bool32, DataGraphProcessingEngineCreateInfoARM, PhysicalDeviceDataGraphProcessingEngineTypeARM, QueueFamilyDataGraphPropertiesARM

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceDataGraphOperationSupportARM - Structure describing an operation or set of operations supported by a data graph processing engine

See Also

VK_ARM_data_graph, DataGraphPipelineBuiltinModelCreateInfoQCOM, PhysicalDeviceDataGraphOperationTypeARM, QueueFamilyDataGraphPropertiesARM

Constructors

Instances5Show, Storable, FromCStruct, ToCStruct, Zero

Constructors

Instances5Show, Storable, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM - Structure specifying a data graph processing engine type and queue family to query

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, PhysicalDeviceDataGraphProcessingEngineTypeARM, StructureType, getPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkQueueFamilyDataGraphProcessingEnginePropertiesARM - Structure describing the properties of a data graph processing engine type for a given queue family

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, ExternalMemoryHandleTypeFlags, ExternalSemaphoreHandleTypeFlags, StructureType, getPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphProcessingEngineCreateInfoARM - Structure describing a collection of data graph processing engines for which the object being created is specialized

Valid Usage

Valid Usage (Implicit)

Structure Chaining

Extends the structures

See Also

VK_ARM_data_graph, PhysicalDeviceDataGraphProcessingEngineARM, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineSessionCreateFlagBitsARM - Bitmask specifying additional parameters of a data graph pipeline session

Description

See Also

VK_ARM_data_graph, DataGraphPipelineSessionCreateFlagsARM

Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …

VkDataGraphPipelineSessionBindPointARM - Enumeration describing the bind points of a data graph pipeline session

Description

See Also

VK_ARM_data_graph, BindDataGraphPipelineSessionMemoryInfoARM, DataGraphPipelineSessionBindPointRequirementARM, DataGraphPipelineSessionMemoryRequirementsInfoARM

Instances6Eq, Ord, Read, Show, Storable, Zero

VkDataGraphPipelineSessionBindPointTypeARM - Enumeration describing the type of bind points of a data graph pipeline session

Description

See Also

VK_ARM_data_graph, DataGraphPipelineSessionBindPointRequirementARM

Instances6Eq, Ord, Read, Show, Storable, Zero
newtypenewtype DataGraphPipelinePropertyARM
#

VkDataGraphPipelinePropertyARM - Enumeration describing the properties of a data graph pipeline that can be queried

Description

  • DATA_GRAPH_PIPELINE_PROPERTY_CREATION_LOG_ARM corresponds to a human-readable log produced during the creation of a data graph pipeline. It may contain information about errors encountered during the creation or other information generally useful for debugging. This property can be queried for any data graph pipeline.

See Also

VK_ARM_data_graph, DataGraphPipelinePropertyQueryResultARM, getDataGraphPipelineAvailablePropertiesARM

Instances6Eq, Ord, Read, Show, Storable, Zero

VkDataGraphPipelineDispatchFlagBitsARM - Bitmask specifying additional parameters of a data graph pipeline dispatch

See Also

VK_ARM_data_graph, DataGraphPipelineDispatchFlagsARM

Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …

VkPhysicalDeviceDataGraphProcessingEngineTypeARM - Enumeration describing data graph processing engines

Description

See Also

VK_ARM_data_graph, PhysicalDeviceDataGraphProcessingEngineARM, PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM

Instances6Eq, Ord, Read, Show, Storable, Zero

VkPhysicalDeviceDataGraphOperationTypeARM - Enumeration describing data graph operations

Description

See Also

VK_ARM_data_graph, PhysicalDeviceDataGraphOperationSupportARM

Instances6Eq, Ord, Read, Show, Storable, Zero
newtypenewtype DeferredOperationKHR
#
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …
newtypenewtype DataGraphPipelineSessionARM
#
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …
newtypenewtype TensorUsageFlagBitsARM
#

VkTensorUsageFlagBitsARM - Bitmask specifying allowed usage of a tensor

Description

See Also

VK_ARM_tensors, TensorUsageFlagsARM

Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …