VkSurfacePresentScalingCapabilitiesKHR(3)

Name

VkSurfacePresentScalingCapabilitiesKHR - Structure describing the presentation scaling capabilities of the surface

C Specification

The VkSurfacePresentScalingCapabilitiesKHR structure is defined as:

// Provided by VK_KHR_surface_maintenance1
typedef struct VkSurfacePresentScalingCapabilitiesKHR {
    VkStructureType             sType;
    void*                       pNext;
    VkPresentScalingFlagsKHR    supportedPresentScaling;
    VkPresentGravityFlagsKHR    supportedPresentGravityX;
    VkPresentGravityFlagsKHR    supportedPresentGravityY;
    VkExtent2D                  minScaledImageExtent;
    VkExtent2D                  maxScaledImageExtent;
} VkSurfacePresentScalingCapabilitiesKHR;
// Provided by VK_EXT_surface_maintenance1
// Equivalent to VkSurfacePresentScalingCapabilitiesKHR
typedef VkSurfacePresentScalingCapabilitiesKHR VkSurfacePresentScalingCapabilitiesEXT;

Members

  • 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 VkPresentScalingFlagBitsKHR representing the scaling methods supported by the surface, or 0 if application-defined scaling is not supported.

  • supportedPresentGravityX is a bitmask of VkPresentGravityFlagBitsKHR 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 VkPresentGravityFlagBitsKHR 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.

Description

To query the set of supported scaling modes for a given present mode, add a VkSurfacePresentModeKHR structure in the pNext chain of VkPhysicalDeviceSurfaceInfo2KHR when calling vkGetPhysicalDeviceSurfaceCapabilities2KHR. The implementation must return the same values in VkSurfacePresentScalingCapabilitiesKHR for any of the compatible present modes as obtained through VkSurfacePresentModeCompatibilityKHR.

The application can specify the scaling mode when creating a swapchain through the use of VkSwapchainPresentScalingCreateInfoKHR.

Valid Usage (Implicit)

Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.