VkDisplaySurfaceCreateInfoKHR
The VkDisplaySurfaceCreateInfoKHR structure is defined as:
typedef struct VkDisplaySurfaceCreateInfoKHR {
VkStructureType sType;
const void* pNext;
VkDisplaySurfaceCreateFlagsKHR flags;
VkDisplayModeKHR displayMode;
uint32_t planeIndex;
uint32_t planeStackIndex;
VkSurfaceTransformFlagBitsKHR transform;
float globalAlpha;
VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
VkExtent2D imageExtent;
} VkDisplaySurfaceCreateInfoKHR;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.flagsis reserved for future use, and must be zero.displayModeis a VkDisplayModeKHR handle specifying the mode to use when displaying this surface.planeIndexis the plane on which this surface appears.planeStackIndexis the z-order of the plane.transformis a VkSurfaceTransformFlagBitsKHR value specifying the transformation to apply to images as part of the scanout operation.globalAlphais the global alpha value. This value is ignored ifalphaModeis notVK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR.alphaModeis a VkDisplayPlaneAlphaFlagBitsKHR value specifying the type of alpha blending to use.imageExtentis the size of the presentable images to use with the surface.
Creating a display surface must not modify the state of the displays, planes, or other resources it names. For example, it must not apply the specified mode to be set on the associated display. Application of display configuration occurs as a side effect of presenting to a display surface.
Valid Usage
VUID-VkDisplaySurfaceCreateInfoKHR-planeIndex-01252
planeIndex must be less than the number of display planes
supported by the device as determined by calling
vkGetPhysicalDeviceDisplayPlanePropertiesKHR
VUID-VkDisplaySurfaceCreateInfoKHR-planeReorderPossible-01253
If the planeReorderPossible member of the
VkDisplayPropertiesKHR structure returned by
vkGetPhysicalDeviceDisplayPropertiesKHR for the display
corresponding to displayMode is VK_TRUE then
planeStackIndex must be less than the number of display planes
supported by the device as determined by calling
vkGetPhysicalDeviceDisplayPlanePropertiesKHR; otherwise
planeStackIndex must equal the currentStackIndex member of
VkDisplayPlanePropertiesKHR returned by
vkGetPhysicalDeviceDisplayPlanePropertiesKHR for the display plane
corresponding to displayMode
VUID-VkDisplaySurfaceCreateInfoKHR-alphaMode-01254
If alphaMode is VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR then
globalAlpha must be between 0 and 1, inclusive
VUID-VkDisplaySurfaceCreateInfoKHR-alphaMode-01255
alphaMode must be one of the bits present in the
supportedAlpha member of VkDisplayPlaneCapabilitiesKHR for
the display plane corresponding to displayMode
VUID-VkDisplaySurfaceCreateInfoKHR-transform-06740
transform must be one of the bits present in the
supportedTransforms member of VkDisplayPropertiesKHR for the
display corresponding to displayMode
VUID-VkDisplaySurfaceCreateInfoKHR-width-01256
The width and height members of imageExtent must be
less than or equal to
VkPhysicalDeviceLimits::maxImageDimension2D
VUID-VkDisplaySurfaceCreateInfoKHR-pNext-10284
If the pNext chain includes a
VkDisplaySurfaceStereoCreateInfoNV structure whose
stereoType member is
VK_DISPLAY_SURFACE_STEREO_TYPE_HDMI_3D_NV, then the
hdmi3DSupported member of the
VkDisplayModeStereoPropertiesNV structure in the pNext chain
of the VkDisplayModeProperties2KHR structure returned by
vkGetDisplayModeProperties2KHR for the display mode corresponding
to displayMode must be VK_TRUE
Valid Usage (Implicit)
VUID-VkDisplaySurfaceCreateInfoKHR-sType-sType
sType must be VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR
VUID-VkDisplaySurfaceCreateInfoKHR-pNext-pNext
pNext must be NULL or a pointer to a valid instance of VkDisplaySurfaceStereoCreateInfoNV
VUID-VkDisplaySurfaceCreateInfoKHR-sType-unique
The sType value of each structure in the pNext chain must be unique
VUID-VkDisplaySurfaceCreateInfoKHR-flags-zerobitmask
flags must be 0
VUID-VkDisplaySurfaceCreateInfoKHR-displayMode-parameter
displayMode must be a valid VkDisplayModeKHR handle
VUID-VkDisplaySurfaceCreateInfoKHR-transform-parameter
transform must be a valid VkSurfaceTransformFlagBitsKHR value
VUID-VkDisplaySurfaceCreateInfoKHR-alphaMode-parameter
alphaMode must be a valid VkDisplayPlaneAlphaFlagBitsKHR value