Structures

VkDrmFormatModifierPropertiesList2EXT

Structure specifying the list of DRM format modifiers supported for a format

The list of Linux DRM format modifiers compatible with a VkFormat can be obtained by adding a VkDrmFormatModifierPropertiesList2EXT structure to the pNext chain of VkFormatProperties2.

The VkDrmFormatModifierPropertiesList2EXT structure is defined as:

typedef struct VkDrmFormatModifierPropertiesList2EXT {
    VkStructureType sType;
    void* pNext;
    uint32_t drmFormatModifierCount;
    VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties;
} VkDrmFormatModifierPropertiesList2EXT;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • drmFormatModifierCount is an inout parameter related to the number of modifiers compatible with the format, as described below.
  • pDrmFormatModifierProperties is either NULL or a pointer to an array of VkDrmFormatModifierProperties2EXT structures.

If pDrmFormatModifierProperties is NULL, the number of modifiers compatible with the queried format is returned in drmFormatModifierCount. Otherwise, the application must set drmFormatModifierCount to the length of the array pDrmFormatModifierProperties; the function will write at most drmFormatModifierCount elements to the array, and will return in drmFormatModifierCount the number of elements written.

Among the elements in array pDrmFormatModifierProperties, each returned drmFormatModifier must be unique.

Among the elements in array pDrmFormatModifierProperties, the bits reported in drmFormatModifierTilingFeatures must include the bits reported in the corresponding element of VkDrmFormatModifierPropertiesListEXT::pDrmFormatModifierProperties.

Valid Usage (Implicit)

VUID-VkDrmFormatModifierPropertiesList2EXT-sType-sType

sType must be VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT