vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_ARM_data_graph

Description

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.

Synopsis

Documentation

createDataGraphPipelinesARM Source #

Arguments

:: MonadIO io 
=> Device

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

-> DeferredOperationKHR

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

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

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

pCreateInfos is a pointer to an array of DataGraphPipelineCreateInfoARM structures.

-> ("allocator" ::: Maybe AllocationCallbacks)

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

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

createDataGraphPipelineSessionARM Source #

Arguments

:: MonadIO io 
=> Device

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

-> DataGraphPipelineSessionCreateInfoARM

pCreateInfo is a pointer to a DataGraphPipelineSessionCreateInfoARM structure.

-> ("allocator" ::: Maybe AllocationCallbacks)

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

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

withDataGraphPipelineSessionARM :: MonadIO io => Device -> DataGraphPipelineSessionCreateInfoARM -> Maybe AllocationCallbacks -> (io DataGraphPipelineSessionARM -> (DataGraphPipelineSessionARM -> io ()) -> r) -> r Source #

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.

getDataGraphPipelineSessionBindPointRequirementsARM Source #

Arguments

:: MonadIO io 
=> Device

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

-> DataGraphPipelineSessionBindPointRequirementsInfoARM

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

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

getDataGraphPipelineSessionMemoryRequirementsARM Source #

Arguments

:: forall (a :: [Type]) io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) 
=> Device

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

-> DataGraphPipelineSessionMemoryRequirementsInfoARM

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

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

bindDataGraphPipelineSessionMemoryARM Source #

Arguments

:: MonadIO io 
=> Device

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

device must be a valid Device handle

-> ("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

-> io () 

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

Return Codes

Success
Failure

See Also

VK_ARM_data_graph, BindDataGraphPipelineSessionMemoryInfoARM, Device

destroyDataGraphPipelineSessionARM Source #

Arguments

:: MonadIO io 
=> Device

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

-> DataGraphPipelineSessionARM

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

-> ("allocator" ::: Maybe AllocationCallbacks)

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

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

cmdDispatchDataGraphARM Source #

Arguments

:: MonadIO io 
=> CommandBuffer

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

-> DataGraphPipelineSessionARM

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

-> ("info" ::: Maybe DataGraphPipelineDispatchInfoARM)

pInfo is NULL or a pointer to a DataGraphPipelineDispatchInfoARM structure.

-> 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 LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryOutside 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

getDataGraphPipelineAvailablePropertiesARM Source #

Arguments

:: MonadIO io 
=> Device

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

-> DataGraphPipelineInfoARM

pPipelineInfo is a DataGraphPipelineInfoARM that describes the Pipeline being queried.

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

getDataGraphPipelinePropertiesARM Source #

Arguments

:: MonadIO io 
=> Device

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

-> DataGraphPipelineInfoARM

pPipelineInfo is a DataGraphPipelineInfoARM that describes the Pipeline being queried.

-> ("propertiesCount" ::: Word32)

propertiesCount is the length of the pProperties array.

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

getPhysicalDeviceQueueFamilyDataGraphPropertiesARM Source #

Arguments

:: MonadIO io 
=> PhysicalDevice

physicalDevice is the physical device to query.

-> ("queueFamilyIndex" ::: Word32)

queueFamilyIndex is the index of the queue family being queried.

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

getPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM Source #

Arguments

:: MonadIO io 
=> PhysicalDevice

physicalDevice is the physical device to query.

physicalDevice must be a valid PhysicalDevice handle

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

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

data PhysicalDeviceDataGraphFeaturesARM Source #

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.

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, Bool32, StructureType

Constructors

PhysicalDeviceDataGraphFeaturesARM 

Fields

Instances

Instances details
Eq PhysicalDeviceDataGraphFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable PhysicalDeviceDataGraphFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show PhysicalDeviceDataGraphFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct PhysicalDeviceDataGraphFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct PhysicalDeviceDataGraphFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero PhysicalDeviceDataGraphFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM Source #

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.

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, VK_ARM_tensors, StructureType

Constructors

DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM 

Fields

  • dimension :: Word32

    dimension is the dimension of the tensor along which its data is sparse.

  • zeroCount :: Word32

    zeroCount is the number of tensor elements that must be zero in every group of groupSize elements.

  • groupSize :: Word32

    groupSize is the number of tensor elements in a group.

Instances

Instances details
Eq DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineConstantARM (es :: [Type]) Source #

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

DataGraphPipelineConstantARM 

Fields

  • next :: Chain es

    pNext is a pointer to a structure extending this structure.

  • id' :: Word32

    id is the unique identifier of the graph constant this structure describes.

  • constantData :: Ptr ()

    pConstantData is a pointer to the data for this graph constant.

Instances

Instances details
Extensible DataGraphPipelineConstantARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). DataGraphPipelineConstantARM es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [Type]). DataGraphPipelineConstantARM ds -> Chain es -> DataGraphPipelineConstantARM es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends DataGraphPipelineConstantARM e => b) -> Maybe b Source #

