Class VkSwapchainPresentFenceInfoEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
The set of queue operations defined by queuing an image for presentation, as well as operations performed by the presentation engine access the payloads of objects associated with the presentation operation. The associated objects include:
- The swapchain image, its implicitly bound memory, and any other resources bound to that memory.
- The wait semaphores specified when queuing the image for presentation.
The application can provide a fence that the implementation will signal when all such queue operations have completed and the presentation engine has taken a reference to the payload of any objects it accesses as part of the present operation. For all binary wait semaphores imported by the presentation engine using the equivalent of reference transference, as described in Importing Semaphore Payloads, this fence must not signal until all such semaphore payloads have been reset by the presentation engine.
The application can destroy the wait semaphores associated with a given presentation operation when at least one of the associated fences is signaled, and can destroy the swapchain when the fences associated with all past presentation requests referring to that swapchain have signaled.
Fences associated with presentations to the same swapchain on the same VkQueue must be signaled in the same order as the present operations.
To specify a fence for each swapchain in a present operation, include the VkSwapchainPresentFenceInfoEXT structure in the pNext chain of the VkPresentInfoKHR structure.
Valid Usage
swapchainCountmust be equal toVkPresentInfoKHR::swapchainCount- Each element of
pFencesthat is notNULL_HANDLEmust be unsignaled - Each element of
pFencesthat is notNULL_HANDLEmust not be associated with any other queue command that has not yet completed execution on that queue
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXTpFencesmust be a valid pointer to an array ofswapchainCountvalid orNULL_HANDLEVkFencehandlesswapchainCountmust be greater than 0
Layout
struct VkSwapchainPresentFenceInfoEXT {
VkStructureType sType();
void const * pNext();
uint32_t swapchainCount();
VkFence const * pFences();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkSwapchainPresentFenceInfoEXTstructs.Nested 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
ConstructorsConstructorDescriptionVkSwapchainPresentFenceInfoEXT(ByteBuffer container) Creates aVkSwapchainPresentFenceInfoEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkSwapchainPresentFenceInfoEXTinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkSwapchainPresentFenceInfoEXT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSwapchainPresentFenceInfoEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSwapchainPresentFenceInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkSwapchainPresentFenceInfoEXTinstance allocated withBufferUtils.create(int capacity) Returns a newVkSwapchainPresentFenceInfoEXT.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkSwapchainPresentFenceInfoEXTinstance for the specified memory address.create(long address, int capacity) Create aVkSwapchainPresentFenceInfoEXT.Bufferinstance at the specified memory.static @Nullable VkSwapchainPresentFenceInfoEXTcreateSafe(long address) static @Nullable VkSwapchainPresentFenceInfoEXT.BuffercreateSafe(long address, int capacity) malloc()Returns a newVkSwapchainPresentFenceInfoEXTinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkSwapchainPresentFenceInfoEXT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSwapchainPresentFenceInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSwapchainPresentFenceInfoEXTinstance allocated on the specifiedMemoryStack.static @Nullable LongBuffernpFences(long struct) Unsafe version ofpFences.static voidnpFences(long struct, @Nullable LongBuffer value) Unsafe version ofpFences.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.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.@Nullable LongBufferpFences()a list of fences withswapchainCountentries.pFences(@Nullable LongBuffer value) Sets the address of the specifiedLongBufferto thepFences()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, int swapchainCount, @Nullable LongBuffer pFences) Initializes this struct with the specified values.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_SWAPCHAIN_PRESENT_FENCE_INFO_EXTvalue to thesType()field.intthe number of swapchains being presented to by this command.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. -
PFENCES
public static final int PFENCESThe struct member offsets.
-
-
Constructor Details
-
VkSwapchainPresentFenceInfoEXT
Creates aVkSwapchainPresentFenceInfoEXTinstance 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<VkSwapchainPresentFenceInfoEXT>
-
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 by this command. -
pFences
a list of fences withswapchainCountentries. Each entry must beNULL_HANDLEor the handle of a fence to signal when the relevant operations on the associated swapchain have completed. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXTvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
swapchainCount
Sets the specified value to theswapchainCount()field. -
pFences
Sets the address of the specifiedLongBufferto thepFences()field. -
set
public VkSwapchainPresentFenceInfoEXT set(int sType, long pNext, int swapchainCount, @Nullable LongBuffer pFences) 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 newVkSwapchainPresentFenceInfoEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkSwapchainPresentFenceInfoEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkSwapchainPresentFenceInfoEXTinstance allocated withBufferUtils. -
create
Returns a newVkSwapchainPresentFenceInfoEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkSwapchainPresentFenceInfoEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkSwapchainPresentFenceInfoEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkSwapchainPresentFenceInfoEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkSwapchainPresentFenceInfoEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkSwapchainPresentFenceInfoEXT.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkSwapchainPresentFenceInfoEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkSwapchainPresentFenceInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkSwapchainPresentFenceInfoEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSwapchainPresentFenceInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkSwapchainPresentFenceInfoEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSwapchainPresentFenceInfoEXT.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(). -
npFences
Unsafe version ofpFences. -
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. -
npFences
Unsafe version ofpFences.
-