vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM
To enumerate the supported image formats for a specific data graph optical flow usage, call:
VkResult vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
const VkQueueFamilyDataGraphPropertiesARM* pQueueFamilyDataGraphProperties,
const VkDataGraphOpticalFlowImageFormatInfoARM* pOpticalFlowImageFormatInfo,
uint32_t* pFormatCount,
VkDataGraphOpticalFlowImageFormatPropertiesARM* pImageFormatProperties);
pub fn get_physical_device_queue_family_data_graph_optical_flow_image_formats_arm(
physical_device: vk::PhysicalDevice,
queue_family_index: u32,
p_queue_family_data_graph_properties: *const vk::QueueFamilyDataGraphPropertiesARM,
p_optical_flow_image_format_info: *const vk::DataGraphOpticalFlowImageFormatInfoARM,
p_format_count: *mut u32,
p_image_format_properties: *mut vk::DataGraphOpticalFlowImageFormatPropertiesARM,
) -> vk::Result;
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.
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.
Valid Usage
VUID-vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM-pQueueFamilyDataGraphProperties-09965
pQueueFamilyDataGraphProperties must point to a structure whose
operation member has its name member equal to OpticalFlow
Valid Usage (Implicit)
VUID-vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM-physicalDevice-parameter
physicalDevice must be a valid VkPhysicalDevice handle
VUID-vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM-pQueueFamilyDataGraphProperties-parameter
pQueueFamilyDataGraphProperties must be a valid pointer to a valid VkQueueFamilyDataGraphPropertiesARM structure
VUID-vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM-pOpticalFlowImageFormatInfo-parameter
pOpticalFlowImageFormatInfo must be a valid pointer to a valid VkDataGraphOpticalFlowImageFormatInfoARM structure
VUID-vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM-pFormatCount-parameter
pFormatCount must be a valid pointer to a uint32_t value
VUID-vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM-pImageFormatProperties-parameter
If the value referenced by pFormatCount is not 0, and pImageFormatProperties is not NULL, pImageFormatProperties must be a valid pointer to an array of pFormatCount VkDataGraphOpticalFlowImageFormatPropertiesARM structures
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
usageVK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_INPUT_BIT_ARM.VK_FORMAT_R16G16_SFLOAT is initially supported for images with
optical flow usageVK_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 usageVK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_COST_BIT_ARM.