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

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_ARM_data_graph_optical_flow

Name

VK_ARM_data_graph_optical_flow - device extension

VK_ARM_data_graph_optical_flow

Name String

VK_ARM_data_graph_optical_flow

Extension Type

Device extension

Registered Extension Number

632

Revision

1

Ratification Status

Not ratified

Extension and Version Dependencies

VK_ARM_data_graph

Contact

Other Extension Metadata

Last Modified Date

2026-04-08

Contributors
  • Contributors to VK_NV_optical_flow

  • Kevin Petit, Arm Ltd.

  • Jan-Harald Fredriksen, Arm Ltd.

  • Steve Suzuki, Arm Ltd.

  • Liam O’Neil, Arm Ltd.

Description

This extension allows applications to estimate the 2D displacement of pixels between two images.

New Commands

New Structures

New Enums

New Bitmasks

New Enum Constants

Version History

  • Revision 1, 2026-04-08 (Kevin Petit)

    • Internal revisions

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.

  • 31 types
  • 2 values
  • Packagevulkan-3.27
  • Exports76
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_ARM_data_graph_optical_flow.hs
valuegetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM
  1. :: MonadIO io
  2. => PhysicalDevice

    physicalDevice is the physical device being queried.

  3. -> "queueFamilyIndex" ::: Word32

    queueFamilyIndex is the index of the queue family being queried.

  4. -> QueueFamilyDataGraphPropertiesARM

    pQueueFamilyDataGraphProperties is a pointer to a QueueFamilyDataGraphPropertiesARM structure that selects the processing engine and operation set for which the properties are queried.

  5. -> DataGraphOpticalFlowImageFormatInfoARM

    pOpticalFlowImageFormatInfo is a pointer to a DataGraphOpticalFlowImageFormatInfoARM structure specifying the optical flow usage for which information is returned.

  6. -> io (Result, "imageFormatProperties" ::: Vector DataGraphOpticalFlowImageFormatPropertiesARM)
#

vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM - Query image formats for data graph optical flow

Description

If pImageFormatProperties is NULL, then the number of optical flow properties supported for the given physicalDevice is returned in pFormatCount. Otherwise, pFormatCount must point to a variable set by the user to the number of elements in the pImageFormatProperties array, and on return the variable is overwritten with the number of values actually written to pImageFormatProperties. If the value of pFormatCount is less than the number of optical flow properties supported, at most pFormatCount values will be written to pImageFormatProperties, and INCOMPLETE will be returned instead of SUCCESS, to indicate that not all the available values were returned. Before creating an image to be used as a optical flow image, obtain the supported image creation parameters by querying with getPhysicalDeviceFormatProperties2 and getPhysicalDeviceImageFormatProperties2 using one of the reported formats and adding DataGraphOpticalFlowImageFormatInfoARM to the pNext chain of PhysicalDeviceImageFormatInfo2. When querying the parameters with getPhysicalDeviceImageFormatProperties2 for images used for optical flow operations, the DataGraphOpticalFlowImageFormatInfoARM::usage field should contain one or more of the bits defined in DataGraphOpticalFlowImageUsageFlagBitsARM.

Valid Usage

  • pQueueFamilyDataGraphProperties must point to a structure whose operation member has its name member equal to OpticalFlow

Valid Usage (Implicit)

Return Codes

Success
Failure

FORMAT_B8G8R8A8_UNORM, FORMAT_R8G8B8A8_UNORM, FORMAT_R8G8B8_UNORM, FORMAT_B8G8R8_UNORM, FORMAT_R8_UNORM, and FORMAT_B10G11R11_UFLOAT_PACK32 are initially supported for images with optical flow usage DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_INPUT_BIT_ARM.

FORMAT_R16G16_SFLOAT is initially supported for images with optical flow usage DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_OUTPUT_BIT_ARM and DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_HINT_BIT_ARM.

FORMAT_R16_UINT is initially supported for images with optical flow usage DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_COST_BIT_ARM.

See Also

VK_ARM_data_graph_optical_flow, DataGraphOpticalFlowImageFormatInfoARM, DataGraphOpticalFlowImageFormatPropertiesARM, PhysicalDevice, QueueFamilyDataGraphPropertiesARM

VkDataGraphPipelineResourceInfoImageLayoutARM - Structure specifying parameters of a graph pipeline image resource

Structure Chaining

Extends the structure

See Also

VK_ARM_data_graph_optical_flow, ImageLayout, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineSingleNodeConnectionARM - Structure describing a single connection between a data graph node and the pipeline layout of a graph pipeline

