C Specification

If the pNext list of VkImageCreateInfo includes a VkImageFormatListCreateInfoKHR structure, then that structure contains a list of all formats that can be used when creating views of this image.

The VkImageFormatListCreateInfoKHR structure is defined as:

typedef struct VkImageFormatListCreateInfoKHR {
    VkStructureType    sType;
    const void*        pNext;
    uint32_t           viewFormatCount;
    const VkFormat*    pViewFormats;
} VkImageFormatListCreateInfoKHR;


  • sType is the type of this structure.

  • pNext is NULL or a pointer to an extension-specific structure.

  • viewFormatCount is the number of entries in the pViewFormats array.

  • pViewFormats is an array which lists of all formats which can be used when creating views of this image.


If viewFormatCount is zero, pViewFormats is ignored and the image is created as if the VkImageFormatListCreateInfoKHR structure were not included in the pNext list of VkImageCreateInfo.

Valid Usage
  • If viewFormatCount is not 0, all of the formats in the pViewFormats array must be compatible with the format specified in the format field of VkImageCreateInfo, as described in the compatibility table.

  • If VkImageCreateInfo::flags does not contain VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, viewFormatCount must be 0 or 1.

  • If viewFormatCount is not 0, VkImageCreateInfo::format must be in pViewFormats.

Valid Usage (Implicit)

  • If viewFormatCount is not 0, pViewFormats must be a valid pointer to an array of viewFormatCount valid VkFormat values

See Also

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.

Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.