If the pNext chain of VkPresentInfoKHR includes a VkSwapchainPresentModeInfoEXT structure, then that structure defines the presentation modes used for the current and subsequent presentation operations.
When the application changes present modes with VkSwapchainPresentModeInfoEXT, images that have already been queued for presentation will continue to be presented according to the previous present mode. The current image being queued for presentation and subsequent images will be presented according to the new present mode. The behavior during the transition between the two modes is defined as follows.
PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR to PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: the presentation engine updates the shared presentable image according to the behavior of PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR.PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR to PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: the presentation engine may update the shared presentable image or defer that to its regular refresh cycle, according to the behavior of PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR.PRESENT_MODE_FIFO_KHR and PRESENT_MODE_FIFO_RELAXED_KHR: Images continue to be appended to the same FIFO queue, and the behavior with respect to waiting for vertical blanking period will follow the new mode for current and subsequent images.PRESENT_MODE_IMMEDIATE_KHR to PRESENT_MODE_FIFO_KHR or PRESENT_MODE_FIFO_RELAXED_KHR: As all prior present requests in the PRESENT_MODE_IMMEDIATE_KHR mode are applied immediately, there are no outstanding present operations in this mode, and current and subsequent images are appended to the FIFO queue and presented according to the new mode.PRESENT_MODE_MAILBOX_KHR to PRESENT_MODE_FIFO_KHR or PRESENT_MODE_FIFO_RELAXED_KHR: Presentation in both modes require waiting for the next vertical blanking period, with PRESENT_MODE_MAILBOX_KHR allowing the pending present operation to be replaced by a new one. In this case, the current present operation will replace the pending present operation and is applied according to the new mode.PRESENT_MODE_FIFO_KHR or PRESENT_MODE_FIFO_RELAXED_KHR to PRESENT_MODE_IMMEDIATE_KHR or PRESENT_MODE_MAILBOX_KHR: If the FIFO queue is empty, presentation is done according to the behavior of the new mode. If there are present operations in the FIFO queue, once the last present operation is performed based on the respective vertical blanking period, the current and subsequent updates are applied according to the new mode.swapchainCount must be equal to VkPresentInfoKHR::swapchainCountpPresentModes must be a presentation mode specified in VkSwapchainPresentModesCreateInfoEXT::pPresentModes when creating the entry’s corresponding swapchainsType must be STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXTpPresentModes must be a valid pointer to an array of swapchainCount valid VkPresentModeKHR valuesswapchainCount must be greater than 0
struct VkSwapchainPresentModeInfoEXT {
VkStructureType sType;
void const * pNext;
uint32_t swapchainCount;
VkPresentModeKHR const * pPresentModes;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkSwapchainPresentModeInfoEXT.
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 | PPRESENTMODES
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| public static final int | SWAPCHAINCOUNT
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkSwapchainPresentModeInfoEXT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkSwapchainPresentModeInfoEXT | |
| public static VkSwapchainPresentModeInfoEXT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkSwapchainPresentModeInfoEXT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSwapchainPresentModeInfoEXT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkSwapchainPresentModeInfoEXT | 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 VkSwapchainPresentModeInfoEXT | |
| public static VkSwapchainPresentModeInfoEXT | create(long address)
Returns a new |
| public static VkSwapchainPresentModeInfoEXT. | create(int
the buffer capacity capacity)Returns a new |
| public static VkSwapchainPresentModeInfoEXT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkSwapchainPresentModeInfoEXT | |
| public static VkSwapchainPresentModeInfoEXT. | |
| public static VkSwapchainPresentModeInfoEXT | |
| public static VkSwapchainPresentModeInfoEXT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkSwapchainPresentModeInfoEXT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSwapchainPresentModeInfoEXT. | 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 IntBuffer | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | nswapchainCount(long struct, int value)
Sets the specified value to the |
| public long | |
| public VkSwapchainPresentModeInfoEXT | |
| public IntBuffer | |
| public VkSwapchainPresentModeInfoEXT | pPresentModes(IntBuffer value)
Sets the address of the specified |
| public VkSwapchainPresentModeInfoEXT | |
| public VkSwapchainPresentModeInfoEXT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkSwapchainPresentModeInfoEXT | |
| public VkSwapchainPresentModeInfoEXT | |
| public int | |
| public static void |
| 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. | |
| PPRESENTMODES | back to summary |
|---|---|
| public static final int PPRESENTMODES 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. | |
| SWAPCHAINCOUNT | back to summary |
|---|---|
| public static final int SWAPCHAINCOUNT The struct member offsets. | |
| VkSwapchainPresentModeInfoEXT | back to summary |
|---|---|
| protected VkSwapchainPresentModeInfoEXT(long address, ByteBuffer container) | |
| VkSwapchainPresentModeInfoEXT | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkSwapchainPresentModeInfoEXT create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT. Like
| |
| malloc | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkSwapchainPresentModeInfoEXT. 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 | |
| npPresentModes | back to summary |
|---|---|
| public static IntBuffer npPresentModes(long struct) Unsafe version of | |
| npPresentModes | back to summary |
|---|---|
| public static void npPresentModes(long struct, IntBuffer 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 | |
| nswapchainCount | back to summary |
|---|---|
| public static int nswapchainCount(long struct) Unsafe version of | |
| nswapchainCount | back to summary |
|---|---|
| public static void nswapchainCount(long struct, int value) Sets the specified value to the | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT pNext(long value) Sets the specified value to the | |
| pPresentModes | back to summary |
|---|---|
| public IntBuffer pPresentModes() a list of presentation modes with
| |
| pPresentModes | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT pPresentModes(IntBuffer value) Sets the address of the specified | |
| set | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT set(int sType, long pNext, IntBuffer pPresentModes) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT set(VkSwapchainPresentModeInfoEXT 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 VkSwapchainPresentModeInfoEXT sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT sType$Default() Sets the | |
| swapchainCount | back to summary |
|---|---|
| public int swapchainCount() the number of swapchains being presented to by this command.
| |
| validate | back to summary |
|---|---|
| public static void validate(long struct) Validates pointer members that should not be
| |
VkSwapchainPresentModeInfoEXT structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkSwapchainPresentModeInfoEXT |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| protected VkSwapchainPresentModeInfoEXT | |
| public long | |
| public VkSwapchainPresentModeInfoEXT. | |
| public IntBuffer | Returns: aIntBuffer view of the data pointed to by the VkSwapchainPresentModeInfoEXT#pPresentModes field.
|
| public VkSwapchainPresentModeInfoEXT. | pPresentModes(IntBuffer value)
Sets the address of the specified |
| protected VkSwapchainPresentModeInfoEXT. | |
| public int | |
| public VkSwapchainPresentModeInfoEXT. | |
| public VkSwapchainPresentModeInfoEXT. | sType$Default()
Sets the |
| public int |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkSwapchainPresentModeInfoEXT 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 VkSwapchainPresentModeInfoEXT getElementFactory() Implements abstract org.
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT. Sets the specified value to the | |
| pPresentModes | back to summary |
|---|---|
public IntBuffer pPresentModes()
| |
| pPresentModes | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT. Sets the address of the specified | |
| self | back to summary |
|---|---|
| protected VkSwapchainPresentModeInfoEXT. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkSwapchainPresentModeInfoEXT. Sets the | |
| swapchainCount | back to summary |
|---|---|
public int swapchainCount()
| |