Package org.lwjgl.vulkan
Class VkDescriptorUpdateTemplateEntry
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkDescriptorUpdateTemplateEntry>
org.lwjgl.vulkan.VkDescriptorUpdateTemplateEntry
- All Implemented Interfaces:
AutoCloseable
,NativeResource
,Pointer
- Direct Known Subclasses:
VkDescriptorUpdateTemplateEntryKHR
public class VkDescriptorUpdateTemplateEntry
extends Struct<VkDescriptorUpdateTemplateEntry>
implements NativeResource
Describes a single descriptor update of the descriptor update template.
Valid Usage
dstBinding
must be a valid binding in the descriptor set layout implicitly specified when using a descriptor update template to update descriptorsdstArrayElement
anddescriptorCount
must be less than or equal to the number of array elements in the descriptor set binding implicitly specified when using a descriptor update template to update descriptors, and all applicable consecutive bindings, as described by consecutive binding updates- If
descriptor
type isDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
,dstArrayElement
must be an integer multiple of 4 - If
descriptor
type isDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
,descriptorCount
must be an integer multiple of 4
Valid Usage (Implicit)
descriptorType
must be a validVkDescriptorType
value
See Also
VkDescriptorUpdateTemplateCreateInfo
Layout
struct VkDescriptorUpdateTemplateEntry {
uint32_t dstBinding()
;
uint32_t dstArrayElement()
;
uint32_t descriptorCount()
;
VkDescriptorType descriptorType()
;
size_t offset()
;
size_t stride()
;
}
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
An array ofVkDescriptorUpdateTemplateEntry
structs.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 size in bytes.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
ConstructorDescriptionVkDescriptorUpdateTemplateEntry
(ByteBuffer container) Creates aVkDescriptorUpdateTemplateEntry
instance at the current position of the specifiedByteBuffer
container. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()
Returns a newVkDescriptorUpdateTemplateEntry
instance allocated withmemCalloc
.calloc
(int capacity) Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated withmemCalloc
.calloc
(int capacity, MemoryStack stack) Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.calloc
(MemoryStack stack) Returns a newVkDescriptorUpdateTemplateEntry
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.Deprecated.callocStack
(int capacity) Deprecated.callocStack
(int capacity, MemoryStack stack) Deprecated.callocStack
(MemoryStack stack) Deprecated.create()
Returns a newVkDescriptorUpdateTemplateEntry
instance allocated withBufferUtils
.create
(int capacity) Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated withBufferUtils
.create
(long address) Returns a newVkDescriptorUpdateTemplateEntry
instance for the specified memory address.create
(long address, int capacity) Create aVkDescriptorUpdateTemplateEntry.Buffer
instance at the specified memory.createSafe
(long address) createSafe
(long address, int capacity) int
the number of descriptors to update.descriptorCount
(int value) Sets the specified value to thedescriptorCount()
field.int
aVkDescriptorType
specifying the type of the descriptor.descriptorType
(int value) Sets the specified value to thedescriptorType()
field.int
the starting element in the array belonging todstBinding
.dstArrayElement
(int value) Sets the specified value to thedstArrayElement()
field.int
the descriptor binding to update when using this descriptor update template.dstBinding
(int value) Sets the specified value to thedstBinding()
field.malloc()
Returns a newVkDescriptorUpdateTemplateEntry
instance allocated withmemAlloc
.malloc
(int capacity) Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated withmemAlloc
.malloc
(int capacity, MemoryStack stack) Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated on the specifiedMemoryStack
.malloc
(MemoryStack stack) Returns a newVkDescriptorUpdateTemplateEntry
instance allocated on the specifiedMemoryStack
.Deprecated.mallocStack
(int capacity) Deprecated.mallocStack
(int capacity, MemoryStack stack) Deprecated.mallocStack
(MemoryStack stack) Deprecated.static int
ndescriptorCount
(long struct) Unsafe version ofdescriptorCount()
.static void
ndescriptorCount
(long struct, int value) Unsafe version ofdescriptorCount
.static int
ndescriptorType
(long struct) Unsafe version ofdescriptorType()
.static void
ndescriptorType
(long struct, int value) Unsafe version ofdescriptorType
.static int
ndstArrayElement
(long struct) Unsafe version ofdstArrayElement()
.static void
ndstArrayElement
(long struct, int value) Unsafe version ofdstArrayElement
.static int
ndstBinding
(long struct) Unsafe version ofdstBinding()
.static void
ndstBinding
(long struct, int value) Unsafe version ofdstBinding
.static long
noffset
(long struct) Unsafe version ofoffset()
.static void
noffset
(long struct, long value) Unsafe version ofoffset
.static long
nstride
(long struct) Unsafe version ofstride()
.static void
nstride
(long struct, long value) Unsafe version ofstride
.long
offset()
the offset in bytes of the first binding in the raw data structure.offset
(long value) Sets the specified value to theoffset()
field.set
(int dstBinding, int dstArrayElement, int descriptorCount, int descriptorType, long offset, long stride) Initializes this struct with the specified values.Copies the specified struct data to this struct.int
sizeof()
Returnssizeof(struct)
.long
stride()
the stride in bytes between two consecutive array elements of the descriptor update information in the raw data structure.stride
(long value) Sets the specified value to thestride()
field.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. -
DSTBINDING
public static final int DSTBINDINGThe struct member offsets. -
DSTARRAYELEMENT
public static final int DSTARRAYELEMENTThe struct member offsets. -
DESCRIPTORCOUNT
public static final int DESCRIPTORCOUNTThe struct member offsets. -
DESCRIPTORTYPE
public static final int DESCRIPTORTYPEThe struct member offsets. -
OFFSET
public static final int OFFSETThe struct member offsets. -
STRIDE
public static final int STRIDEThe struct member offsets.
-
-
Constructor Details
-
VkDescriptorUpdateTemplateEntry
Creates aVkDescriptorUpdateTemplateEntry
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<VkDescriptorUpdateTemplateEntry>
-
dstBinding
public int dstBinding()the descriptor binding to update when using this descriptor update template. -
dstArrayElement
public int dstArrayElement()the starting element in the array belonging todstBinding
. If the descriptor binding identified bydstBinding
has a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
thendstArrayElement
specifies the starting byte offset to update. -
descriptorCount
public int descriptorCount()the number of descriptors to update. IfdescriptorCount
is greater than the number of remaining array elements in the destination binding, those affect consecutive bindings in a manner similar toVkWriteDescriptorSet
above. If the descriptor binding identified bydstBinding
has a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
thendescriptorCount
specifies the number of bytes to update and the remaining array elements in the destination binding refer to the remaining number of bytes in it. -
descriptorType
public int descriptorType()aVkDescriptorType
specifying the type of the descriptor. -
offset
public long offset()the offset in bytes of the first binding in the raw data structure. -
stride
public long stride()the stride in bytes between two consecutive array elements of the descriptor update information in the raw data structure. The actual pointer ptr for each array element j of update entry i is computed using the following formula:const char *ptr = (const char *)pData + pDescriptorUpdateEntries[i].offset + j * pDescriptorUpdateEntries[i].stride
The stride is useful in case the bindings are stored in structs along with other data. If
descriptorType
isDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
then the value ofstride
is ignored and the stride is assumed to be 1, i.e. the descriptor update information for them is always specified as a contiguous range. -
dstBinding
Sets the specified value to thedstBinding()
field. -
dstArrayElement
Sets the specified value to thedstArrayElement()
field. -
descriptorCount
Sets the specified value to thedescriptorCount()
field. -
descriptorType
Sets the specified value to thedescriptorType()
field. -
offset
Sets the specified value to theoffset()
field. -
stride
Sets the specified value to thestride()
field. -
set
public VkDescriptorUpdateTemplateEntry set(int dstBinding, int dstArrayElement, int descriptorCount, int descriptorType, long offset, long stride) 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 newVkDescriptorUpdateTemplateEntry
instance allocated withmemAlloc
. The instance must be explicitly freed. -
calloc
Returns a newVkDescriptorUpdateTemplateEntry
instance allocated withmemCalloc
. The instance must be explicitly freed. -
create
Returns a newVkDescriptorUpdateTemplateEntry
instance allocated withBufferUtils
. -
create
Returns a newVkDescriptorUpdateTemplateEntry
instance for the specified memory address. -
createSafe
-
malloc
Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
Create aVkDescriptorUpdateTemplateEntry.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkDescriptorUpdateTemplateEntry.Buffer createSafe(long address, int capacity) -
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 public static VkDescriptorUpdateTemplateEntry.Buffer mallocStack(int capacity, MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
@Deprecated public static VkDescriptorUpdateTemplateEntry.Buffer callocStack(int capacity, MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
malloc
Returns a newVkDescriptorUpdateTemplateEntry
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
calloc
Returns a newVkDescriptorUpdateTemplateEntry
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
malloc
Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
calloc
Returns a newVkDescriptorUpdateTemplateEntry.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
ndstBinding
public static int ndstBinding(long struct) Unsafe version ofdstBinding()
. -
ndstArrayElement
public static int ndstArrayElement(long struct) Unsafe version ofdstArrayElement()
. -
ndescriptorCount
public static int ndescriptorCount(long struct) Unsafe version ofdescriptorCount()
. -
ndescriptorType
public static int ndescriptorType(long struct) Unsafe version ofdescriptorType()
. -
noffset
public static long noffset(long struct) Unsafe version ofoffset()
. -
nstride
public static long nstride(long struct) Unsafe version ofstride()
. -
ndstBinding
public static void ndstBinding(long struct, int value) Unsafe version ofdstBinding
. -
ndstArrayElement
public static void ndstArrayElement(long struct, int value) Unsafe version ofdstArrayElement
. -
ndescriptorCount
public static void ndescriptorCount(long struct, int value) Unsafe version ofdescriptorCount
. -
ndescriptorType
public static void ndescriptorType(long struct, int value) Unsafe version ofdescriptorType
. -
noffset
public static void noffset(long struct, long value) Unsafe version ofoffset
. -
nstride
public static void nstride(long struct, long value) Unsafe version ofstride
.
-