C Specification

The VkDataGraphPipelineOpticalFlowCreateInfoARM structure is defined as:

// Provided by VK_ARM_data_graph_optical_flow
typedef struct VkDataGraphPipelineOpticalFlowCreateInfoARM {
    VkStructureType                              sType;
    void*                                        pNext;
    uint32_t                                     width;
    uint32_t                                     height;
    VkFormat                                     imageFormat;
    VkFormat                                     flowVectorFormat;
    VkFormat                                     costFormat;
    VkDataGraphOpticalFlowGridSizeFlagsARM       outputGridSize;
    VkDataGraphOpticalFlowGridSizeFlagsARM       hintGridSize;
    VkDataGraphOpticalFlowPerformanceLevelARM    performanceLevel;
    VkDataGraphOpticalFlowCreateFlagsARM         flags;
} VkDataGraphPipelineOpticalFlowCreateInfoARM;

Members

  • sType is a VkStructureType value identifying this structure.

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

  • width is the width in pixels of the input or reference image to be bound to this optical flow pipeline.

  • height is the height in pixels of the input or reference image to be bound to this optical flow pipeline.

  • imageFormat is the VkFormat of the input and reference image to be bound to this optical flow pipeline.

  • flowVectorFormat is the VkFormat of the flow vector maps (output or hint) to be bound to this optical flow pipeline.

  • costFormat is the VkFormat of the cost maps to be bound to this optical flow pipeline.

  • outputGridSize is exactly one bit of VkDataGraphOpticalFlowGridSizeFlagsARM specifying the grid size of the output flow and cost maps to be bound to this optical flow pipeline. The size of the output flow and cost maps is a function of the input image dimensions and outputGridSize and is calculated as follows:
    OutputWidth = ⌈ width / OutputGridWidth ⌉
    OutputHeight = ⌈ height / OutputGridHeight ⌉
    where OutputGridWidth and OutputGridHeight are determined by outputGridSize.

  • hintGridSize is one exactly bit of VkDataGraphOpticalFlowGridSizeFlagsARM specifying the grid size of the hint flow vector map to be bound to this optical flow pipeline. The size of the hint maps is a function of the input image dimensions and hintGridSize and is calculated as follows:
    HintWidth = ⌈ width / HintGridWidth ⌉
    HintHeight = ⌈ height / HintGridHeight ⌉
    where HintGridWidth and HintGridHeight are determined by hintGridSize.

  • performanceLevel is the VkDataGraphOpticalFlowPerformanceLevelARM used for this optical flow pipeline.

  • flags are the VkDataGraphOpticalFlowCreateFlagsARM used for this optical flow pipeline.

Description

Valid Usage
Valid Usage (Implicit)
  • VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-sType-sType
    sType must be VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM

  • VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-imageFormat-parameter
    imageFormat must be a valid VkFormat value

  • VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-flowVectorFormat-parameter
    flowVectorFormat must be a valid VkFormat value

  • VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-costFormat-parameter
    If costFormat is not 0, costFormat must be a valid VkFormat value

  • VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-performanceLevel-parameter
    If performanceLevel is not 0, performanceLevel must be a valid VkDataGraphOpticalFlowPerformanceLevelARM value

  • VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-flags-parameter
    flags must be a valid combination of VkDataGraphOpticalFlowCreateFlagBitsARM values

See Also

Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0