Package org.lwjgl.vulkan
Class VkDescriptorUpdateTemplateEntry
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkDescriptorUpdateTemplateEntry
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkDescriptorUpdateTemplateEntryKHR
public class VkDescriptorUpdateTemplateEntry extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceDescribes a single descriptor update of the descriptor update template.Valid Usage
dstBindingmust be a valid binding in the descriptor set layout implicitly specified when using a descriptor update template to update descriptors.dstArrayElementanddescriptorCountmust 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
descriptortype isDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,dstArrayElementmust be an integer multiple of 4 - If
descriptortype isDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,descriptorCountmust be an integer multiple of 4
Valid Usage (Implicit)
descriptorTypemust be a validVkDescriptorTypevalue
See Also
VkDescriptorUpdateTemplateCreateInfoMember documentation
dstBinding– the descriptor binding to update when using this descriptor update template.dstArrayElement– the starting element in the array belonging todstBinding. If the descriptor binding identified bysrcBindinghas a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXTthendstArrayElementspecifies the starting byte offset to update.descriptorCount– the number of descriptors to update. IfdescriptorCountis greater than the number of remaining array elements in the destination binding, those affect consecutive bindings in a manner similar toVkWriteDescriptorSetabove. If the descriptor binding identified bydstBindinghas a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXTthendescriptorCountspecifies 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– aVkDescriptorTypespecifying 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].strideThe stride is useful in case the bindings are stored in structs along with other data. If
descriptorTypeisDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXTthen the value ofstrideis ignored and the stride is assumed to be 1, i.e. the descriptor update information for them is always specified as a contiguous range.
Layout
struct VkDescriptorUpdateTemplateEntry { uint32_t dstBinding; uint32_t dstArrayElement; uint32_t descriptorCount; VkDescriptorType descriptorType; size_t offset; size_t stride; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkDescriptorUpdateTemplateEntry.BufferAn array ofVkDescriptorUpdateTemplateEntrystructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intDESCRIPTORCOUNT
DESCRIPTORTYPE
DSTARRAYELEMENT
DSTBINDING
OFFSETThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTRIDEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkDescriptorUpdateTemplateEntry(java.nio.ByteBuffer container)Creates aVkDescriptorUpdateTemplateEntryinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkDescriptorUpdateTemplateEntrycalloc()Returns a newVkDescriptorUpdateTemplateEntryinstance allocated withmemCalloc.static VkDescriptorUpdateTemplateEntry.Buffercalloc(int capacity)Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated withmemCalloc.static VkDescriptorUpdateTemplateEntrycallocStack()Returns a newVkDescriptorUpdateTemplateEntryinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkDescriptorUpdateTemplateEntry.BuffercallocStack(int capacity)Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkDescriptorUpdateTemplateEntry.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorUpdateTemplateEntrycallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorUpdateTemplateEntryinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorUpdateTemplateEntrycreate()Returns a newVkDescriptorUpdateTemplateEntryinstance allocated withBufferUtils.static VkDescriptorUpdateTemplateEntry.Buffercreate(int capacity)Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated withBufferUtils.static VkDescriptorUpdateTemplateEntrycreate(long address)Returns a newVkDescriptorUpdateTemplateEntryinstance for the specified memory address.static VkDescriptorUpdateTemplateEntry.Buffercreate(long address, int capacity)Create aVkDescriptorUpdateTemplateEntry.Bufferinstance at the specified memory.static VkDescriptorUpdateTemplateEntrycreateSafe(long address)static VkDescriptorUpdateTemplateEntry.BuffercreateSafe(long address, int capacity)intdescriptorCount()Returns the value of thedescriptorCountfield.VkDescriptorUpdateTemplateEntrydescriptorCount(int value)Sets the specified value to thedescriptorCountfield.intdescriptorType()Returns the value of thedescriptorTypefield.VkDescriptorUpdateTemplateEntrydescriptorType(int value)Sets the specified value to thedescriptorTypefield.intdstArrayElement()Returns the value of thedstArrayElementfield.VkDescriptorUpdateTemplateEntrydstArrayElement(int value)Sets the specified value to thedstArrayElementfield.intdstBinding()Returns the value of thedstBindingfield.VkDescriptorUpdateTemplateEntrydstBinding(int value)Sets the specified value to thedstBindingfield.static VkDescriptorUpdateTemplateEntrymalloc()Returns a newVkDescriptorUpdateTemplateEntryinstance allocated withmemAlloc.static VkDescriptorUpdateTemplateEntry.Buffermalloc(int capacity)Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated withmemAlloc.static VkDescriptorUpdateTemplateEntrymallocStack()Returns a newVkDescriptorUpdateTemplateEntryinstance allocated on the thread-localMemoryStack.static VkDescriptorUpdateTemplateEntry.BuffermallocStack(int capacity)Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated on the thread-localMemoryStack.static VkDescriptorUpdateTemplateEntry.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated on the specifiedMemoryStack.static VkDescriptorUpdateTemplateEntrymallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorUpdateTemplateEntryinstance allocated on the specifiedMemoryStack.static intndescriptorCount(long struct)Unsafe version ofdescriptorCount().static voidndescriptorCount(long struct, int value)Unsafe version ofdescriptorCount.static intndescriptorType(long struct)Unsafe version ofdescriptorType().static voidndescriptorType(long struct, int value)Unsafe version ofdescriptorType.static intndstArrayElement(long struct)Unsafe version ofdstArrayElement().static voidndstArrayElement(long struct, int value)Unsafe version ofdstArrayElement.static intndstBinding(long struct)Unsafe version ofdstBinding().static voidndstBinding(long struct, int value)Unsafe version ofdstBinding.static longnoffset(long struct)Unsafe version ofoffset().static voidnoffset(long struct, long value)Unsafe version ofoffset.static longnstride(long struct)Unsafe version ofstride().static voidnstride(long struct, long value)Unsafe version ofstride.longoffset()Returns the value of theoffsetfield.VkDescriptorUpdateTemplateEntryoffset(long value)Sets the specified value to theoffsetfield.VkDescriptorUpdateTemplateEntryset(int dstBinding, int dstArrayElement, int descriptorCount, int descriptorType, long offset, long stride)Initializes this struct with the specified values.VkDescriptorUpdateTemplateEntryset(VkDescriptorUpdateTemplateEntry src)Copies the specified struct data to this struct.intsizeof()longstride()Returns the value of thestridefield.VkDescriptorUpdateTemplateEntrystride(long value)Sets the specified value to thestridefield.
-
-
-
Constructor Detail
-
VkDescriptorUpdateTemplateEntry
public VkDescriptorUpdateTemplateEntry(java.nio.ByteBuffer container)
Creates aVkDescriptorUpdateTemplateEntryinstance 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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
dstBinding
public int dstBinding()
Returns the value of thedstBindingfield.
-
dstArrayElement
public int dstArrayElement()
Returns the value of thedstArrayElementfield.
-
descriptorCount
public int descriptorCount()
Returns the value of thedescriptorCountfield.
-
descriptorType
public int descriptorType()
Returns the value of thedescriptorTypefield.
-
offset
public long offset()
Returns the value of theoffsetfield.
-
stride
public long stride()
Returns the value of thestridefield.
-
dstBinding
public VkDescriptorUpdateTemplateEntry dstBinding(int value)
Sets the specified value to thedstBindingfield.
-
dstArrayElement
public VkDescriptorUpdateTemplateEntry dstArrayElement(int value)
Sets the specified value to thedstArrayElementfield.
-
descriptorCount
public VkDescriptorUpdateTemplateEntry descriptorCount(int value)
Sets the specified value to thedescriptorCountfield.
-
descriptorType
public VkDescriptorUpdateTemplateEntry descriptorType(int value)
Sets the specified value to thedescriptorTypefield.
-
offset
public VkDescriptorUpdateTemplateEntry offset(long value)
Sets the specified value to theoffsetfield.
-
stride
public VkDescriptorUpdateTemplateEntry stride(long value)
Sets the specified value to thestridefield.
-
set
public VkDescriptorUpdateTemplateEntry set(int dstBinding, int dstArrayElement, int descriptorCount, int descriptorType, long offset, long stride)
Initializes this struct with the specified values.
-
set
public VkDescriptorUpdateTemplateEntry set(VkDescriptorUpdateTemplateEntry src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkDescriptorUpdateTemplateEntry malloc()
Returns a newVkDescriptorUpdateTemplateEntryinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkDescriptorUpdateTemplateEntry calloc()
Returns a newVkDescriptorUpdateTemplateEntryinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkDescriptorUpdateTemplateEntry create()
Returns a newVkDescriptorUpdateTemplateEntryinstance allocated withBufferUtils.
-
create
public static VkDescriptorUpdateTemplateEntry create(long address)
Returns a newVkDescriptorUpdateTemplateEntryinstance for the specified memory address.
-
createSafe
@Nullable public static VkDescriptorUpdateTemplateEntry createSafe(long address)
-
malloc
public static VkDescriptorUpdateTemplateEntry.Buffer malloc(int capacity)
Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkDescriptorUpdateTemplateEntry.Buffer calloc(int capacity)
Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkDescriptorUpdateTemplateEntry.Buffer create(int capacity)
Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkDescriptorUpdateTemplateEntry.Buffer create(long address, int capacity)
Create aVkDescriptorUpdateTemplateEntry.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkDescriptorUpdateTemplateEntry.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkDescriptorUpdateTemplateEntry mallocStack()
Returns a newVkDescriptorUpdateTemplateEntryinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkDescriptorUpdateTemplateEntry callocStack()
Returns a newVkDescriptorUpdateTemplateEntryinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkDescriptorUpdateTemplateEntry mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorUpdateTemplateEntryinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkDescriptorUpdateTemplateEntry callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorUpdateTemplateEntryinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkDescriptorUpdateTemplateEntry.Buffer mallocStack(int capacity)
Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkDescriptorUpdateTemplateEntry.Buffer callocStack(int capacity)
Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkDescriptorUpdateTemplateEntry.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkDescriptorUpdateTemplateEntry.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorUpdateTemplateEntry.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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.
-
-