Package org.lwjgl.vulkan
Class VkSurfaceCapabilitiesKHR
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkSurfaceCapabilitiesKHR
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkSurfaceCapabilitiesKHR extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure describing capabilities of a surface.Description
Note
Supported usage flags of a presentable image when using
PRESENT_MODE_SHARED_DEMAND_REFRESH_KHRorPRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHRpresentation mode are provided byVkSharedPresentSurfaceCapabilitiesKHR::sharedPresentSupportedUsageFlags.Note
Formulas such as
min(N, maxImageCount)are not correct, sincemaxImageCountmay be zero.See Also
VkExtent2D,VkSurfaceCapabilities2KHR,GetPhysicalDeviceSurfaceCapabilitiesKHRMember documentation
minImageCount– the minimum number of images the specified device supports for a swapchain created for the surface, and will be at least one.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– 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– a bitmask ofVkSurfaceTransformFlagBitsKHRindicating the presentation transforms supported for the surface on the specified device. At least one bit will be set.currentTransform–VkSurfaceTransformFlagBitsKHRvalue indicating the surface’s current transform relative to the presentation engine’s natural orientation.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– a bitmask ofVkImageUsageFlagBitsrepresenting the ways the application can use the presentable images of a swapchain created withVkPresentModeKHRset toPRESENT_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 but implementations may support additional usages.
Layout
struct VkSurfaceCapabilitiesKHR { uint32_t minImageCount; uint32_t maxImageCount;VkExtent2DcurrentExtent;VkExtent2DminImageExtent;VkExtent2DmaxImageExtent; uint32_t maxImageArrayLayers; VkSurfaceTransformFlagsKHR supportedTransforms; VkSurfaceTransformFlagBitsKHR currentTransform; VkCompositeAlphaFlagsKHR supportedCompositeAlpha; VkImageUsageFlags supportedUsageFlags; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkSurfaceCapabilitiesKHR.BufferAn array ofVkSurfaceCapabilitiesKHRstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intCURRENTEXTENT
CURRENTTRANSFORM
MAXIMAGEARRAYLAYERS
MAXIMAGECOUNT
MAXIMAGEEXTENT
MINIMAGECOUNT
MINIMAGEEXTENTThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSUPPORTEDCOMPOSITEALPHA
SUPPORTEDTRANSFORMS
SUPPORTEDUSAGEFLAGSThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkSurfaceCapabilitiesKHR(java.nio.ByteBuffer container)Creates aVkSurfaceCapabilitiesKHRinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkSurfaceCapabilitiesKHRcalloc()Returns a newVkSurfaceCapabilitiesKHRinstance allocated withmemCalloc.static VkSurfaceCapabilitiesKHR.Buffercalloc(int capacity)Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withmemCalloc.static VkSurfaceCapabilitiesKHRcallocStack()Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkSurfaceCapabilitiesKHR.BuffercallocStack(int capacity)Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkSurfaceCapabilitiesKHR.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSurfaceCapabilitiesKHRcallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSurfaceCapabilitiesKHRcreate()Returns a newVkSurfaceCapabilitiesKHRinstance allocated withBufferUtils.static VkSurfaceCapabilitiesKHR.Buffercreate(int capacity)Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withBufferUtils.static VkSurfaceCapabilitiesKHRcreate(long address)Returns a newVkSurfaceCapabilitiesKHRinstance for the specified memory address.static VkSurfaceCapabilitiesKHR.Buffercreate(long address, int capacity)Create aVkSurfaceCapabilitiesKHR.Bufferinstance at the specified memory.static VkSurfaceCapabilitiesKHRcreateSafe(long address)static VkSurfaceCapabilitiesKHR.BuffercreateSafe(long address, int capacity)VkExtent2DcurrentExtent()Returns aVkExtent2Dview of thecurrentExtentfield.intcurrentTransform()Returns the value of thecurrentTransformfield.static VkSurfaceCapabilitiesKHRmalloc()Returns a newVkSurfaceCapabilitiesKHRinstance allocated withmemAlloc.static VkSurfaceCapabilitiesKHR.Buffermalloc(int capacity)Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withmemAlloc.static VkSurfaceCapabilitiesKHRmallocStack()Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the thread-localMemoryStack.static VkSurfaceCapabilitiesKHR.BuffermallocStack(int capacity)Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the thread-localMemoryStack.static VkSurfaceCapabilitiesKHR.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkSurfaceCapabilitiesKHRmallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the specifiedMemoryStack.intmaxImageArrayLayers()Returns the value of themaxImageArrayLayersfield.intmaxImageCount()Returns the value of themaxImageCountfield.VkExtent2DmaxImageExtent()Returns aVkExtent2Dview of themaxImageExtentfield.intminImageCount()Returns the value of theminImageCountfield.VkExtent2DminImageExtent()Returns aVkExtent2Dview of theminImageExtentfield.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()intsupportedCompositeAlpha()Returns the value of thesupportedCompositeAlphafield.intsupportedTransforms()Returns the value of thesupportedTransformsfield.intsupportedUsageFlags()Returns the value of thesupportedUsageFlagsfield.
-
-
-
Constructor Detail
-
VkSurfaceCapabilitiesKHR
public VkSurfaceCapabilitiesKHR(java.nio.ByteBuffer container)
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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
minImageCount
public int minImageCount()
Returns the value of theminImageCountfield.
-
maxImageCount
public int maxImageCount()
Returns the value of themaxImageCountfield.
-
currentExtent
public VkExtent2D currentExtent()
Returns aVkExtent2Dview of thecurrentExtentfield.
-
minImageExtent
public VkExtent2D minImageExtent()
Returns aVkExtent2Dview of theminImageExtentfield.
-
maxImageExtent
public VkExtent2D maxImageExtent()
Returns aVkExtent2Dview of themaxImageExtentfield.
-
maxImageArrayLayers
public int maxImageArrayLayers()
Returns the value of themaxImageArrayLayersfield.
-
supportedTransforms
public int supportedTransforms()
Returns the value of thesupportedTransformsfield.
-
currentTransform
public int currentTransform()
Returns the value of thecurrentTransformfield.
-
supportedCompositeAlpha
public int supportedCompositeAlpha()
Returns the value of thesupportedCompositeAlphafield.
-
supportedUsageFlags
public int supportedUsageFlags()
Returns the value of thesupportedUsageFlagsfield.
-
malloc
public static VkSurfaceCapabilitiesKHR malloc()
Returns a newVkSurfaceCapabilitiesKHRinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkSurfaceCapabilitiesKHR calloc()
Returns a newVkSurfaceCapabilitiesKHRinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkSurfaceCapabilitiesKHR create()
Returns a newVkSurfaceCapabilitiesKHRinstance allocated withBufferUtils.
-
create
public static VkSurfaceCapabilitiesKHR create(long address)
Returns a newVkSurfaceCapabilitiesKHRinstance for the specified memory address.
-
createSafe
@Nullable public static VkSurfaceCapabilitiesKHR createSafe(long address)
-
malloc
public static VkSurfaceCapabilitiesKHR.Buffer malloc(int capacity)
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkSurfaceCapabilitiesKHR.Buffer calloc(int capacity)
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkSurfaceCapabilitiesKHR.Buffer create(int capacity)
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkSurfaceCapabilitiesKHR.Buffer create(long address, int capacity)
Create aVkSurfaceCapabilitiesKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkSurfaceCapabilitiesKHR.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkSurfaceCapabilitiesKHR mallocStack()
Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkSurfaceCapabilitiesKHR callocStack()
Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkSurfaceCapabilitiesKHR mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkSurfaceCapabilitiesKHR callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSurfaceCapabilitiesKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkSurfaceCapabilitiesKHR.Buffer mallocStack(int capacity)
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkSurfaceCapabilitiesKHR.Buffer callocStack(int capacity)
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkSurfaceCapabilitiesKHR.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkSurfaceCapabilitiesKHR.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkSurfaceCapabilitiesKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
nminImageCount
public static int nminImageCount(long struct)
Unsafe version ofminImageCount().
-
nmaxImageCount
public static int nmaxImageCount(long struct)
Unsafe version ofmaxImageCount().
-
ncurrentExtent
public static VkExtent2D ncurrentExtent(long struct)
Unsafe version ofcurrentExtent().
-
nminImageExtent
public static VkExtent2D nminImageExtent(long struct)
Unsafe version ofminImageExtent().
-
nmaxImageExtent
public static VkExtent2D nmaxImageExtent(long struct)
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().
-
-