VkPresentScalingFlagBitsKHR(3)

# VkPresentScalingFlagBitsKHR(3) Manual Page

## Name

VkPresentScalingFlagBitsKHR - Bitmask specifying presentation scaling methods

## C Specification

Bits which may be set in VkSurfacePresentScalingCapabilitiesKHR::`supportedPresentScaling`, specifying scaling modes supported by the surface, are:

    // Provided by VK_KHR_surface_maintenance1
    typedef enum VkPresentScalingFlagBitsKHR {
        VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR = 0x00000001,
        VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR = 0x00000002,
        VK_PRESENT_SCALING_STRETCH_BIT_KHR = 0x00000004,
        VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR,
        VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR,
        VK_PRESENT_SCALING_STRETCH_BIT_EXT = VK_PRESENT_SCALING_STRETCH_BIT_KHR,
    } VkPresentScalingFlagBitsKHR;

    // Provided by VK_EXT_surface_maintenance1
    // Equivalent to VkPresentScalingFlagBitsKHR
    typedef VkPresentScalingFlagBitsKHR VkPresentScalingFlagBitsEXT;

## Description

- VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR specifies that no scaling occurs, and pixels in the swapchain image are mapped to one and only one pixel in the surface. The mapping between pixels is defined by the chosen presentation gravity.

- VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR specifies that the swapchain image will be minified or magnified such that at least one of the resulting width or height is equal to the corresponding surface dimension, and the other resulting dimension is less than or equal to the corresponding surface dimension, with the aspect ratio of the resulting image being identical to that of the original swapchain image.

- VK_PRESENT_SCALING_STRETCH_BIT_KHR specifies that the swapchain image will be minified or magnified such that the resulting image dimensions are equal to those of the surface.

## See Also

VK_EXT_surface_maintenance1, VK_KHR_surface_maintenance1, VkPresentScalingFlagsKHR

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0