C Specification

Bits which may be set in the VkSurfacePresentScalingCapabilitiesKHR::supportedPresentGravityX or supportedPresentGravityY fields, specifying the gravity of presented pixels supported by the surface, are:

// Provided by VK_KHR_surface_maintenance1
typedef enum VkPresentGravityFlagBitsKHR {
    VK_PRESENT_GRAVITY_MIN_BIT_KHR = 0x00000001,
    VK_PRESENT_GRAVITY_MAX_BIT_KHR = 0x00000002,
    VK_PRESENT_GRAVITY_CENTERED_BIT_KHR = 0x00000004,
    VK_PRESENT_GRAVITY_MIN_BIT_EXT = VK_PRESENT_GRAVITY_MIN_BIT_KHR,
    VK_PRESENT_GRAVITY_MAX_BIT_EXT = VK_PRESENT_GRAVITY_MAX_BIT_KHR,
    VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = VK_PRESENT_GRAVITY_CENTERED_BIT_KHR,
} VkPresentGravityFlagBitsKHR;
// Provided by VK_EXT_surface_maintenance1
// Equivalent to VkPresentGravityFlagBitsKHR
typedef VkPresentGravityFlagBitsKHR VkPresentGravityFlagBitsEXT;

Description

If the value in VkSurfaceCapabilitiesKHR::currentTransform is not VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, it is implementation-defined whether the gravity configuration applies to the presented image before or after transformation.

See Also

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.

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0