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;
or the equivalent
typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure. ThepNext
chain ofVkPhysicalDeviceImageFormatInfo2
is used to provide additional image parameters tovkGetPhysicalDeviceImageFormatProperties2
.format
is a VkFormat value indicating the image format, corresponding to VkImageCreateInfo::format
.type
is a VkImageType value indicating the image type, corresponding to VkImageCreateInfo::imageType
.tiling
is a VkImageTiling value indicating the image tiling, corresponding to VkImageCreateInfo::tiling
.usage
is a bitmask of VkImageUsageFlagBits indicating the intended usage of the image, corresponding to VkImageCreateInfo::usage
.flags
is 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.
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 VkImageCompressionControlEXT, VkImageFormatListCreateInfo, VkImageStencilUsageCreateInfo, VkOpticalFlowImageFormatInfoNV, VkPhysicalDeviceExternalImageFormatInfo, VkPhysicalDeviceImageDrmFormatModifierInfoEXT, VkPhysicalDeviceImageViewImageFormatInfoEXT, or VkVideoProfileListInfoKHR
VUID-VkPhysicalDeviceImageFormatInfo2-sType-unique
The sType
value of each struct 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