C Specification

The VkDisplayPropertiesKHR structure is defined as:

// Provided by VK_KHR_display
typedef struct VkDisplayPropertiesKHR {
VkDisplayKHR                  display;
const char*                   displayName;
VkExtent2D                    physicalDimensions;
VkExtent2D                    physicalResolution;
VkSurfaceTransformFlagsKHR    supportedTransforms;
VkBool32                      planeReorderPossible;
VkBool32                      persistentContent;
} VkDisplayPropertiesKHR;

Members

• display is a handle that is used to refer to the display described here. This handle will be valid for the lifetime of the Vulkan instance.

• displayName is a pointer to a null-terminated UTF-8 string containing the name of the display. Generally, this will be the name provided by the display’s EDID. It can be NULL if no suitable name is available. If not NULL, the memory it points to must remain accessible as long as display is valid.

• physicalDimensions describes the physical width and height of the visible portion of the display, in millimeters.

• physicalResolution describes the physical, native, or preferred resolution of the display.

Description

 Note For devices which have no natural value to return here, implementations should return the maximum resolution supported.
• supportedTransforms is a bitmask of VkSurfaceTransformFlagBitsKHR describing which transforms are supported by this display.

• planeReorderPossible tells whether the planes on this display can have their z order changed. If this is VK_TRUE, the application can re-arrange the planes on this display in any order relative to each other.

• persistentContent tells whether the display supports self-refresh/internal buffering. If this is true, the application can submit persistent present operations on swapchains created against this display.

 Note Persistent presents may have higher latency, and may use less power when the screen content is updated infrequently, or when only a portion of the screen needs to be updated in most frames.