Package org.lwjgl.vulkan
Class VkBindSparseInfo
- All Implemented Interfaces:
AutoCloseable
,NativeResource
,Pointer
Structure specifying a sparse binding operation.
Valid Usage
- If any element of
pWaitSemaphores
orpSignalSemaphores
was created with aVkSemaphoreType
ofSEMAPHORE_TYPE_TIMELINE
then thepNext
chain must include aVkTimelineSemaphoreSubmitInfo
structure - If the
pNext
chain of this structure includes aVkTimelineSemaphoreSubmitInfo
structure and any element ofpWaitSemaphores
was created with aVkSemaphoreType
ofSEMAPHORE_TYPE_TIMELINE
then itswaitSemaphoreValueCount
member must equalwaitSemaphoreCount
- If the
pNext
chain of this structure includes aVkTimelineSemaphoreSubmitInfo
structure and any element ofpSignalSemaphores
was created with aVkSemaphoreType
ofSEMAPHORE_TYPE_TIMELINE
then itssignalSemaphoreValueCount
member must equalsignalSemaphoreCount
- For each element of
pSignalSemaphores
created with aVkSemaphoreType
ofSEMAPHORE_TYPE_TIMELINE
the corresponding element ofVkTimelineSemaphoreSubmitInfo
::pSignalSemaphoreValues
must have a value greater than the current value of the semaphore when the semaphore signal operation is executed - For each element of
pWaitSemaphores
created with aVkSemaphoreType
ofSEMAPHORE_TYPE_TIMELINE
the corresponding element ofVkTimelineSemaphoreSubmitInfo
::pWaitSemaphoreValues
must have a value which does not differ from the current value of the semaphore or from the value of any outstanding semaphore wait or signal operation on that semaphore by more thanmaxTimelineSemaphoreValueDifference
- For each element of
pSignalSemaphores
created with aVkSemaphoreType
ofSEMAPHORE_TYPE_TIMELINE
the corresponding element ofVkTimelineSemaphoreSubmitInfo
::pSignalSemaphoreValues
must have a value which does not differ from the current value of the semaphore or from the value of any outstanding semaphore wait or signal operation on that semaphore by more thanmaxTimelineSemaphoreValueDifference
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_BIND_SPARSE_INFO
- Each
pNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance ofVkDeviceGroupBindSparseInfo
,VkFrameBoundaryEXT
, orVkTimelineSemaphoreSubmitInfo
- The
sType
value of each struct in thepNext
chain must be unique - If
waitSemaphoreCount
is not 0,pWaitSemaphores
must be a valid pointer to an array ofwaitSemaphoreCount
validVkSemaphore
handles - If
bufferBindCount
is not 0,pBufferBinds
must be a valid pointer to an array ofbufferBindCount
validVkSparseBufferMemoryBindInfo
structures - If
imageOpaqueBindCount
is not 0,pImageOpaqueBinds
must be a valid pointer to an array ofimageOpaqueBindCount
validVkSparseImageOpaqueMemoryBindInfo
structures - If
imageBindCount
is not 0,pImageBinds
must be a valid pointer to an array ofimageBindCount
validVkSparseImageMemoryBindInfo
structures - If
signalSemaphoreCount
is not 0,pSignalSemaphores
must be a valid pointer to an array ofsignalSemaphoreCount
validVkSemaphore
handles - Both of the elements of
pSignalSemaphores
, and the elements ofpWaitSemaphores
that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameVkDevice
See Also
VkSparseBufferMemoryBindInfo
, VkSparseImageMemoryBindInfo
, VkSparseImageOpaqueMemoryBindInfo
, QueueBindSparse
Layout
struct VkBindSparseInfo {
VkStructureType sType()
;
void const * pNext()
;
uint32_t waitSemaphoreCount()
;
VkSemaphore const * pWaitSemaphores()
;
uint32_t bufferBindCount()
;
VkSparseBufferMemoryBindInfo
const * pBufferBinds()
;
uint32_t imageOpaqueBindCount()
;
VkSparseImageOpaqueMemoryBindInfo
const * pImageOpaqueBinds()
;
uint32_t imageBindCount()
;
VkSparseImageMemoryBindInfo
const * pImageBinds()
;
uint32_t signalSemaphoreCount()
;
VkSemaphore const * pSignalSemaphores()
;
}
-
Nested Class Summary
Nested classes/interfaces inherited from class org.lwjgl.system.Struct
Struct.StructValidation
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The struct alignment in bytes.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct size in bytes.static final int
The struct member offsets.static final int
The struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
-
Constructor Summary
ConstructorDescriptionVkBindSparseInfo
(ByteBuffer container) Creates aVkBindSparseInfo
instance at the current position of the specifiedByteBuffer
container. -
Method Summary
Modifier and TypeMethodDescriptionint
the number of sparse buffer bindings to perform in the batch.static VkBindSparseInfo
calloc()
Returns a newVkBindSparseInfo
instance allocated withmemCalloc
.static VkBindSparseInfo.Buffer
calloc
(int capacity) Returns a newVkBindSparseInfo.Buffer
instance allocated withmemCalloc
.static VkBindSparseInfo.Buffer
calloc
(int capacity, MemoryStack stack) Returns a newVkBindSparseInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkBindSparseInfo
calloc
(MemoryStack stack) Returns a newVkBindSparseInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkBindSparseInfo
Deprecated.static VkBindSparseInfo.Buffer
callocStack
(int capacity) Deprecated.static VkBindSparseInfo.Buffer
callocStack
(int capacity, MemoryStack stack) Deprecated.static VkBindSparseInfo
callocStack
(MemoryStack stack) Deprecated.static VkBindSparseInfo
create()
Returns a newVkBindSparseInfo
instance allocated withBufferUtils
.static VkBindSparseInfo.Buffer
create
(int capacity) Returns a newVkBindSparseInfo.Buffer
instance allocated withBufferUtils
.static VkBindSparseInfo
create
(long address) Returns a newVkBindSparseInfo
instance for the specified memory address.static VkBindSparseInfo.Buffer
create
(long address, int capacity) Create aVkBindSparseInfo.Buffer
instance at the specified memory.static VkBindSparseInfo
createSafe
(long address) static VkBindSparseInfo.Buffer
createSafe
(long address, int capacity) int
the number of sparse image bindings to perform.int
the number of opaque sparse image bindings to perform.static VkBindSparseInfo
malloc()
Returns a newVkBindSparseInfo
instance allocated withmemAlloc
.static VkBindSparseInfo.Buffer
malloc
(int capacity) Returns a newVkBindSparseInfo.Buffer
instance allocated withmemAlloc
.static VkBindSparseInfo.Buffer
malloc
(int capacity, MemoryStack stack) Returns a newVkBindSparseInfo.Buffer
instance allocated on the specifiedMemoryStack
.static VkBindSparseInfo
malloc
(MemoryStack stack) Returns a newVkBindSparseInfo
instance allocated on the specifiedMemoryStack
.static VkBindSparseInfo
Deprecated.static VkBindSparseInfo.Buffer
mallocStack
(int capacity) Deprecated.static VkBindSparseInfo.Buffer
mallocStack
(int capacity, MemoryStack stack) Deprecated.static VkBindSparseInfo
mallocStack
(MemoryStack stack) Deprecated.static int
nbufferBindCount
(long struct) Unsafe version ofbufferBindCount()
.static void
nbufferBindCount
(long struct, int value) Sets the specified value to thebufferBindCount
field of the specifiedstruct
.static int
nimageBindCount
(long struct) Unsafe version ofimageBindCount()
.static void
nimageBindCount
(long struct, int value) Sets the specified value to theimageBindCount
field of the specifiedstruct
.static int
nimageOpaqueBindCount
(long struct) Unsafe version ofimageOpaqueBindCount()
.static void
nimageOpaqueBindCount
(long struct, int value) Sets the specified value to theimageOpaqueBindCount
field of the specifiedstruct
.npBufferBinds
(long struct) Unsafe version ofpBufferBinds()
.static void
npBufferBinds
(long struct, VkSparseBufferMemoryBindInfo.Buffer value) Unsafe version ofpBufferBinds
.npImageBinds
(long struct) Unsafe version ofpImageBinds()
.static void
npImageBinds
(long struct, VkSparseImageMemoryBindInfo.Buffer value) Unsafe version ofpImageBinds
.npImageOpaqueBinds
(long struct) Unsafe version ofpImageOpaqueBinds()
.static void
npImageOpaqueBinds
(long struct, VkSparseImageOpaqueMemoryBindInfo.Buffer value) Unsafe version ofpImageOpaqueBinds
.static long
npNext
(long struct) Unsafe version ofpNext()
.static void
npNext
(long struct, long value) Unsafe version ofpNext
.static LongBuffer
npSignalSemaphores
(long struct) Unsafe version ofpSignalSemaphores
.static void
npSignalSemaphores
(long struct, LongBuffer value) Unsafe version ofpSignalSemaphores
.static LongBuffer
npWaitSemaphores
(long struct) Unsafe version ofpWaitSemaphores
.static void
npWaitSemaphores
(long struct, LongBuffer value) Unsafe version ofpWaitSemaphores
.static int
nsignalSemaphoreCount
(long struct) Unsafe version ofsignalSemaphoreCount()
.static void
nsignalSemaphoreCount
(long struct, int value) Sets the specified value to thesignalSemaphoreCount
field of the specifiedstruct
.static int
nsType
(long struct) Unsafe version ofsType()
.static void
nsType
(long struct, int value) Unsafe version ofsType
.static int
nwaitSemaphoreCount
(long struct) Unsafe version ofwaitSemaphoreCount()
.static void
nwaitSemaphoreCount
(long struct, int value) Sets the specified value to thewaitSemaphoreCount
field of the specifiedstruct
.a pointer to an array ofVkSparseBufferMemoryBindInfo
structures.Sets the address of the specifiedVkSparseBufferMemoryBindInfo.Buffer
to thepBufferBinds()
field.a pointer to an array ofVkSparseImageMemoryBindInfo
structures, indicating sparse image bindings to perform.Sets the address of the specifiedVkSparseImageMemoryBindInfo.Buffer
to thepImageBinds()
field.a pointer to an array ofVkSparseImageOpaqueMemoryBindInfo
structures, indicating opaque sparse image bindings to perform.Sets the address of the specifiedVkSparseImageOpaqueMemoryBindInfo.Buffer
to thepImageOpaqueBinds()
field.long
pNext()
NULL
or a pointer to a structure extending this structure.pNext
(long value) Sets the specified value to thepNext()
field.pNext
(VkDeviceGroupBindSparseInfo value) Prepends the specifiedVkDeviceGroupBindSparseInfo
value to thepNext
chain.Prepends the specifiedVkDeviceGroupBindSparseInfoKHR
value to thepNext
chain.pNext
(VkFrameBoundaryEXT value) Prepends the specifiedVkFrameBoundaryEXT
value to thepNext
chain.Prepends the specifiedVkTimelineSemaphoreSubmitInfo
value to thepNext
chain.Prepends the specifiedVkTimelineSemaphoreSubmitInfoKHR
value to thepNext
chain.a pointer to an array of semaphores which will be signaled when the sparse binding operations for this batch have completed execution.pSignalSemaphores
(LongBuffer value) Sets the address of the specifiedLongBuffer
to thepSignalSemaphores()
field.a pointer to an array of semaphores upon which to wait on before the sparse binding operations for this batch begin execution.pWaitSemaphores
(LongBuffer value) Sets the address of the specifiedLongBuffer
to thepWaitSemaphores()
field.set
(int sType, long pNext, LongBuffer pWaitSemaphores, VkSparseBufferMemoryBindInfo.Buffer pBufferBinds, VkSparseImageOpaqueMemoryBindInfo.Buffer pImageOpaqueBinds, VkSparseImageMemoryBindInfo.Buffer pImageBinds, LongBuffer pSignalSemaphores) Initializes this struct with the specified values.set
(VkBindSparseInfo src) Copies the specified struct data to this struct.int
the number of semaphores to be signaled once the sparse binding operations specified by the structure have completed execution.int
sizeof()
Returnssizeof(struct)
.int
sType()
aVkStructureType
value identifying this structure.sType
(int value) Sets the specified value to thesType()
field.Sets theSTRUCTURE_TYPE_BIND_SPARSE_INFO
value to thesType()
field.static void
validate
(long struct) Validates pointer members that should not beNULL
.int
the number of semaphores upon which to wait before executing the sparse binding operations for the batch.Methods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
Methods 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. -
WAITSEMAPHORECOUNT
public static final int WAITSEMAPHORECOUNTThe struct member offsets. -
PWAITSEMAPHORES
public static final int PWAITSEMAPHORESThe struct member offsets. -
BUFFERBINDCOUNT
public static final int BUFFERBINDCOUNTThe struct member offsets. -
PBUFFERBINDS
public static final int PBUFFERBINDSThe struct member offsets. -
IMAGEOPAQUEBINDCOUNT
public static final int IMAGEOPAQUEBINDCOUNTThe struct member offsets. -
PIMAGEOPAQUEBINDS
public static final int PIMAGEOPAQUEBINDSThe struct member offsets. -
IMAGEBINDCOUNT
public static final int IMAGEBINDCOUNTThe struct member offsets. -
PIMAGEBINDS
public static final int PIMAGEBINDSThe struct member offsets. -
SIGNALSEMAPHORECOUNT
public static final int SIGNALSEMAPHORECOUNTThe struct member offsets. -
PSIGNALSEMAPHORES
public static final int PSIGNALSEMAPHORESThe struct member offsets.
-
-
Constructor Details
-
VkBindSparseInfo
Creates aVkBindSparseInfo
instance at the current position of the specifiedByteBuffer
container. 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()Description copied from class:Struct
Returnssizeof(struct)
.- Specified by:
sizeof
in classStruct<VkBindSparseInfo>
-
sType
public int sType()aVkStructureType
value identifying this structure. -
pNext
public long pNext()NULL
or a pointer to a structure extending this structure. -
waitSemaphoreCount
public int waitSemaphoreCount()the number of semaphores upon which to wait before executing the sparse binding operations for the batch. -
pWaitSemaphores
a pointer to an array of semaphores upon which to wait on before the sparse binding operations for this batch begin execution. If semaphores to wait on are provided, they define a semaphore wait operation. -
bufferBindCount
public int bufferBindCount()the number of sparse buffer bindings to perform in the batch. -
pBufferBinds
a pointer to an array ofVkSparseBufferMemoryBindInfo
structures. -
imageOpaqueBindCount
public int imageOpaqueBindCount()the number of opaque sparse image bindings to perform. -
pImageOpaqueBinds
a pointer to an array ofVkSparseImageOpaqueMemoryBindInfo
structures, indicating opaque sparse image bindings to perform. -
imageBindCount
public int imageBindCount()the number of sparse image bindings to perform. -
pImageBinds
a pointer to an array ofVkSparseImageMemoryBindInfo
structures, indicating sparse image bindings to perform. -
signalSemaphoreCount
public int signalSemaphoreCount()the number of semaphores to be signaled once the sparse binding operations specified by the structure have completed execution. -
pSignalSemaphores
a pointer to an array of semaphores which will be signaled when the sparse binding operations for this batch have completed execution. If semaphores to be signaled are provided, they define a semaphore signal operation. -
sType
Sets the specified value to thesType()
field. -
sType$Default
Sets theSTRUCTURE_TYPE_BIND_SPARSE_INFO
value to thesType()
field. -
pNext
Sets the specified value to thepNext()
field. -
pNext
Prepends the specifiedVkDeviceGroupBindSparseInfo
value to thepNext
chain. -
pNext
Prepends the specifiedVkDeviceGroupBindSparseInfoKHR
value to thepNext
chain. -
pNext
Prepends the specifiedVkFrameBoundaryEXT
value to thepNext
chain. -
pNext
Prepends the specifiedVkTimelineSemaphoreSubmitInfo
value to thepNext
chain. -
pNext
Prepends the specifiedVkTimelineSemaphoreSubmitInfoKHR
value to thepNext
chain. -
pWaitSemaphores
Sets the address of the specifiedLongBuffer
to thepWaitSemaphores()
field. -
pBufferBinds
Sets the address of the specifiedVkSparseBufferMemoryBindInfo.Buffer
to thepBufferBinds()
field. -
pImageOpaqueBinds
Sets the address of the specifiedVkSparseImageOpaqueMemoryBindInfo.Buffer
to thepImageOpaqueBinds()
field. -
pImageBinds
Sets the address of the specifiedVkSparseImageMemoryBindInfo.Buffer
to thepImageBinds()
field. -
pSignalSemaphores
Sets the address of the specifiedLongBuffer
to thepSignalSemaphores()
field. -
set
public VkBindSparseInfo set(int sType, long pNext, @Nullable LongBuffer pWaitSemaphores, @Nullable VkSparseBufferMemoryBindInfo.Buffer pBufferBinds, @Nullable VkSparseImageOpaqueMemoryBindInfo.Buffer pImageOpaqueBinds, @Nullable VkSparseImageMemoryBindInfo.Buffer pImageBinds, @Nullable LongBuffer pSignalSemaphores) 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 newVkBindSparseInfo
instance allocated withmemAlloc
. The instance must be explicitly freed. -
calloc
Returns a newVkBindSparseInfo
instance allocated withmemCalloc
. The instance must be explicitly freed. -
create
Returns a newVkBindSparseInfo
instance allocated withBufferUtils
. -
create
Returns a newVkBindSparseInfo
instance for the specified memory address. -
createSafe
-
malloc
Returns a newVkBindSparseInfo.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
Returns a newVkBindSparseInfo.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
Returns a newVkBindSparseInfo.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
Create aVkBindSparseInfo.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
malloc
Returns a newVkBindSparseInfo
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
calloc
Returns a newVkBindSparseInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
malloc
Returns a newVkBindSparseInfo.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
calloc
Returns a newVkBindSparseInfo.Buffer
instance allocated on the specifiedMemoryStack
and 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()
. -
nwaitSemaphoreCount
public static int nwaitSemaphoreCount(long struct) Unsafe version ofwaitSemaphoreCount()
. -
npWaitSemaphores
Unsafe version ofpWaitSemaphores
. -
nbufferBindCount
public static int nbufferBindCount(long struct) Unsafe version ofbufferBindCount()
. -
npBufferBinds
Unsafe version ofpBufferBinds()
. -
nimageOpaqueBindCount
public static int nimageOpaqueBindCount(long struct) Unsafe version ofimageOpaqueBindCount()
. -
npImageOpaqueBinds
Unsafe version ofpImageOpaqueBinds()
. -
nimageBindCount
public static int nimageBindCount(long struct) Unsafe version ofimageBindCount()
. -
npImageBinds
Unsafe version ofpImageBinds()
. -
nsignalSemaphoreCount
public static int nsignalSemaphoreCount(long struct) Unsafe version ofsignalSemaphoreCount()
. -
npSignalSemaphores
Unsafe version ofpSignalSemaphores
. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType
. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext
. -
nwaitSemaphoreCount
public static void nwaitSemaphoreCount(long struct, int value) Sets the specified value to thewaitSemaphoreCount
field of the specifiedstruct
. -
npWaitSemaphores
Unsafe version ofpWaitSemaphores
. -
nbufferBindCount
public static void nbufferBindCount(long struct, int value) Sets the specified value to thebufferBindCount
field of the specifiedstruct
. -
npBufferBinds
Unsafe version ofpBufferBinds
. -
nimageOpaqueBindCount
public static void nimageOpaqueBindCount(long struct, int value) Sets the specified value to theimageOpaqueBindCount
field of the specifiedstruct
. -
npImageOpaqueBinds
public static void npImageOpaqueBinds(long struct, @Nullable VkSparseImageOpaqueMemoryBindInfo.Buffer value) Unsafe version ofpImageOpaqueBinds
. -
nimageBindCount
public static void nimageBindCount(long struct, int value) Sets the specified value to theimageBindCount
field of the specifiedstruct
. -
npImageBinds
Unsafe version ofpImageBinds
. -
nsignalSemaphoreCount
public static void nsignalSemaphoreCount(long struct, int value) Sets the specified value to thesignalSemaphoreCount
field of the specifiedstruct
. -
npSignalSemaphores
Unsafe version ofpSignalSemaphores
. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL
.- Parameters:
struct
- the struct to validate
-