Show (Chain es) => Show (DataGraphPipelineConstantARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

(Extendss DataGraphPipelineConstantARM es, PeekChain es) => FromCStruct (DataGraphPipelineConstantARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

(Extendss DataGraphPipelineConstantARM es, PokeChain es) => ToCStruct (DataGraphPipelineConstantARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

es ~ ('[] :: [Type]) => Zero (DataGraphPipelineConstantARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineResourceInfoARM (es :: [Type]) Source #

VkDataGraphPipelineResourceInfoARM - Structure specifying parameters of a data graph pipeline resource

Valid Usage

Valid Usage (Implicit)

  • pNext must be NULL or a pointer to a valid instance of TensorDescriptionARM
  • The sType value of each structure in the pNext chain must be unique

See Also

VK_ARM_data_graph, DataGraphPipelineCreateInfoARM, StructureType

Constructors

DataGraphPipelineResourceInfoARM 

Fields

  • next :: Chain es

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

  • descriptorSet :: Word32

    descriptorSet is the descriptor set number of the resource being described.

  • binding :: Word32

    binding is the binding number of the resource being described.

  • arrayElement :: Word32

    arrayElement is the element in the resource array if descriptorSet and binding identifies an array of resources or 0 otherwise.

Instances

Instances details
Extensible DataGraphPipelineResourceInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show (Chain es) => Show (DataGraphPipelineResourceInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

(Extendss DataGraphPipelineResourceInfoARM es, PeekChain es) => FromCStruct (DataGraphPipelineResourceInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

(Extendss DataGraphPipelineResourceInfoARM es, PokeChain es) => ToCStruct (DataGraphPipelineResourceInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

es ~ ('[] :: [Type]) => Zero (DataGraphPipelineResourceInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineCompilerControlCreateInfoARM Source #

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

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, StructureType

Constructors

DataGraphPipelineCompilerControlCreateInfoARM 

Fields

  • vendorOptions :: ByteString

    pVendorOptions is a null-terminated UTF-8 string specifying implementation-specific options that affect the creation of a data graph pipeline.

    pVendorOptions must be a null-terminated UTF-8 string

data DataGraphPipelineCreateInfoARM (es :: [Type]) Source #

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

DataGraphPipelineCreateInfoARM 

Fields

Instances

Instances details
Extensible DataGraphPipelineCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). DataGraphPipelineCreateInfoARM es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [Type]). DataGraphPipelineCreateInfoARM ds -> Chain es -> DataGraphPipelineCreateInfoARM es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends DataGraphPipelineCreateInfoARM e => b) -> Maybe b Source #

Show (Chain es) => Show (DataGraphPipelineCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

(Extendss DataGraphPipelineCreateInfoARM es, PeekChain es) => FromCStruct (DataGraphPipelineCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

(Extendss DataGraphPipelineCreateInfoARM es, PokeChain es) => ToCStruct (DataGraphPipelineCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

es ~ ('[] :: [Type]) => Zero (DataGraphPipelineCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineShaderModuleCreateInfoARM Source #

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

See Also

VK_ARM_data_graph, DataGraphPipelineConstantARM, ShaderModule, SpecializationInfo, StructureType

Constructors

DataGraphPipelineShaderModuleCreateInfoARM 

Fields

data DataGraphPipelineSessionCreateInfoARM Source #

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

DataGraphPipelineSessionCreateInfoARM 

Fields

Instances

Instances details
Eq DataGraphPipelineSessionCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineSessionCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineSessionCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct DataGraphPipelineSessionCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct DataGraphPipelineSessionCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineSessionCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineSessionBindPointRequirementsInfoARM Source #

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

DataGraphPipelineSessionBindPointRequirementsInfoARM 

Fields

Instances

Instances details
Eq DataGraphPipelineSessionBindPointRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineSessionBindPointRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineSessionBindPointRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct DataGraphPipelineSessionBindPointRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct DataGraphPipelineSessionBindPointRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineSessionBindPointRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineSessionBindPointRequirementARM Source #

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

DataGraphPipelineSessionBindPointRequirementARM 

Fields

Instances

Instances details
Eq DataGraphPipelineSessionBindPointRequirementARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineSessionBindPointRequirementARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineSessionBindPointRequirementARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct DataGraphPipelineSessionBindPointRequirementARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct DataGraphPipelineSessionBindPointRequirementARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineSessionBindPointRequirementARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineSessionMemoryRequirementsInfoARM Source #

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

DataGraphPipelineSessionMemoryRequirementsInfoARM 

Fields

Instances

Instances details
Eq DataGraphPipelineSessionMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineSessionMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineSessionMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct DataGraphPipelineSessionMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct DataGraphPipelineSessionMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineSessionMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data BindDataGraphPipelineSessionMemoryInfoARM Source #

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

BindDataGraphPipelineSessionMemoryInfoARM 

Fields

Instances

Instances details
Eq BindDataGraphPipelineSessionMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable BindDataGraphPipelineSessionMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show BindDataGraphPipelineSessionMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct BindDataGraphPipelineSessionMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct BindDataGraphPipelineSessionMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero BindDataGraphPipelineSessionMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineInfoARM Source #

VkDataGraphPipelineInfoARM - Structure describing a data graph pipeline

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, Pipeline, StructureType, getDataGraphPipelineAvailablePropertiesARM, getDataGraphPipelinePropertiesARM

Constructors

DataGraphPipelineInfoARM 

Fields

Instances

Instances details
Eq DataGraphPipelineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct DataGraphPipelineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct DataGraphPipelineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelinePropertyQueryResultARM Source #

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

DataGraphPipelinePropertyQueryResultARM 

Fields

  • property :: DataGraphPipelinePropertyARM

    property is a DataGraphPipelinePropertyARM specifying the property of the data graph pipeline being queried.

  • isText :: Bool

    isText specifies whether the returned data is text or opaque data. If isText is TRUE then the data returned in pData is text and guaranteed to be a null-terminated UTF-8 string.

  • dataSize :: Word64

    dataSize is an integer related to the size, in bytes, of the data, as described below.

  • data' :: Ptr ()

    pData is either NULL or a pointer to a block of memory into which the implementation will return the property data.

Instances

Instances details
Storable DataGraphPipelinePropertyQueryResultARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelinePropertyQueryResultARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct DataGraphPipelinePropertyQueryResultARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct DataGraphPipelinePropertyQueryResultARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelinePropertyQueryResultARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphPipelineIdentifierCreateInfoARM Source #

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.

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, StructureType

Constructors

DataGraphPipelineIdentifierCreateInfoARM 

Fields

  • identifier :: Vector Word8

    pIdentifier is a pointer to identifierSize bytes of data that describe the pipeline being created.

    pIdentifier must be a valid pointer to an array of identifierSize uint8_t values

data DataGraphPipelineDispatchInfoARM Source #

VkDataGraphPipelineDispatchInfoARM - Structure specifying parameters of a data graph pipeline dispatch

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, DataGraphPipelineDispatchFlagsARM, StructureType, cmdDispatchDataGraphARM

Constructors

DataGraphPipelineDispatchInfoARM 

Fields

Instances

Instances details
Eq DataGraphPipelineDispatchInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineDispatchInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineDispatchInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct DataGraphPipelineDispatchInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct DataGraphPipelineDispatchInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineDispatchInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data PhysicalDeviceDataGraphProcessingEngineARM Source #

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

See Also

VK_ARM_data_graph, Bool32, DataGraphProcessingEngineCreateInfoARM, PhysicalDeviceDataGraphProcessingEngineTypeARM, QueueFamilyDataGraphPropertiesARM

Constructors

PhysicalDeviceDataGraphProcessingEngineARM 

Fields

Instances

Instances details
Eq PhysicalDeviceDataGraphProcessingEngineARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable PhysicalDeviceDataGraphProcessingEngineARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show PhysicalDeviceDataGraphProcessingEngineARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct PhysicalDeviceDataGraphProcessingEngineARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct PhysicalDeviceDataGraphProcessingEngineARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero PhysicalDeviceDataGraphProcessingEngineARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data PhysicalDeviceDataGraphOperationSupportARM Source #

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

PhysicalDeviceDataGraphOperationSupportARM 

Fields

Instances

Instances details
Storable PhysicalDeviceDataGraphOperationSupportARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show PhysicalDeviceDataGraphOperationSupportARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct PhysicalDeviceDataGraphOperationSupportARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct PhysicalDeviceDataGraphOperationSupportARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero PhysicalDeviceDataGraphOperationSupportARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data QueueFamilyDataGraphPropertiesARM Source #

VkQueueFamilyDataGraphPropertiesARM - Structure describing a data graph processing engine and operation it supports

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, PhysicalDeviceDataGraphOperationSupportARM, PhysicalDeviceDataGraphProcessingEngineARM, StructureType, getPhysicalDeviceQueueFamilyDataGraphPropertiesARM

Constructors

QueueFamilyDataGraphPropertiesARM 

Fields

Instances

Instances details
Storable QueueFamilyDataGraphPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show QueueFamilyDataGraphPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct QueueFamilyDataGraphPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct QueueFamilyDataGraphPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero QueueFamilyDataGraphPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM Source #

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

PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM 

Fields

Instances

Instances details
Eq PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data QueueFamilyDataGraphProcessingEnginePropertiesARM Source #

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

QueueFamilyDataGraphProcessingEnginePropertiesARM 

Fields

Instances

Instances details
Eq QueueFamilyDataGraphProcessingEnginePropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable QueueFamilyDataGraphProcessingEnginePropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show QueueFamilyDataGraphProcessingEnginePropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct QueueFamilyDataGraphProcessingEnginePropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct QueueFamilyDataGraphProcessingEnginePropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero QueueFamilyDataGraphProcessingEnginePropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

data DataGraphProcessingEngineCreateInfoARM Source #

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

Valid Usage

Valid Usage (Implicit)

See Also

VK_ARM_data_graph, PhysicalDeviceDataGraphProcessingEngineARM, StructureType

Constructors

DataGraphProcessingEngineCreateInfoARM 

Fields

Instances

Instances details
Eq DataGraphProcessingEngineCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphProcessingEngineCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphProcessingEngineCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

FromCStruct DataGraphProcessingEngineCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

ToCStruct DataGraphProcessingEngineCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphProcessingEngineCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

newtype DataGraphPipelineSessionCreateFlagBitsARM Source #

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

Description

See Also

VK_ARM_data_graph, DataGraphPipelineSessionCreateFlagsARM

Instances

Instances details
Bits DataGraphPipelineSessionCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Methods

(.&.) :: DataGraphPipelineSessionCreateFlagBitsARM -> DataGraphPipelineSessionCreateFlagBitsARM -> DataGraphPipelineSessionCreateFlagBitsARM #

(.|.) :: DataGraphPipelineSessionCreateFlagBitsARM -> DataGraphPipelineSessionCreateFlagBitsARM -> DataGraphPipelineSessionCreateFlagBitsARM #

xor :: DataGraphPipelineSessionCreateFlagBitsARM -> DataGraphPipelineSessionCreateFlagBitsARM -> DataGraphPipelineSessionCreateFlagBitsARM #

complement :: DataGraphPipelineSessionCreateFlagBitsARM -> DataGraphPipelineSessionCreateFlagBitsARM #

shift :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

rotate :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

zeroBits :: DataGraphPipelineSessionCreateFlagBitsARM #

bit :: Int -> DataGraphPipelineSessionCreateFlagBitsARM #

setBit :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

clearBit :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

complementBit :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

testBit :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> Bool #

bitSizeMaybe :: DataGraphPipelineSessionCreateFlagBitsARM -> Maybe Int #

bitSize :: DataGraphPipelineSessionCreateFlagBitsARM -> Int #

isSigned :: DataGraphPipelineSessionCreateFlagBitsARM -> Bool #

shiftL :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

unsafeShiftL :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

shiftR :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

unsafeShiftR :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

rotateL :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

rotateR :: DataGraphPipelineSessionCreateFlagBitsARM -> Int -> DataGraphPipelineSessionCreateFlagBitsARM #

popCount :: DataGraphPipelineSessionCreateFlagBitsARM -> Int #

FiniteBits DataGraphPipelineSessionCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Eq DataGraphPipelineSessionCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Ord DataGraphPipelineSessionCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineSessionCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Read DataGraphPipelineSessionCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineSessionCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineSessionCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

newtype DataGraphPipelineSessionBindPointARM Source #

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

Description

See Also

VK_ARM_data_graph, BindDataGraphPipelineSessionMemoryInfoARM, DataGraphPipelineSessionBindPointRequirementARM, DataGraphPipelineSessionMemoryRequirementsInfoARM

Instances

Instances details
Eq DataGraphPipelineSessionBindPointARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Ord DataGraphPipelineSessionBindPointARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineSessionBindPointARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Read DataGraphPipelineSessionBindPointARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineSessionBindPointARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineSessionBindPointARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

newtype DataGraphPipelineSessionBindPointTypeARM Source #

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

Description

See Also

VK_ARM_data_graph, DataGraphPipelineSessionBindPointRequirementARM

Instances

Instances details
Eq DataGraphPipelineSessionBindPointTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Ord DataGraphPipelineSessionBindPointTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineSessionBindPointTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Read DataGraphPipelineSessionBindPointTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineSessionBindPointTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineSessionBindPointTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

newtype DataGraphPipelinePropertyARM Source #

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

Instances

Instances details
Eq DataGraphPipelinePropertyARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Ord DataGraphPipelinePropertyARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelinePropertyARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Read DataGraphPipelinePropertyARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelinePropertyARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelinePropertyARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

newtype DataGraphPipelineDispatchFlagBitsARM Source #

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

See Also

VK_ARM_data_graph, DataGraphPipelineDispatchFlagsARM

Instances

Instances details
Bits DataGraphPipelineDispatchFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Methods

(.&.) :: DataGraphPipelineDispatchFlagBitsARM -> DataGraphPipelineDispatchFlagBitsARM -> DataGraphPipelineDispatchFlagBitsARM #

(.|.) :: DataGraphPipelineDispatchFlagBitsARM -> DataGraphPipelineDispatchFlagBitsARM -> DataGraphPipelineDispatchFlagBitsARM #

xor :: DataGraphPipelineDispatchFlagBitsARM -> DataGraphPipelineDispatchFlagBitsARM -> DataGraphPipelineDispatchFlagBitsARM #

complement :: DataGraphPipelineDispatchFlagBitsARM -> DataGraphPipelineDispatchFlagBitsARM #

shift :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

rotate :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

zeroBits :: DataGraphPipelineDispatchFlagBitsARM #

bit :: Int -> DataGraphPipelineDispatchFlagBitsARM #

setBit :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

clearBit :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

complementBit :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

testBit :: DataGraphPipelineDispatchFlagBitsARM -> Int -> Bool #

bitSizeMaybe :: DataGraphPipelineDispatchFlagBitsARM -> Maybe Int #

bitSize :: DataGraphPipelineDispatchFlagBitsARM -> Int #

isSigned :: DataGraphPipelineDispatchFlagBitsARM -> Bool #

shiftL :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

unsafeShiftL :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

shiftR :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

unsafeShiftR :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

rotateL :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

rotateR :: DataGraphPipelineDispatchFlagBitsARM -> Int -> DataGraphPipelineDispatchFlagBitsARM #

popCount :: DataGraphPipelineDispatchFlagBitsARM -> Int #

FiniteBits DataGraphPipelineDispatchFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Eq DataGraphPipelineDispatchFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Ord DataGraphPipelineDispatchFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable DataGraphPipelineDispatchFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Read DataGraphPipelineDispatchFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show DataGraphPipelineDispatchFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero DataGraphPipelineDispatchFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

newtype PhysicalDeviceDataGraphProcessingEngineTypeARM Source #

VkPhysicalDeviceDataGraphProcessingEngineTypeARM - Enumeration describing data graph processing engines

Description

See Also

VK_ARM_data_graph, PhysicalDeviceDataGraphProcessingEngineARM, PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM

Instances

Instances details
Eq PhysicalDeviceDataGraphProcessingEngineTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Ord PhysicalDeviceDataGraphProcessingEngineTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable PhysicalDeviceDataGraphProcessingEngineTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Read PhysicalDeviceDataGraphProcessingEngineTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show PhysicalDeviceDataGraphProcessingEngineTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero PhysicalDeviceDataGraphProcessingEngineTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

newtype PhysicalDeviceDataGraphOperationTypeARM Source #

VkPhysicalDeviceDataGraphOperationTypeARM - Enumeration describing data graph operations

Description

See Also

VK_ARM_data_graph, PhysicalDeviceDataGraphOperationSupportARM

Instances

Instances details
Eq PhysicalDeviceDataGraphOperationTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Ord PhysicalDeviceDataGraphOperationTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Storable PhysicalDeviceDataGraphOperationTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Read PhysicalDeviceDataGraphOperationTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Show PhysicalDeviceDataGraphOperationTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

Zero PhysicalDeviceDataGraphOperationTypeARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_data_graph

type ARM_DATA_GRAPH_EXTENSION_NAME = "VK_ARM_data_graph" Source #

newtype DeferredOperationKHR Source #

Instances

Instances details
Eq DeferredOperationKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord DeferredOperationKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable DeferredOperationKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show DeferredOperationKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType DeferredOperationKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle DeferredOperationKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero DeferredOperationKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

newtype DataGraphPipelineSessionARM Source #

Instances

Instances details
Eq DataGraphPipelineSessionARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord DataGraphPipelineSessionARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable DataGraphPipelineSessionARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show DataGraphPipelineSessionARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType DataGraphPipelineSessionARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle DataGraphPipelineSessionARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero DataGraphPipelineSessionARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

newtype TensorUsageFlagBitsARM Source #

VkTensorUsageFlagBitsARM - Bitmask specifying allowed usage of a tensor

Description

See Also

VK_ARM_tensors, TensorUsageFlagsARM

Instances

Instances details
Bits TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FiniteBits TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Eq TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Ord TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Read TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

pattern MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM :: Integral a => a Source #

VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM - Length of a data graph operation name string

See Also

VK_ARM_data_graph