C Specification
To enumerate the supported image formats for a specific data graph optical flow usage, call:
// Provided by VK_ARM_data_graph_optical_flow
VkResult vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
const VkQueueFamilyDataGraphPropertiesARM* pQueueFamilyDataGraphProperties,
const VkDataGraphOpticalFlowImageFormatInfoARM* pOpticalFlowImageFormatInfo,
uint32_t* pFormatCount,
VkDataGraphOpticalFlowImageFormatPropertiesARM* pImageFormatProperties);
Parameters
-
physicalDeviceis the physical device being queried. -
queueFamilyIndexis the index of the queue family being queried. -
pQueueFamilyDataGraphPropertiesis a pointer to a VkQueueFamilyDataGraphPropertiesARM structure that selects the processing engine and operation set for which the properties are queried. -
pOpticalFlowImageFormatInfois a pointer to a VkDataGraphOpticalFlowImageFormatInfoARM structure specifying the optical flow usage for which information is returned. -
pFormatCountis a pointer to an integer related to the number of optical flow properties available or queried, as described below. -
pImageFormatPropertiesis a pointer to an array of VkDataGraphOpticalFlowImageFormatPropertiesARM structures in which supported formats and image parameters are returned.
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 VK_INCOMPLETE will be returned
instead of VK_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
vkGetPhysicalDeviceFormatProperties2 and
vkGetPhysicalDeviceImageFormatProperties2 using one of the reported
formats and adding VkDataGraphOpticalFlowImageFormatInfoARM to the
pNext chain of VkPhysicalDeviceImageFormatInfo2.
When querying the parameters with
vkGetPhysicalDeviceImageFormatProperties2 for images used for optical
flow operations, the
VkDataGraphOpticalFlowImageFormatInfoARM::usage field should
contain one or more of the bits defined in
VkDataGraphOpticalFlowImageUsageFlagBitsARM.
|
Note
|
VK_FORMAT_B8G8R8A8_UNORM, VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_R8G8B8_UNORM, VK_FORMAT_B8G8R8_UNORM, VK_FORMAT_R8_UNORM, and VK_FORMAT_B10G11R11_UFLOAT_PACK32 are initially supported for images with optical flow usage VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_INPUT_BIT_ARM. VK_FORMAT_R16G16_SFLOAT is initially supported for images with optical flow usage VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_OUTPUT_BIT_ARM and VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_HINT_BIT_ARM. VK_FORMAT_R16_UINT is initially supported for images with optical flow usage VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_COST_BIT_ARM. |
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.