If the VkSurfacePresentModeEXT structure is included in the pNext chain of VkPhysicalDeviceSurfaceInfo2KHR, the values returned in VkSurfaceCapabilitiesKHR::minImageCount, VkSurfaceCapabilitiesKHR::maxImageCount, VkSurfacePresentScalingCapabilitiesEXT::minScaledImageExtent, and VkSurfacePresentScalingCapabilitiesEXT::maxScaledImageExtent are valid only for the specified presentMode. If presentMode is PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR, the per-present mode image counts must both be one. The per-present mode image counts may be less-than or greater-than the image counts returned when VkSurfacePresentModeEXT is not provided.
If VkSwapchainPresentModesCreateInfoEXT is provided to swapchain creation, the requirements for forward progress may be less strict. For example, a FIFO swapchain might only require 2 images to guarantee forward progress, but a MAILBOX one might require 4. Without the per-present image counts, such an implementation would have to return 4 in VkSurfaceCapabilitiesKHR::minImageCount, which pessimizes FIFO. Conversely, an implementation may return a low number for minImageCount, but internally bump the image count when application queries GetSwapchainImagesKHR, which can surprise applications, and is not discoverable until swapchain creation. Using VkSurfacePresentModeEXT and VkSwapchainPresentModesCreateInfoEXT together effectively removes this problem.
VkSwapchainPresentModesCreateInfoEXT is required for the specification to be backwards compatible with applications that do not know about, or make use of this feature.
presentMode must be a value reported by GetPhysicalDeviceSurfacePresentModesKHR for the specified surface.sType must be STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXTpresentMode must be a valid VkPresentModeKHR value
struct VkSurfacePresentModeEXT {
VkStructureType sType;
void * pNext;
VkPresentModeKHR presentMode;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkSurfacePresentModeEXT.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PRESENTMODE
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkSurfacePresentModeEXT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkSurfacePresentModeEXT | |
| public static VkSurfacePresentModeEXT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkSurfacePresentModeEXT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSurfacePresentModeEXT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkSurfacePresentModeEXT | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkSurfacePresentModeEXT | |
| public static VkSurfacePresentModeEXT | create(long address)
Returns a new |
| public static VkSurfacePresentModeEXT. | create(int
the buffer capacity capacity)Returns a new |
| public static VkSurfacePresentModeEXT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkSurfacePresentModeEXT | |
| public static VkSurfacePresentModeEXT. | |
| public static VkSurfacePresentModeEXT | |
| public static VkSurfacePresentModeEXT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkSurfacePresentModeEXT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSurfacePresentModeEXT. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkSurfacePresentModeEXT | |
| public int | |
| public VkSurfacePresentModeEXT | |
| public VkSurfacePresentModeEXT | |
| public VkSurfacePresentModeEXT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkSurfacePresentModeEXT | |
| public VkSurfacePresentModeEXT |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| PRESENTMODE | back to summary |
|---|---|
| public static final int PRESENTMODE The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| STYPE | back to summary |
|---|---|
| public static final int STYPE The struct member offsets. | |
| VkSurfacePresentModeEXT | back to summary |
|---|---|
| protected VkSurfacePresentModeEXT(long address, ByteBuffer container) | |
| VkSurfacePresentModeEXT | back to summary |
|---|---|
| public VkSurfacePresentModeEXT(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkSurfacePresentModeEXT create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT. Like
| |
| malloc | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkSurfacePresentModeEXT. Returns a new
| |
| npNext | back to summary |
|---|---|
| public static long npNext(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static void npNext(long struct, long value) Unsafe version of | |
| npresentMode | back to summary |
|---|---|
| public static int npresentMode(long struct) Unsafe version of | |
| npresentMode | back to summary |
|---|---|
| public static void npresentMode(long struct, int value) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static int nsType(long struct) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static void nsType(long struct, int value) Unsafe version of | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkSurfacePresentModeEXT pNext(long value) Sets the specified value to the | |
| presentMode | back to summary |
|---|---|
| public int presentMode() the presentation mode the swapchain will use.
| |
| presentMode | back to summary |
|---|---|
| public VkSurfacePresentModeEXT presentMode(int value) Sets the specified value to the | |
| set | back to summary |
|---|---|
| public VkSurfacePresentModeEXT set(int sType, long pNext, int presentMode) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkSurfacePresentModeEXT set(VkSurfacePresentModeEXT src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| sType | back to summary |
|---|---|
| public int sType() a
| |
| sType | back to summary |
|---|---|
| public VkSurfacePresentModeEXT sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkSurfacePresentModeEXT sType$Default() Sets the | |
VkSurfacePresentModeEXT structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkSurfacePresentModeEXT |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| protected VkSurfacePresentModeEXT | |
| public long | |
| public VkSurfacePresentModeEXT. | |
| public int | |
| public VkSurfacePresentModeEXT. | |
| protected VkSurfacePresentModeEXT. | |
| public int | |
| public VkSurfacePresentModeEXT. | |
| public VkSurfacePresentModeEXT. | sType$Default()
Sets the |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkSurfacePresentModeEXT ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| getElementFactory | back to summary |
|---|---|
| protected VkSurfacePresentModeEXT getElementFactory() Implements abstract org.
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkSurfacePresentModeEXT. Sets the specified value to the | |
| presentMode | back to summary |
|---|---|
public int presentMode()
| |
| presentMode | back to summary |
|---|---|
| public VkSurfacePresentModeEXT. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected VkSurfacePresentModeEXT. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkSurfacePresentModeEXT. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkSurfacePresentModeEXT. Sets the | |