Structures

VkSurfacePresentScalingCapabilitiesEXT

Structure describing the presentation scaling capabilities of the surface

The VkSurfacePresentScalingCapabilitiesEXT structure is defined as:

typedef struct VkSurfacePresentScalingCapabilitiesEXT {
    VkStructureType sType;
    void* pNext;
    VkPresentScalingFlagsEXT supportedPresentScaling;
    VkPresentGravityFlagsEXT supportedPresentGravityX;
    VkPresentGravityFlagsEXT supportedPresentGravityY;
    VkExtent2D minScaledImageExtent;
    VkExtent2D maxScaledImageExtent;
} VkSurfacePresentScalingCapabilitiesEXT;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • supportedPresentScaling is a bitmask of VkPresentScalingFlagBitsEXT representing the scaling methods supported by the surface, or 0 if application-defined scaling is not supported.
  • supportedPresentGravityX is a bitmask of VkPresentGravityFlagBitsEXT representing the X-axis pixel gravity supported by the surface, or 0 if Vulkan-defined pixel gravity is not supported for the X axis.
  • supportedPresentGravityY is a bitmask of VkPresentGravityFlagBitsEXT representing the Y-axis pixel gravity supported by the surface, or 0 if Vulkan-defined pixel gravity is not supported for the Y axis.
  • minScaledImageExtent contains the smallest valid swapchain extent for the surface on the specified device when one of the scaling methods specified in supportedPresentScaling is used, or the special value (0xFFFFFFFF, 0xFFFFFFFF) indicating that the surface size will be determined by the extent of a swapchain targeting the surface. The width and height of the extent will each be smaller than or equal to the corresponding width and height of VkSurfaceCapabilitiesKHR::minImageExtent.
  • maxScaledImageExtent contains the largest valid swapchain extent for the surface on the specified device when one of the scaling methods specified in supportedPresentScaling is used, or the special value described above for minScaledImageExtent. The width and height of the extent will each be greater than or equal to the corresponding width and height of VkSurfaceCapabilitiesKHR::maxImageExtent.

Before creating a swapchain whose scaling mode can be specified through the use of VkSwapchainPresentScalingCreateInfoEXT, obtain the set of supported scaling modes by including a VkSurfacePresentModeEXT structure in the pNext chain of VkPhysicalDeviceSurfaceInfo2KHR when calling vkGetPhysicalDeviceSurfaceCapabilities2KHR. The implementation must return the same values in VkSurfacePresentScalingCapabilitiesEXT for any of the compatible present modes as obtained through VkSurfacePresentModeCompatibilityEXT.

Valid Usage (Implicit)

VUID-VkSurfacePresentScalingCapabilitiesEXT-sType-sType

sType must be VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT