VkOpticalFlowSessionCreateInfoNV
The VkOpticalFlowSessionCreateInfoNV structure is defined as:
typedef struct VkOpticalFlowSessionCreateInfoNV {
VkStructureType sType;
void* pNext;
uint32_t width;
uint32_t height;
VkFormat imageFormat;
VkFormat flowVectorFormat;
VkFormat costFormat;
VkOpticalFlowGridSizeFlagsNV outputGridSize;
VkOpticalFlowGridSizeFlagsNV hintGridSize;
VkOpticalFlowPerformanceLevelNV performanceLevel;
VkOpticalFlowSessionCreateFlagsNV flags;
} VkOpticalFlowSessionCreateInfoNV;
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 frame to be bound to this optical flow session.heightis the height in pixels of the input or reference frame to be bound to this optical flow session.imageFormatis the VkFormat of the input and reference frame to be bound to this optical flow session.flowVectorFormatis the VkFormat of the flow vector maps (output or hint) to be bound to this optical flow session.costFormatis the VkFormat of the cost maps to be bound to this optical flow session.outputGridSizeis exactly one bit of VkOpticalFlowGridSizeFlagsNV specifying the grid size of the output flow and cost maps to be bound to this optical flow session. The size of the output flow and cost maps is determined byVkOpticalFlowSessionCreateInfoNV::widthandVkOpticalFlowSessionCreateInfoNV::heightdivided byVkOpticalFlowSessionCreateInfoNV::outputGridSize.hintGridSizeis one exactly bit of VkOpticalFlowGridSizeFlagsNV specifying the grid size of the hint flow vector maps to be bound to this optical flow session. The size of the hint maps is determined byVkOpticalFlowSessionCreateInfoNV::widthandVkOpticalFlowSessionCreateInfoNV::heightdivided byVkOpticalFlowSessionCreateInfoNV::hintGridSize.performanceLevelis the VkOpticalFlowPerformanceLevelNV used for this optical flow session.flagsare the VkOpticalFlowSessionCreateFlagsNV used for this optical flow session.
Valid Usage
VUID-VkOpticalFlowSessionCreateInfoNV-width-07581
width must be greater than or equal to
VkPhysicalDeviceOpticalFlowPropertiesNV::minWidth and less
than or equal to
VkPhysicalDeviceOpticalFlowPropertiesNV::maxWidth
VUID-VkOpticalFlowSessionCreateInfoNV-height-07582
height must be greater than or equal to
VkPhysicalDeviceOpticalFlowPropertiesNV::minHeight and less
than or equal to
VkPhysicalDeviceOpticalFlowPropertiesNV::maxHeight
VUID-VkOpticalFlowSessionCreateInfoNV-imageFormat-07583
imageFormat must be one of the formats returned by
vkGetPhysicalDeviceOpticalFlowImageFormatsNV for
VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV
VUID-VkOpticalFlowSessionCreateInfoNV-flowVectorFormat-07584
flowVectorFormat must be one of the formats returned by
vkGetPhysicalDeviceOpticalFlowImageFormatsNV for
VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV
VUID-VkOpticalFlowSessionCreateInfoNV-costFormat-07585
costFormat must be one of the formats returned by
vkGetPhysicalDeviceOpticalFlowImageFormatsNV for
VK_OPTICAL_FLOW_USAGE_COST_BIT_NV if
VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV is set in
flags
VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-07586
outputGridSize must be exactly one of the bits reported in
VkPhysicalDeviceOpticalFlowPropertiesNV::supportedOutputGridSizes
VUID-VkOpticalFlowSessionCreateInfoNV-hintGridSize-07587
hintGridSize must be exactly one of the bits reported in
VkPhysicalDeviceOpticalFlowPropertiesNV::supportedHintGridSizes
if VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV is set in
flags
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07588
VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV must not be set
in flags if
VkPhysicalDeviceOpticalFlowPropertiesNV::hintSupported is
VK_FALSE
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07589
VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV must not be set
in flags if
VkPhysicalDeviceOpticalFlowPropertiesNV::costSupported is
VK_FALSE
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07590
VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV must not
be set in flags if
VkPhysicalDeviceOpticalFlowPropertiesNV::globalFlowSupported
is VK_FALSE
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07591
VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV must not be
set in flags if
VkPhysicalDeviceOpticalFlowPropertiesNV::maxNumRegionsOfInterest
is 0
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07592
VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV must not be
set in flags if
VkPhysicalDeviceOpticalFlowPropertiesNV::bidirectionalFlowSupported
is VK_FALSE
Valid Usage (Implicit)
VUID-VkOpticalFlowSessionCreateInfoNV-sType-sType
sType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV
VUID-VkOpticalFlowSessionCreateInfoNV-pNext-pNext
pNext must be NULL or a pointer to a valid instance of VkOpticalFlowSessionCreatePrivateDataInfoNV
VUID-VkOpticalFlowSessionCreateInfoNV-sType-unique
The sType value of each structure in the pNext chain must be unique
VUID-VkOpticalFlowSessionCreateInfoNV-imageFormat-parameter
imageFormat must be a valid VkFormat value
VUID-VkOpticalFlowSessionCreateInfoNV-flowVectorFormat-parameter
flowVectorFormat must be a valid VkFormat value
VUID-VkOpticalFlowSessionCreateInfoNV-costFormat-parameter
If costFormat is not 0, costFormat must be a valid VkFormat value
VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-parameter
outputGridSize must be a valid combination of VkOpticalFlowGridSizeFlagBitsNV values
VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-requiredbitmask
outputGridSize must not be 0
VUID-VkOpticalFlowSessionCreateInfoNV-hintGridSize-parameter
hintGridSize must be a valid combination of VkOpticalFlowGridSizeFlagBitsNV values
VUID-VkOpticalFlowSessionCreateInfoNV-performanceLevel-parameter
If performanceLevel is not 0, performanceLevel must be a valid VkOpticalFlowPerformanceLevelNV value
VUID-VkOpticalFlowSessionCreateInfoNV-flags-parameter
flags must be a valid combination of VkOpticalFlowSessionCreateFlagBitsNV values