Class VkPresentIdKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
For applications to be able to reference specific presentation events queued by a call to vkQueuePresentKHR, an identifier needs to be associated with them. When the presentId feature is enabled, applications can include the VkPresentIdKHR structure in the pNext chain of the VkPresentInfoKHR structure to supply identifiers.
Each VkSwapchainKHR has a presentId associated with it. This value is initially zero when the VkSwapchainKHR is created.
When a VkPresentIdKHR structure with a non-NULL pPresentIds is included in the pNext chain of a VkPresentInfoKHR structure, each pSwapchains entry has a presentId associated in the pPresentIds array at the same index as the swapchain in the pSwapchains array. If this presentId is non-zero, then the application can later use this value to refer to that image presentation. A value of zero indicates that this presentation has no associated presentId. A non-zero presentId must be greater than any non-zero presentId passed previously by the application for the same swapchain.
There is no requirement for any precise timing relationship between the presentation of the image to the user and the update of the presentId value, but implementations should make this as close as possible to the presentation of the first pixel in the new image to the user.
Valid Usage
swapchainCountmust be the same value asVkPresentInfoKHR::swapchainCount, where thisVkPresentIdKHRis in thepNextchain of theVkPresentInfoKHRstructure- Each
presentIdsentry must be greater than any previouspresentIdsentry passed for the associatedpSwapchainsentry
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_PRESENT_ID_KHR- If
pPresentIdsis notNULL,pPresentIdsmust be a valid pointer to an array ofswapchainCountuint64_tvalues swapchainCountmust be greater than 0
Layout
struct VkPresentIdKHR {
VkStructureType sType();
void const * pNext();
uint32_t swapchainCount();
uint64_t const * pPresentIds();
}-
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 size in bytes.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
ConstructorsConstructorDescriptionVkPresentIdKHR(ByteBuffer container) Creates aVkPresentIdKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkPresentIdKHRcalloc()Returns a newVkPresentIdKHRinstance allocated withmemCalloc.static VkPresentIdKHR.Buffercalloc(int capacity) Returns a newVkPresentIdKHR.Bufferinstance allocated withmemCalloc.static VkPresentIdKHR.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPresentIdKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPresentIdKHRcalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPresentIdKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPresentIdKHRcreate()Returns a newVkPresentIdKHRinstance allocated withBufferUtils.static VkPresentIdKHR.Buffercreate(int capacity) Returns a newVkPresentIdKHR.Bufferinstance allocated withBufferUtils.static VkPresentIdKHRcreate(long address) Returns a newVkPresentIdKHRinstance for the specified memory address.static VkPresentIdKHR.Buffercreate(long address, int capacity) Create aVkPresentIdKHR.Bufferinstance at the specified memory.static @Nullable VkPresentIdKHRcreateSafe(long address) static @Nullable VkPresentIdKHR.BuffercreateSafe(long address, int capacity) static VkPresentIdKHRmalloc()Returns a newVkPresentIdKHRinstance allocated withmemAlloc.static VkPresentIdKHR.Buffermalloc(int capacity) Returns a newVkPresentIdKHR.Bufferinstance allocated withmemAlloc.static VkPresentIdKHR.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPresentIdKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkPresentIdKHRmalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPresentIdKHRinstance allocated on the specifiedMemoryStack.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static @Nullable LongBuffernpPresentIds(long struct) Unsafe version ofpPresentIds.static voidnpPresentIds(long struct, @Nullable LongBuffer value) Unsafe version ofpPresentIds.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intnswapchainCount(long struct) Unsafe version ofswapchainCount().static voidnswapchainCount(long struct, int value) Sets the specified value to theswapchainCountfield of the specifiedstruct.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.@Nullable LongBufferNULLor a pointer to an array ofuint64_twithswapchainCountentries.pPresentIds(@Nullable LongBuffer value) Sets the address of the specifiedLongBufferto thepPresentIds()field.set(int sType, long pNext, int swapchainCount, @Nullable LongBuffer pPresentIds) Initializes this struct with the specified values.set(VkPresentIdKHR src) Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_PRESENT_ID_KHRvalue to thesType()field.intthe number of swapchains being presented to thevkQueuePresentKHRcommand.swapchainCount(int value) Sets the specified value to theswapchainCount()field.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. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
SWAPCHAINCOUNT
public static final int SWAPCHAINCOUNTThe struct member offsets. -
PPRESENTIDS
public static final int PPRESENTIDSThe struct member offsets.
-
-
Constructor Details
-
VkPresentIdKHR
Creates aVkPresentIdKHRinstance 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<VkPresentIdKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
swapchainCount
public int swapchainCount()the number of swapchains being presented to thevkQueuePresentKHRcommand. -
pPresentIds
NULLor a pointer to an array ofuint64_twithswapchainCountentries. If notNULL, each non-zero value inpPresentIdsspecifies the present id to be associated with the presentation of the swapchain with the same index in theQueuePresentKHRcall. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_PRESENT_ID_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
swapchainCount
Sets the specified value to theswapchainCount()field. -
pPresentIds
Sets the address of the specifiedLongBufferto thepPresentIds()field. -
set
public VkPresentIdKHR set(int sType, long pNext, int swapchainCount, @Nullable LongBuffer pPresentIds) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkPresentIdKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkPresentIdKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkPresentIdKHRinstance allocated withBufferUtils. -
create
Returns a newVkPresentIdKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkPresentIdKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkPresentIdKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkPresentIdKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkPresentIdKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkPresentIdKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkPresentIdKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkPresentIdKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkPresentIdKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nswapchainCount
public static int nswapchainCount(long struct) Unsafe version ofswapchainCount(). -
npPresentIds
Unsafe version ofpPresentIds. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nswapchainCount
public static void nswapchainCount(long struct, int value) Sets the specified value to theswapchainCountfield of the specifiedstruct. -
npPresentIds
Unsafe version ofpPresentIds.
-