VkPhysicalDeviceImageFormatInfo2
The VkPhysicalDeviceImageFormatInfo2 structure is defined as:
typedef struct VkPhysicalDeviceImageFormatInfo2 {
VkStructureType sType;
const void* pNext;
VkFormat format;
VkImageType type;
VkImageTiling tiling;
VkImageUsageFlags usage;
VkImageCreateFlags flags;
} VkPhysicalDeviceImageFormatInfo2;
pub struct PhysicalDeviceImageFormatInfo2 {
s_type: vk::StructureType,
p_next: *const c_void,
format: vk::Format,
type: vk::ImageType,
tiling: vk::ImageTiling,
usage: vk::ImageUsageFlags,
flags: vk::ImageCreateFlags,
}
typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
type PhysicalDeviceImageFormatInfo2KHR = vk::PhysicalDeviceImageFormatInfo2;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure. ThepNextchain ofVkPhysicalDeviceImageFormatInfo2is used to provide additional image parameters tovkGetPhysicalDeviceImageFormatProperties2.formatis a VkFormat value indicating the image format, corresponding to VkImageCreateInfo::format.typeis a VkImageType value indicating the image type, corresponding to VkImageCreateInfo::imageType.tilingis a VkImageTiling value indicating the image tiling, corresponding to VkImageCreateInfo::tiling.usageis a bitmask of VkImageUsageFlagBits indicating the intended usage of the image, corresponding to VkImageCreateInfo::usage.flagsis a bitmask of VkImageCreateFlagBits indicating additional parameters of the image, corresponding to VkImageCreateInfo::flags.
The members of VkPhysicalDeviceImageFormatInfo2 correspond to the
arguments to vkGetPhysicalDeviceImageFormatProperties, with
sType and pNext added for extensibility.
Only create flags representable in VkImageCreateFlagBits are returned
in flags.
If the pNext chain includes a VkImageCreateFlags2CreateInfoKHR
structure, all create flags are returned in
VkImageCreateFlags2CreateInfoKHR::flags.
Only usage flags representable in VkImageUsageFlagBits are returned in
usage.
If the pNext chain includes a VkImageUsageFlags2CreateInfoKHR
structure, all usage flags are returned in
VkImageUsageFlags2CreateInfoKHR::usage.
Valid Usage
VUID-VkPhysicalDeviceImageFormatInfo2-tiling-02249
tiling must be VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT if
and only if the pNext chain includes
VkPhysicalDeviceImageDrmFormatModifierInfoEXT
VUID-VkPhysicalDeviceImageFormatInfo2-tiling-02313
If tiling is VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT and
flags contains VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, then the
pNext chain must include a VkImageFormatListCreateInfo
structure with non-zero viewFormatCount
Valid Usage (Implicit)
VUID-VkPhysicalDeviceImageFormatInfo2-sType-sType
sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2
VUID-VkPhysicalDeviceImageFormatInfo2-pNext-pNext
Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDataGraphOpticalFlowImageFormatInfoARM, VkImageCompressionControlEXT, VkImageCreateFlags2CreateInfoKHR, VkImageFormatListCreateInfo, VkImageStencilUsage2CreateInfoKHR, VkImageStencilUsageCreateInfo, VkImageUsageFlags2CreateInfoKHR, VkOpticalFlowImageFormatInfoNV, VkPhysicalDeviceExternalImageFormatInfo, VkPhysicalDeviceImageDrmFormatModifierInfoEXT, VkPhysicalDeviceImageViewImageFormatInfoEXT, or VkVideoProfileListInfoKHR
VUID-VkPhysicalDeviceImageFormatInfo2-sType-unique
The sType value of each structure in the pNext chain must be unique
VUID-VkPhysicalDeviceImageFormatInfo2-format-parameter
format must be a valid VkFormat value
VUID-VkPhysicalDeviceImageFormatInfo2-type-parameter
type must be a valid VkImageType value
VUID-VkPhysicalDeviceImageFormatInfo2-tiling-parameter
tiling must be a valid VkImageTiling value
VUID-VkPhysicalDeviceImageFormatInfo2-usage-parameter
usage must be a valid combination of VkImageUsageFlagBits values
VUID-VkPhysicalDeviceImageFormatInfo2-usage-requiredbitmask
usage must not be 0
VUID-VkPhysicalDeviceImageFormatInfo2-flags-parameter
flags must be a valid combination of VkImageCreateFlagBits values