Package org.lwjgl.vulkan
Class EXTSurfaceMaintenance1
java.lang.Object
org.lwjgl.vulkan.EXTSurfaceMaintenance1
VK_EXT_surface_maintenance1 adds a collection of window system integration features that were intentionally left out or overlooked in the original VK_KHR_surface extension.
The new features are as follows:
- Allow querying number of min/max images from a surface for a particular presentation mode.
- Allow querying a surface’s scaled presentation capabilities.
- Allow querying a surface for the set of presentation modes which can be easily switched between without requiring swapchain recreation.
- Name String
VK_EXT_surface_maintenance1- Extension Type
- Instance extension
- Registered Extension Number
- 275
- Revision
- 1
- Extension and Version Dependencies
VK_KHR_surfaceandVK_KHR_get_surface_capabilities2- Contact
- Shahbaz Youssefi syoussefi
- Extension Proposal
- VK_EXT_surface_maintenance1
Other Extension Metadata
- Last Modified Date
- 2022-11-09
- Contributors
- Jeff Juliano, NVIDIA
- Lionel Landwerlin, Intel
- Shahbaz Youssefi, Google
- Chris Forbes, Google
- Ian Elliott, Google
- Hans-Kristian Arntzen, Valve
- Daniel Stone, Collabora
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe extension name.static final intThe extension specification version.static final intVkPresentGravityFlagBitsEXT - Bitmask specifying presentation pixel gravity on either the x or y axisstatic final intVkPresentGravityFlagBitsEXT - Bitmask specifying presentation pixel gravity on either the x or y axisstatic final intVkPresentGravityFlagBitsEXT - Bitmask specifying presentation pixel gravity on either the x or y axisstatic final intVkPresentScalingFlagBitsEXT - Bitmask specifying presentation scaling methodsstatic final intVkPresentScalingFlagBitsEXT - Bitmask specifying presentation scaling methodsstatic final intVkPresentScalingFlagBitsEXT - Bitmask specifying presentation scaling methodsstatic final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
-
Field Details
-
VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION
public static final int VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT
public static final int VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXTExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT
public static final int VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXTExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT
public static final int VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXTExtendsVkStructureType.Enum values:
- See Also:
-
VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT
public static final int VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXTVkPresentScalingFlagBitsEXT - Bitmask specifying presentation scaling methodsDescription
PRESENT_SCALING_ONE_TO_ONE_BIT_EXTspecifies 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.PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXTspecifies 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.PRESENT_SCALING_STRETCH_BIT_EXTspecifies 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_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT
public static final int VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXTVkPresentScalingFlagBitsEXT - Bitmask specifying presentation scaling methodsDescription
PRESENT_SCALING_ONE_TO_ONE_BIT_EXTspecifies 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.PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXTspecifies 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.PRESENT_SCALING_STRETCH_BIT_EXTspecifies 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_PRESENT_SCALING_STRETCH_BIT_EXT
public static final int VK_PRESENT_SCALING_STRETCH_BIT_EXTVkPresentScalingFlagBitsEXT - Bitmask specifying presentation scaling methodsDescription
PRESENT_SCALING_ONE_TO_ONE_BIT_EXTspecifies 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.PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXTspecifies 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.PRESENT_SCALING_STRETCH_BIT_EXTspecifies 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_PRESENT_GRAVITY_MIN_BIT_EXT
public static final int VK_PRESENT_GRAVITY_MIN_BIT_EXTVkPresentGravityFlagBitsEXT - Bitmask specifying presentation pixel gravity on either the x or y axisDescription
PRESENT_GRAVITY_MIN_BIT_EXTmeans that the pixels will gravitate towards the top or left side of the surface.PRESENT_GRAVITY_MAX_BIT_EXTmeans that the pixels will gravitate towards the bottom or right side of the surface.PRESENT_GRAVITY_CENTERED_BIT_EXTmeans that the pixels will be centered in the surface.
If the value in
VkSurfaceCapabilitiesKHR::currentTransformis notSURFACE_TRANSFORM_IDENTITY_BIT_KHR, it is implementation-defined whether the gravity configuration applies to the presented image before or after transformation.- See Also:
-
VK_PRESENT_GRAVITY_MAX_BIT_EXT
public static final int VK_PRESENT_GRAVITY_MAX_BIT_EXTVkPresentGravityFlagBitsEXT - Bitmask specifying presentation pixel gravity on either the x or y axisDescription
PRESENT_GRAVITY_MIN_BIT_EXTmeans that the pixels will gravitate towards the top or left side of the surface.PRESENT_GRAVITY_MAX_BIT_EXTmeans that the pixels will gravitate towards the bottom or right side of the surface.PRESENT_GRAVITY_CENTERED_BIT_EXTmeans that the pixels will be centered in the surface.
If the value in
VkSurfaceCapabilitiesKHR::currentTransformis notSURFACE_TRANSFORM_IDENTITY_BIT_KHR, it is implementation-defined whether the gravity configuration applies to the presented image before or after transformation.- See Also:
-
VK_PRESENT_GRAVITY_CENTERED_BIT_EXT
public static final int VK_PRESENT_GRAVITY_CENTERED_BIT_EXTVkPresentGravityFlagBitsEXT - Bitmask specifying presentation pixel gravity on either the x or y axisDescription
PRESENT_GRAVITY_MIN_BIT_EXTmeans that the pixels will gravitate towards the top or left side of the surface.PRESENT_GRAVITY_MAX_BIT_EXTmeans that the pixels will gravitate towards the bottom or right side of the surface.PRESENT_GRAVITY_CENTERED_BIT_EXTmeans that the pixels will be centered in the surface.
If the value in
VkSurfaceCapabilitiesKHR::currentTransformis notSURFACE_TRANSFORM_IDENTITY_BIT_KHR, it is implementation-defined whether the gravity configuration applies to the presented image before or after transformation.- See Also:
-