Valid Usage (Implicit)

See Also

VK_ARM_data_graph_optical_flow, DataGraphPipelineNodeConnectionTypeARM, DataGraphPipelineSingleNodeCreateInfoARM, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM - Structure describing the data graph optical flow features supported by the implementation

Members

This structure describes the following feature: * sType is a StructureType value identifying this structure. * pNext is NULL or a pointer to a structure extending this structure. * dataGraphOpticalFlow indicates whether the implementation supports optical flow graph pipelines.

If the PhysicalDeviceDataGraphOpticalFlowFeaturesARM 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 PhysicalDeviceDataGraphOpticalFlowFeaturesARM, 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_optical_flow, Bool32, StructureType

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkQueueFamilyDataGraphOpticalFlowPropertiesARM - Structure describing optical flow properties of a processing engine and operation set for a specific queue family of a physical device

Valid Usage (Implicit)

See Also

VK_ARM_data_graph_optical_flow, Bool32, DataGraphOpticalFlowGridSizeFlagsARM, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphOpticalFlowImageFormatPropertiesARM - Structure describing properties of an optical flow image format

Valid Usage (Implicit)

See Also

VK_ARM_data_graph_optical_flow, Format, StructureType, getPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineSingleNodeCreateInfoARM - Structure specifying parameters of a newly-created single fixed-function node graph pipeline

Valid Usage

Valid Usage (Implicit)

Structure Chaining

Extends the structure

See Also

VK_ARM_data_graph_optical_flow, DataGraphPipelineNodeTypeARM, DataGraphPipelineSingleNodeConnectionARM, StructureType

Constructors

Instances4Show, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineOpticalFlowCreateInfoARM - Structure specifying the parameters of a newly-created optical flow graph pipeline

Valid Usage

Valid Usage (Implicit)

Structure Chaining

Extends the structure

See Also

VK_ARM_data_graph_optical_flow, DataGraphOpticalFlowCreateFlagsARM, DataGraphOpticalFlowGridSizeFlagsARM, DataGraphOpticalFlowPerformanceLevelARM, Format, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphPipelineOpticalFlowDispatchInfoARM - Structure specifying parameters of a optical flow vector calculation

Structure Chaining

Extends the structure

See Also

VK_ARM_data_graph_optical_flow, DataGraphOpticalFlowExecuteFlagsARM, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkDataGraphOpticalFlowGridSizeFlagBitsARM - Bits specifying grid sizes for optical flow operations

Description

See Also

VK_ARM_data_graph_optical_flow, DataGraphOpticalFlowGridSizeFlagsARM

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

VkDataGraphOpticalFlowImageUsageFlagBitsARM - Bits specifying image usage for optical flow operations

Description

See Also

VK_ARM_data_graph_optical_flow, DataGraphOpticalFlowImageUsageFlagsARM

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

VkDataGraphOpticalFlowPerformanceLevelARM - Optical flow performance level types

Description

See Also

VK_ARM_data_graph_optical_flow, DataGraphPipelineOpticalFlowCreateInfoARM

Instances6Eq, Ord, Read, Show, Storable, Zero

VkDataGraphPipelineNodeConnectionTypeARM - Connection points for a fixed-function data graph node

Description

See Also

VK_ARM_data_graph_optical_flow, DataGraphPipelineSingleNodeConnectionARM

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

VkDataGraphPipelineNodeTypeARM - Enumeration describing the type of a data graph pipeline node

Description

See Also

VK_ARM_data_graph_optical_flow, DataGraphPipelineSingleNodeCreateInfoARM

Instances6Eq, Ord, Read, Show, Storable, Zero

VkDataGraphOpticalFlowCreateFlagBitsARM - Bits specifying flags for newly created optical flow data graph node

Description

See Also

VK_ARM_data_graph_optical_flow, DataGraphOpticalFlowCreateFlagsARM

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

VkDataGraphOpticalFlowExecuteFlagBitsARM - Bits specifying flags for a optical flow vector calculation

Description

  • DATA_GRAPH_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_ARM specifies that temporal hints from previously generated flow vector map are not used. If temporal hints are enabled, the optical flow vector map from previous cmdDispatchDataGraphARM calls in the same graph pipeline session may be automatically used as hints for the current cmdDispatchDataGraphARM call, to take advantage of temporal correlation in a video sequence. Temporal hints should be disabled if there is a-priori knowledge of no temporal correlation (e.g. a scene change, independent successive image pairs).

See Also

VK_ARM_data_graph_optical_flow, DataGraphOpticalFlowExecuteFlagsARM

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

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

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

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