getPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM :: MonadIO io=> PhysicalDevicephysicalDeviceis the physical device being queried.->"queueFamilyIndex"
::: Word32queueFamilyIndexis the index of the queue family being queried.-> QueueFamilyDataGraphPropertiesARMpQueueFamilyDataGraphPropertiesis a pointer to a QueueFamilyDataGraphPropertiesARM structure that selects the processing engine and operation set for which the properties are queried.-> DataGraphOpticalFlowImageFormatInfoARMpOpticalFlowImageFormatInfois a pointer to a DataGraphOpticalFlowImageFormatInfoARM structure specifying the optical flow usage for which information is returned.-> 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
pQueueFamilyDataGraphPropertiesmust point to a structure whoseoperationmember has itsnamemember equal toOpticalFlow
Valid Usage (Implicit)
physicalDevicemust be a valid PhysicalDevice handle
pQueueFamilyDataGraphPropertiesmust be a valid pointer to a valid QueueFamilyDataGraphPropertiesARM structurepOpticalFlowImageFormatInfomust be a valid pointer to a valid DataGraphOpticalFlowImageFormatInfoARM structurepFormatCountmust be a valid pointer to auint32_tvalueIf the value referenced by
pFormatCountis not0, andpImageFormatPropertiesis notNULL,pImageFormatPropertiesmust be a valid pointer to an array ofpFormatCountDataGraphOpticalFlowImageFormatPropertiesARM structures
Return Codes
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