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;
pub struct DisplaySurfaceCreateInfoKHR {
s_type: vk::StructureType,
p_next: *const c_void,
flags: vk::DisplaySurfaceCreateFlagsKHR,
display_mode: vk::DisplayModeKHR, // The mode to use when displaying this surface
plane_index: u32, // The plane on which this surface appears. Must be between 0 and the value returned by vkGetPhysicalDeviceDisplayPlanePropertiesKHR() in pPropertyCount.
plane_stack_index: u32, // The z-order of the plane.
transform: vk::SurfaceTransformFlagBitsKHR, // Transform to apply to the images as part of the scanout operation
global_alpha: f32, // Global alpha value. Must be between 0 and 1, inclusive. Ignored if alphaMode is not VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR
alpha_mode: vk::DisplayPlaneAlphaFlagBitsKHR, // The type of alpha blending to use. Must be one of the bits from VkDisplayPlaneCapabilitiesKHR::supportedAlpha for this display plane
image_extent: vk::Extent2D, // size of the images to use with this surface
}
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.
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