VkDataGraphPipelineOpticalFlowCreateInfoARM
The VkDataGraphPipelineOpticalFlowCreateInfoARM structure is defined
as:
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;
pub struct DataGraphPipelineOpticalFlowCreateInfoARM {
s_type: vk::StructureType,
p_next: *mut c_void,
width: u32,
height: u32,
image_format: vk::Format,
flow_vector_format: vk::Format,
cost_format: vk::Format,
output_grid_size: vk::DataGraphOpticalFlowGridSizeFlagsARM,
hint_grid_size: vk::DataGraphOpticalFlowGridSizeFlagsARM,
performance_level: vk::DataGraphOpticalFlowPerformanceLevelARM,
flags: vk::DataGraphOpticalFlowCreateFlagsARM,
}
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.widthis the width in pixels of the input or reference image to be bound to this optical flow pipeline.heightis the height in pixels of the input or reference image to be bound to this optical flow pipeline.imageFormatis the VkFormat of the input and reference image to be bound to this optical flow pipeline.flowVectorFormatis the VkFormat of the flow vector maps (output or hint) to be bound to this optical flow pipeline.costFormatis the VkFormat of the cost maps to be bound to this optical flow pipeline.outputGridSizeis 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 andoutputGridSizeand is calculated as follows:\
OutputWidth = ⌈width/ OutputGridWidth ⌉\
OutputHeight = ⌈height/ OutputGridHeight ⌉\
where OutputGridWidth and OutputGridHeight are determined byoutputGridSize.hintGridSizeis 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 andhintGridSizeand is calculated as follows:\
HintWidth = ⌈width/ HintGridWidth ⌉\
HintHeight = ⌈height/ HintGridHeight ⌉\
where HintGridWidth and HintGridHeight are determined byhintGridSize.performanceLevelis the VkDataGraphOpticalFlowPerformanceLevelARM used for this optical flow pipeline.flagsare the VkDataGraphOpticalFlowCreateFlagsARM used for this optical flow pipeline.
Valid Usage
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-width-09966
width must be greater than or equal to
VkQueueFamilyDataGraphOpticalFlowPropertiesARM::minWidth and
less than or equal to
VkQueueFamilyDataGraphOpticalFlowPropertiesARM::maxWidth
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-height-09967
height must be greater than or equal to
VkQueueFamilyDataGraphOpticalFlowPropertiesARM::minHeight
and less than or equal to
VkQueueFamilyDataGraphOpticalFlowPropertiesARM::maxHeight
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-imageFormat-09968
imageFormat must be one of the formats returned by
vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM
for VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_INPUT_BIT_ARM
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-flowVectorFormat-09969
flowVectorFormat must be one of the formats returned by
vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM
for VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_OUTPUT_BIT_ARM
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-costFormat-09970
costFormat must be one of the formats returned by
vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM
for VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_COST_BIT_ARM if
VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_ENABLE_COST_BIT_ARM is set in
flags
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-outputGridSize-09971
outputGridSize must be exactly one of the bits reported in
VkQueueFamilyDataGraphOpticalFlowPropertiesARM::supportedOutputGridSizes
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-hintGridSize-09972
hintGridSize must be 0 or exactly one of the bits reported in
VkQueueFamilyDataGraphOpticalFlowPropertiesARM::supportedHintGridSizes
if VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_ENABLE_HINT_BIT_ARM is set in
flags
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-hintGridSize-09973
hintGridSize must be the same as outputGridSize if
hintGridSize is not 0
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-flags-09974
VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_ENABLE_HINT_BIT_ARM must not be
set in flags if
VkQueueFamilyDataGraphOpticalFlowPropertiesARM::hintSupported
is VK_FALSE
VUID-VkDataGraphPipelineOpticalFlowCreateInfoARM-flags-09975
VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_ENABLE_COST_BIT_ARM must not be
set in flags if
VkQueueFamilyDataGraphOpticalFlowPropertiesARM::costSupported
is VK_FALSE
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