Package org.lwjgl.vulkan
Class VkSurfaceCapabilitiesKHR
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkSurfaceCapabilitiesKHR>
org.lwjgl.vulkan.VkSurfaceCapabilitiesKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkSurfaceCapabilitiesKHR
extends org.lwjgl.system.Struct<VkSurfaceCapabilitiesKHR>
implements org.lwjgl.system.NativeResource
Structure describing capabilities of a surface.
Description
Note
Supported usage flags of a presentable image when using PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR presentation mode are provided by VkSharedPresentSurfaceCapabilitiesKHR::sharedPresentSupportedUsageFlags.
Note
Formulas such as min(N, maxImageCount) are not correct, since maxImageCount may be zero.
See Also
VkExtent2D, VkSurfaceCapabilities2KHR, GetPhysicalDeviceSurfaceCapabilitiesKHR
Layout
struct VkSurfaceCapabilitiesKHR {
uint32_t minImageCount();
uint32_t maxImageCount();
VkExtent2D currentExtent();
VkExtent2D minImageExtent();
VkExtent2D maxImageExtent();
uint32_t maxImageArrayLayers();
VkSurfaceTransformFlagsKHR supportedTransforms();
VkSurfaceTransformFlagBitsKHR currentTransform();
VkCompositeAlphaFlagsKHR supportedCompositeAlpha();
VkImageUsageFlags supportedUsageFlags();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkSurfaceCapabilitiesKHR(ByteBuffer container) Creates aVkSurfaceCapabilitiesKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkSurfaceCapabilitiesKHRcalloc()Returns a newVkSurfaceCapabilitiesKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSurfaceCapabilitiesKHRcalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSurfaceCapabilitiesKHRDeprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkSurfaceCapabilitiesKHRcallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static VkSurfaceCapabilitiesKHRcreate()Returns a newVkSurfaceCapabilitiesKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withBufferUtils.static VkSurfaceCapabilitiesKHRcreate(long address) Returns a newVkSurfaceCapabilitiesKHRinstance for the specified memory address.create(long address, int capacity) Create aVkSurfaceCapabilitiesKHR.Bufferinstance at the specified memory.static @Nullable VkSurfaceCapabilitiesKHRcreateSafe(long address) static @Nullable VkSurfaceCapabilitiesKHR.BuffercreateSafe(long address, int capacity) the current width and height of the surface, or the special value(0xFFFFFFFF, 0xFFFFFFFF)indicating that the surface size will be determined by the extent of a swapchain targeting the surface.intVkSurfaceTransformFlagBitsKHRvalue indicating the surface’s current transform relative to the presentation engine’s natural orientation.static VkSurfaceCapabilitiesKHRmalloc()Returns a newVkSurfaceCapabilitiesKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkSurfaceCapabilitiesKHRmalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the specifiedMemoryStack.static VkSurfaceCapabilitiesKHRDeprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkSurfaceCapabilitiesKHRmallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.intthe maximum number of layers presentable images can have for a swapchain created for this device and surface, and will be at least one.intthe maximum number of images the specified device supports for a swapchain created for the surface, and will be either 0, or greater than or equal tominImageCount.contains the largest valid swapchain extent for the surface on the specified device.intthe minimum number of images the specified device supports for a swapchain created for the surface, and will be at least one.contains the smallest valid swapchain extent for the surface on the specified device.static VkExtent2DncurrentExtent(long struct) Unsafe version ofcurrentExtent().static intncurrentTransform(long struct) Unsafe version ofcurrentTransform().static intnmaxImageArrayLayers(long struct) Unsafe version ofmaxImageArrayLayers().static intnmaxImageCount(long struct) Unsafe version ofmaxImageCount().static VkExtent2DnmaxImageExtent(long struct) Unsafe version ofmaxImageExtent().static intnminImageCount(long struct) Unsafe version ofminImageCount().static VkExtent2DnminImageExtent(long struct) Unsafe version ofminImageExtent().static intnsupportedCompositeAlpha(long struct) Unsafe version ofsupportedCompositeAlpha().static intnsupportedTransforms(long struct) Unsafe version ofsupportedTransforms().static intnsupportedUsageFlags(long struct) Unsafe version ofsupportedUsageFlags().intsizeof()inta bitmask ofVkCompositeAlphaFlagBitsKHR, representing the alpha compositing modes supported by the presentation engine for the surface on the specified device, and at least one bit will be set.inta bitmask ofVkSurfaceTransformFlagBitsKHRindicating the presentation transforms supported for the surface on the specified device.inta bitmask ofVkImageUsageFlagBitsrepresenting the ways the application can use the presentable images of a swapchain created withVkPresentModeKHRset toPRESENT_MODE_FIFO_LATEST_READY_EXT,PRESENT_MODE_IMMEDIATE_KHR,PRESENT_MODE_MAILBOX_KHR,PRESENT_MODE_FIFO_KHRorPRESENT_MODE_FIFO_RELAXED_KHRfor the surface on the specified device.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
MINIMAGECOUNT
public static final int MINIMAGECOUNTThe struct member offsets. -
MAXIMAGECOUNT
public static final int MAXIMAGECOUNTThe struct member offsets. -
CURRENTEXTENT
public static final int CURRENTEXTENTThe struct member offsets. -
MINIMAGEEXTENT
public static final int MINIMAGEEXTENTThe struct member offsets. -
MAXIMAGEEXTENT
public static final int MAXIMAGEEXTENTThe struct member offsets. -
MAXIMAGEARRAYLAYERS
public static final int MAXIMAGEARRAYLAYERSThe struct member offsets. -
SUPPORTEDTRANSFORMS
public static final int SUPPORTEDTRANSFORMSThe struct member offsets. -
CURRENTTRANSFORM
public static final int CURRENTTRANSFORMThe struct member offsets. -
SUPPORTEDCOMPOSITEALPHA
public static final int SUPPORTEDCOMPOSITEALPHAThe struct member offsets. -
SUPPORTEDUSAGEFLAGS
public static final int SUPPORTEDUSAGEFLAGSThe struct member offsets.
-
-
Constructor Details
-
VkSurfaceCapabilitiesKHR
Creates aVkSurfaceCapabilitiesKHRinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkSurfaceCapabilitiesKHR>
-
minImageCount
public int minImageCount()the minimum number of images the specified device supports for a swapchain created for the surface, and will be at least one. -
maxImageCount
public int maxImageCount()the maximum number of images the specified device supports for a swapchain created for the surface, and will be either 0, or greater than or equal tominImageCount. A value of 0 means that there is no limit on the number of images, though there may be limits related to the total amount of memory used by presentable images. -
currentExtent
the current width and height of the surface, or the special value(0xFFFFFFFF, 0xFFFFFFFF)indicating that the surface size will be determined by the extent of a swapchain targeting the surface. -
minImageExtent
contains the smallest valid swapchain extent for the surface on the specified device. Thewidthandheightof the extent will each be less than or equal to the correspondingwidthandheightofcurrentExtent, unlesscurrentExtenthas the special value described above. -
maxImageExtent
contains the largest valid swapchain extent for the surface on the specified device. Thewidthandheightof the extent will each be greater than or equal to the correspondingwidthandheightofminImageExtent. Thewidthandheightof the extent will each be greater than or equal to the correspondingwidthandheightofcurrentExtent, unlesscurrentExtenthas the special value described above. -
maxImageArrayLayers
public int maxImageArrayLayers()the maximum number of layers presentable images can have for a swapchain created for this device and surface, and will be at least one. -
supportedTransforms
public int supportedTransforms()a bitmask ofVkSurfaceTransformFlagBitsKHRindicating the presentation transforms supported for the surface on the specified device. At least one bit will be set. -
currentTransform
public int currentTransform()VkSurfaceTransformFlagBitsKHRvalue indicating the surface’s current transform relative to the presentation engine’s natural orientation. -
supportedCompositeAlpha
public int supportedCompositeAlpha()a bitmask ofVkCompositeAlphaFlagBitsKHR, representing the alpha compositing modes supported by the presentation engine for the surface on the specified device, and at least one bit will be set. Opaque composition can be achieved in any alpha compositing mode by either using an image format that has no alpha component, or by ensuring that all pixels in the presentable images have an alpha value of 1.0. -
supportedUsageFlags
public int supportedUsageFlags()a bitmask ofVkImageUsageFlagBitsrepresenting the ways the application can use the presentable images of a swapchain created withVkPresentModeKHRset toPRESENT_MODE_FIFO_LATEST_READY_EXT,PRESENT_MODE_IMMEDIATE_KHR,PRESENT_MODE_MAILBOX_KHR,PRESENT_MODE_FIFO_KHRorPRESENT_MODE_FIFO_RELAXED_KHRfor the surface on the specified device.IMAGE_USAGE_COLOR_ATTACHMENT_BITmust be included in the set. Implementations may support additional usages. -
malloc
Returns a newVkSurfaceCapabilitiesKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkSurfaceCapabilitiesKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkSurfaceCapabilitiesKHRinstance allocated withBufferUtils. -
create
Returns a newVkSurfaceCapabilitiesKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkSurfaceCapabilitiesKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkSurfaceCapabilitiesKHR.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkSurfaceCapabilitiesKHR.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkSurfaceCapabilitiesKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkSurfaceCapabilitiesKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nminImageCount
public static int nminImageCount(long struct) Unsafe version ofminImageCount(). -
nmaxImageCount
public static int nmaxImageCount(long struct) Unsafe version ofmaxImageCount(). -
ncurrentExtent
Unsafe version ofcurrentExtent(). -
nminImageExtent
Unsafe version ofminImageExtent(). -
nmaxImageExtent
Unsafe version ofmaxImageExtent(). -
nmaxImageArrayLayers
public static int nmaxImageArrayLayers(long struct) Unsafe version ofmaxImageArrayLayers(). -
nsupportedTransforms
public static int nsupportedTransforms(long struct) Unsafe version ofsupportedTransforms(). -
ncurrentTransform
public static int ncurrentTransform(long struct) Unsafe version ofcurrentTransform(). -
nsupportedCompositeAlpha
public static int nsupportedCompositeAlpha(long struct) Unsafe version ofsupportedCompositeAlpha(). -
nsupportedUsageFlags
public static int nsupportedUsageFlags(long struct) Unsafe version ofsupportedUsageFlags().
-