public class VkDescriptorUpdateTemplateEntry
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
dstBinding must be a valid binding in the descriptor set layout implicitly specified when using a descriptor update template to update descriptors.dstArrayElement and descriptorCount 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 updatesdescriptor type is DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT, dstArrayElement must be an integer multiple of 4descriptor type is DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT, descriptorCount must be an integer multiple of 4descriptorType must be a valid VkDescriptorType valueVkDescriptorUpdateTemplateCreateInfo
dstBinding – the descriptor binding to update when using this descriptor update template.dstArrayElement – the starting element in the array belonging to dstBinding. If the descriptor binding identified by srcBinding has a descriptor type of DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then dstArrayElement specifies the starting byte offset to update.descriptorCount – the number of descriptors to update. If descriptorCount is greater than the number of remaining array elements in the destination binding, those affect consecutive bindings in a manner similar to VkWriteDescriptorSet above. If the descriptor binding identified by dstBinding has a descriptor type of DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then descriptorCount 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 – a VkDescriptorType specifying the type of the descriptor.offset – the offset in bytes of the first binding in the raw data structure.stride – the stride in bytes between two consecutive array elements of the descriptor update informations 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 is DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT then the value of stride 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.
struct VkDescriptorUpdateTemplateEntry {
uint32_t dstBinding;
uint32_t dstArrayElement;
uint32_t descriptorCount;
VkDescriptorType descriptorType;
size_t offset;
size_t stride;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkDescriptorUpdateTemplateEntry.Buffer
An array of
VkDescriptorUpdateTemplateEntry structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
DESCRIPTORCOUNT
The struct member offsets.
|
static int |
DESCRIPTORTYPE
The struct member offsets.
|
static int |
DSTARRAYELEMENT
The struct member offsets.
|
static int |
DSTBINDING
The struct member offsets.
|
static int |
OFFSET
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STRIDE
The struct member offsets.
|
| Constructor and Description |
|---|
VkDescriptorUpdateTemplateEntry(java.nio.ByteBuffer container)
Creates a
VkDescriptorUpdateTemplateEntry instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkDescriptorUpdateTemplateEntry |
calloc()
Returns a new
VkDescriptorUpdateTemplateEntry instance allocated with memCalloc. |
static VkDescriptorUpdateTemplateEntry.Buffer |
calloc(int capacity)
Returns a new
VkDescriptorUpdateTemplateEntry.Buffer instance allocated with memCalloc. |
static VkDescriptorUpdateTemplateEntry |
callocStack()
Returns a new
VkDescriptorUpdateTemplateEntry instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkDescriptorUpdateTemplateEntry.Buffer |
callocStack(int capacity)
Returns a new
VkDescriptorUpdateTemplateEntry.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkDescriptorUpdateTemplateEntry.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkDescriptorUpdateTemplateEntry.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkDescriptorUpdateTemplateEntry |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkDescriptorUpdateTemplateEntry instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkDescriptorUpdateTemplateEntry |
create()
Returns a new
VkDescriptorUpdateTemplateEntry instance allocated with BufferUtils. |
static VkDescriptorUpdateTemplateEntry.Buffer |
create(int capacity)
Returns a new
VkDescriptorUpdateTemplateEntry.Buffer instance allocated with BufferUtils. |
static VkDescriptorUpdateTemplateEntry |
create(long address)
Returns a new
VkDescriptorUpdateTemplateEntry instance for the specified memory address. |
static VkDescriptorUpdateTemplateEntry.Buffer |
create(long address,
int capacity)
Create a
VkDescriptorUpdateTemplateEntry.Buffer instance at the specified memory. |
static VkDescriptorUpdateTemplateEntry |
createSafe(long address)
|
static VkDescriptorUpdateTemplateEntry.Buffer |
createSafe(long address,
int capacity)
|
int |
descriptorCount()
Returns the value of the
descriptorCount field. |
VkDescriptorUpdateTemplateEntry |
descriptorCount(int value)
Sets the specified value to the
descriptorCount field. |
int |
descriptorType()
Returns the value of the
descriptorType field. |
VkDescriptorUpdateTemplateEntry |
descriptorType(int value)
Sets the specified value to the
descriptorType field. |
int |
dstArrayElement()
Returns the value of the
dstArrayElement field. |
VkDescriptorUpdateTemplateEntry |
dstArrayElement(int value)
Sets the specified value to the
dstArrayElement field. |
int |
dstBinding()
Returns the value of the
dstBinding field. |
VkDescriptorUpdateTemplateEntry |
dstBinding(int value)
Sets the specified value to the
dstBinding field. |
static VkDescriptorUpdateTemplateEntry |
malloc()
Returns a new
VkDescriptorUpdateTemplateEntry instance allocated with memAlloc. |
static VkDescriptorUpdateTemplateEntry.Buffer |
malloc(int capacity)
Returns a new
VkDescriptorUpdateTemplateEntry.Buffer instance allocated with memAlloc. |
static VkDescriptorUpdateTemplateEntry |
mallocStack()
Returns a new
VkDescriptorUpdateTemplateEntry instance allocated on the thread-local MemoryStack. |
static VkDescriptorUpdateTemplateEntry.Buffer |
mallocStack(int capacity)
Returns a new
VkDescriptorUpdateTemplateEntry.Buffer instance allocated on the thread-local MemoryStack. |
static VkDescriptorUpdateTemplateEntry.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkDescriptorUpdateTemplateEntry.Buffer instance allocated on the specified MemoryStack. |
static VkDescriptorUpdateTemplateEntry |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkDescriptorUpdateTemplateEntry instance allocated on the specified MemoryStack. |
static int |
ndescriptorCount(long struct)
Unsafe version of
descriptorCount(). |
static void |
ndescriptorCount(long struct,
int value)
Unsafe version of
descriptorCount. |
static int |
ndescriptorType(long struct)
Unsafe version of
descriptorType(). |
static void |
ndescriptorType(long struct,
int value)
Unsafe version of
descriptorType. |
static int |
ndstArrayElement(long struct)
Unsafe version of
dstArrayElement(). |
static void |
ndstArrayElement(long struct,
int value)
Unsafe version of
dstArrayElement. |
static int |
ndstBinding(long struct)
Unsafe version of
dstBinding(). |
static void |
ndstBinding(long struct,
int value)
Unsafe version of
dstBinding. |
static long |
noffset(long struct)
Unsafe version of
offset(). |
static void |
noffset(long struct,
long value)
Unsafe version of
offset. |
static long |
nstride(long struct)
Unsafe version of
stride(). |
static void |
nstride(long struct,
long value)
Unsafe version of
stride. |
long |
offset()
Returns the value of the
offset field. |
VkDescriptorUpdateTemplateEntry |
offset(long value)
Sets the specified value to the
offset field. |
VkDescriptorUpdateTemplateEntry |
set(int dstBinding,
int dstArrayElement,
int descriptorCount,
int descriptorType,
long offset,
long stride)
Initializes this struct with the specified values.
|
VkDescriptorUpdateTemplateEntry |
set(VkDescriptorUpdateTemplateEntry src)
Copies the specified struct data to this struct.
|
int |
sizeof() |
long |
stride()
Returns the value of the
stride field. |
VkDescriptorUpdateTemplateEntry |
stride(long value)
Sets the specified value to the
stride field. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int DSTBINDING
public static final int DSTARRAYELEMENT
public static final int DESCRIPTORCOUNT
public static final int DESCRIPTORTYPE
public static final int OFFSET
public static final int STRIDE
public VkDescriptorUpdateTemplateEntry(java.nio.ByteBuffer container)
VkDescriptorUpdateTemplateEntry instance at the current position of the specified ByteBuffer 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.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int dstBinding()
dstBinding field.public int dstArrayElement()
dstArrayElement field.public int descriptorCount()
descriptorCount field.public int descriptorType()
descriptorType field.public long offset()
offset field.public long stride()
stride field.public VkDescriptorUpdateTemplateEntry dstBinding(int value)
dstBinding field.public VkDescriptorUpdateTemplateEntry dstArrayElement(int value)
dstArrayElement field.public VkDescriptorUpdateTemplateEntry descriptorCount(int value)
descriptorCount field.public VkDescriptorUpdateTemplateEntry descriptorType(int value)
descriptorType field.public VkDescriptorUpdateTemplateEntry offset(long value)
offset field.public VkDescriptorUpdateTemplateEntry stride(long value)
stride field.public VkDescriptorUpdateTemplateEntry set(int dstBinding, int dstArrayElement, int descriptorCount, int descriptorType, long offset, long stride)
public VkDescriptorUpdateTemplateEntry set(VkDescriptorUpdateTemplateEntry src)
src - the source structpublic static VkDescriptorUpdateTemplateEntry malloc()
VkDescriptorUpdateTemplateEntry instance allocated with memAlloc. The instance must be explicitly freed.public static VkDescriptorUpdateTemplateEntry calloc()
VkDescriptorUpdateTemplateEntry instance allocated with memCalloc. The instance must be explicitly freed.public static VkDescriptorUpdateTemplateEntry create()
VkDescriptorUpdateTemplateEntry instance allocated with BufferUtils.public static VkDescriptorUpdateTemplateEntry create(long address)
VkDescriptorUpdateTemplateEntry instance for the specified memory address.@Nullable public static VkDescriptorUpdateTemplateEntry createSafe(long address)
public static VkDescriptorUpdateTemplateEntry.Buffer malloc(int capacity)
VkDescriptorUpdateTemplateEntry.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkDescriptorUpdateTemplateEntry.Buffer calloc(int capacity)
VkDescriptorUpdateTemplateEntry.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkDescriptorUpdateTemplateEntry.Buffer create(int capacity)
VkDescriptorUpdateTemplateEntry.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkDescriptorUpdateTemplateEntry.Buffer create(long address, int capacity)
VkDescriptorUpdateTemplateEntry.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkDescriptorUpdateTemplateEntry.Buffer createSafe(long address, int capacity)
public static VkDescriptorUpdateTemplateEntry mallocStack()
VkDescriptorUpdateTemplateEntry instance allocated on the thread-local MemoryStack.public static VkDescriptorUpdateTemplateEntry callocStack()
VkDescriptorUpdateTemplateEntry instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkDescriptorUpdateTemplateEntry mallocStack(org.lwjgl.system.MemoryStack stack)
VkDescriptorUpdateTemplateEntry instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkDescriptorUpdateTemplateEntry callocStack(org.lwjgl.system.MemoryStack stack)
VkDescriptorUpdateTemplateEntry instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkDescriptorUpdateTemplateEntry.Buffer mallocStack(int capacity)
VkDescriptorUpdateTemplateEntry.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkDescriptorUpdateTemplateEntry.Buffer callocStack(int capacity)
VkDescriptorUpdateTemplateEntry.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkDescriptorUpdateTemplateEntry.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkDescriptorUpdateTemplateEntry.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkDescriptorUpdateTemplateEntry.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkDescriptorUpdateTemplateEntry.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int ndstBinding(long struct)
dstBinding().public static int ndstArrayElement(long struct)
dstArrayElement().public static int ndescriptorCount(long struct)
descriptorCount().public static int ndescriptorType(long struct)
descriptorType().public static long noffset(long struct)
offset().public static long nstride(long struct)
stride().public static void ndstBinding(long struct,
int value)
dstBinding.public static void ndstArrayElement(long struct,
int value)
dstArrayElement.public static void ndescriptorCount(long struct,
int value)
descriptorCount.public static void ndescriptorType(long struct,
int value)
descriptorType.public static void noffset(long struct,
long value)
offset.public static void nstride(long struct,
long value)
stride.Copyright LWJGL. All Rights Reserved. License terms.