Package org.lwjgl.vulkan
Class VkDescriptorUpdateTemplateCreateInfo
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkDescriptorUpdateTemplateCreateInfo>
org.lwjgl.vulkan.VkDescriptorUpdateTemplateCreateInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkDescriptorUpdateTemplateCreateInfoKHR
public class VkDescriptorUpdateTemplateCreateInfo
extends org.lwjgl.system.Struct<VkDescriptorUpdateTemplateCreateInfo>
implements org.lwjgl.system.NativeResource
Structure specifying parameters of a newly created descriptor update template.
Valid Usage
- If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,descriptorSetLayoutmust be a validVkDescriptorSetLayouthandle - If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS,pipelineBindPointmust be a validVkPipelineBindPointvalue - If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS,pipelineLayoutmust be a validVkPipelineLayouthandle - If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS,setmust be the unique set number in the pipeline layout that uses a descriptor set layout that was created withDESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT - If
templateTypeisDESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,descriptorSetLayoutmust not contain a binding with typeDESCRIPTOR_TYPE_MUTABLE_EXT
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFOpNextmust beNULLflagsmust be 0pDescriptorUpdateEntriesmust be a valid pointer to an array ofdescriptorUpdateEntryCountvalidVkDescriptorUpdateTemplateEntrystructurestemplateTypemust be a validVkDescriptorUpdateTemplateTypevaluedescriptorUpdateEntryCountmust be greater than 0- Both of
descriptorSetLayout, andpipelineLayoutthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameVkDevice
See Also
VkDescriptorUpdateTemplateEntry, CreateDescriptorUpdateTemplate, CreateDescriptorUpdateTemplateKHR
Layout
struct VkDescriptorUpdateTemplateCreateInfo {
VkStructureType sType();
void const * pNext();
VkDescriptorUpdateTemplateCreateFlags flags();
uint32_t descriptorUpdateEntryCount();
VkDescriptorUpdateTemplateEntry const * pDescriptorUpdateEntries();
VkDescriptorUpdateTemplateType templateType();
VkDescriptorSetLayout descriptorSetLayout();
VkPipelineBindPoint pipelineBindPoint();
VkPipelineLayout pipelineLayout();
uint32_t set();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkDescriptorUpdateTemplateCreateInfostructs.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 member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.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
ConstructorsConstructorDescriptionVkDescriptorUpdateTemplateCreateInfo(ByteBuffer container) Creates aVkDescriptorUpdateTemplateCreateInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.Deprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.create()Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withBufferUtils.create(int capacity) Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkDescriptorUpdateTemplateCreateInfoinstance for the specified memory address.create(long address, int capacity) Create aVkDescriptorUpdateTemplateCreateInfo.Bufferinstance at the specified memory.static @Nullable VkDescriptorUpdateTemplateCreateInfocreateSafe(long address) static @Nullable VkDescriptorUpdateTemplateCreateInfo.BuffercreateSafe(long address, int capacity) longthe descriptor set layout used to build the descriptor update template.descriptorSetLayout(long value) Sets the specified value to thedescriptorSetLayout()field.intthe number of elements in thepDescriptorUpdateEntriesarray.intflags()reserved for future use.flags(int value) Sets the specified value to theflags()field.malloc()Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated on the specifiedMemoryStack.Deprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static longndescriptorSetLayout(long struct) Unsafe version ofdescriptorSetLayout().static voidndescriptorSetLayout(long struct, long value) Unsafe version ofdescriptorSetLayout.static intndescriptorUpdateEntryCount(long struct) Unsafe version ofdescriptorUpdateEntryCount().static voidndescriptorUpdateEntryCount(long struct, int value) Sets the specified value to thedescriptorUpdateEntryCountfield of the specifiedstruct.static intnflags(long struct) Unsafe version offlags().static voidnflags(long struct, int value) Unsafe version offlags.npDescriptorUpdateEntries(long struct) Unsafe version ofpDescriptorUpdateEntries().static voidnpDescriptorUpdateEntries(long struct, VkDescriptorUpdateTemplateEntry.Buffer value) Unsafe version ofpDescriptorUpdateEntries.static intnpipelineBindPoint(long struct) Unsafe version ofpipelineBindPoint().static voidnpipelineBindPoint(long struct, int value) Unsafe version ofpipelineBindPoint.static longnpipelineLayout(long struct) Unsafe version ofpipelineLayout().static voidnpipelineLayout(long struct, long value) Unsafe version ofpipelineLayout.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnset(long struct) Unsafe version ofset().static voidnset(long struct, int value) Unsafe version ofset.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intntemplateType(long struct) Unsafe version oftemplateType().static voidntemplateType(long struct, int value) Unsafe version oftemplateType.a pointer to an array ofVkDescriptorUpdateTemplateEntrystructures describing the descriptors to be updated by the descriptor update template.Sets the address of the specifiedVkDescriptorUpdateTemplateEntry.Bufferto thepDescriptorUpdateEntries()field.intaVkPipelineBindPointindicating the type of the pipeline that will use the descriptors.pipelineBindPoint(int value) Sets the specified value to thepipelineBindPoint()field.longaVkPipelineLayoutobject used to program the bindings.pipelineLayout(long value) Sets the specified value to thepipelineLayout()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.intset()the set number of the descriptor set in the pipeline layout that will be updated.set(int value) Sets the specified value to theset()field.set(int sType, long pNext, int flags, VkDescriptorUpdateTemplateEntry.Buffer pDescriptorUpdateEntries, int templateType, long descriptorSetLayout, int pipelineBindPoint, long pipelineLayout, int set) 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_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFOvalue to thesType()field.intSpecifies the type of the descriptor update template.templateType(int value) Sets the specified value to thetemplateType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.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. -
FLAGS
public static final int FLAGSThe struct member offsets. -
DESCRIPTORUPDATEENTRYCOUNT
public static final int DESCRIPTORUPDATEENTRYCOUNTThe struct member offsets. -
PDESCRIPTORUPDATEENTRIES
public static final int PDESCRIPTORUPDATEENTRIESThe struct member offsets. -
TEMPLATETYPE
public static final int TEMPLATETYPEThe struct member offsets. -
DESCRIPTORSETLAYOUT
public static final int DESCRIPTORSETLAYOUTThe struct member offsets. -
PIPELINEBINDPOINT
public static final int PIPELINEBINDPOINTThe struct member offsets. -
PIPELINELAYOUT
public static final int PIPELINELAYOUTThe struct member offsets. -
SET
public static final int SETThe struct member offsets.
-
-
Constructor Details
-
VkDescriptorUpdateTemplateCreateInfo
Creates aVkDescriptorUpdateTemplateCreateInfoinstance 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<VkDescriptorUpdateTemplateCreateInfo>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
flags
public int flags()reserved for future use. -
descriptorUpdateEntryCount
public int descriptorUpdateEntryCount()the number of elements in thepDescriptorUpdateEntriesarray. -
pDescriptorUpdateEntries
a pointer to an array ofVkDescriptorUpdateTemplateEntrystructures describing the descriptors to be updated by the descriptor update template. -
templateType
public int templateType()Specifies the type of the descriptor update template. If set toDESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SETit can only be used to update descriptor sets with a fixeddescriptorSetLayout. If set toDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORSit can only be used to push descriptor sets using the providedpipelineBindPoint,pipelineLayout, andsetnumber. -
descriptorSetLayout
public long descriptorSetLayout()the descriptor set layout used to build the descriptor update template. All descriptor sets which are going to be updated through the newly created descriptor update template must be created with a layout that matches (is the same as, or defined identically to) this layout. This parameter is ignored iftemplateTypeis notDESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET. -
pipelineBindPoint
public int pipelineBindPoint()aVkPipelineBindPointindicating the type of the pipeline that will use the descriptors. This parameter is ignored iftemplateTypeis notDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS -
pipelineLayout
public long pipelineLayout()aVkPipelineLayoutobject used to program the bindings. This parameter is ignored iftemplateTypeis notDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS -
set
public int set()the set number of the descriptor set in the pipeline layout that will be updated. This parameter is ignored iftemplateTypeis notDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFOvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
flags
Sets the specified value to theflags()field. -
pDescriptorUpdateEntries
public VkDescriptorUpdateTemplateCreateInfo pDescriptorUpdateEntries(VkDescriptorUpdateTemplateEntry.Buffer value) Sets the address of the specifiedVkDescriptorUpdateTemplateEntry.Bufferto thepDescriptorUpdateEntries()field. -
templateType
Sets the specified value to thetemplateType()field. -
descriptorSetLayout
Sets the specified value to thedescriptorSetLayout()field. -
pipelineBindPoint
Sets the specified value to thepipelineBindPoint()field. -
pipelineLayout
Sets the specified value to thepipelineLayout()field. -
set
Sets the specified value to theset()field. -
set
public VkDescriptorUpdateTemplateCreateInfo set(int sType, long pNext, int flags, VkDescriptorUpdateTemplateEntry.Buffer pDescriptorUpdateEntries, int templateType, long descriptorSetLayout, int pipelineBindPoint, long pipelineLayout, int set) 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 newVkDescriptorUpdateTemplateCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated withBufferUtils. -
create
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkDescriptorUpdateTemplateCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkDescriptorUpdateTemplateCreateInfo.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 public static VkDescriptorUpdateTemplateCreateInfo mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo callocStack(org.lwjgl.system.MemoryStack stack) 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 VkDescriptorUpdateTemplateCreateInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkDescriptorUpdateTemplateCreateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkDescriptorUpdateTemplateCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkDescriptorUpdateTemplateCreateInfo.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorUpdateTemplateCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkDescriptorUpdateTemplateCreateInfo.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorUpdateTemplateCreateInfo.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(). -
nflags
public static int nflags(long struct) Unsafe version offlags(). -
ndescriptorUpdateEntryCount
public static int ndescriptorUpdateEntryCount(long struct) Unsafe version ofdescriptorUpdateEntryCount(). -
npDescriptorUpdateEntries
Unsafe version ofpDescriptorUpdateEntries(). -
ntemplateType
public static int ntemplateType(long struct) Unsafe version oftemplateType(). -
ndescriptorSetLayout
public static long ndescriptorSetLayout(long struct) Unsafe version ofdescriptorSetLayout(). -
npipelineBindPoint
public static int npipelineBindPoint(long struct) Unsafe version ofpipelineBindPoint(). -
npipelineLayout
public static long npipelineLayout(long struct) Unsafe version ofpipelineLayout(). -
nset
public static int nset(long struct) Unsafe version ofset(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags. -
ndescriptorUpdateEntryCount
public static void ndescriptorUpdateEntryCount(long struct, int value) Sets the specified value to thedescriptorUpdateEntryCountfield of the specifiedstruct. -
npDescriptorUpdateEntries
public static void npDescriptorUpdateEntries(long struct, VkDescriptorUpdateTemplateEntry.Buffer value) Unsafe version ofpDescriptorUpdateEntries. -
ntemplateType
public static void ntemplateType(long struct, int value) Unsafe version oftemplateType. -
ndescriptorSetLayout
public static void ndescriptorSetLayout(long struct, long value) Unsafe version ofdescriptorSetLayout. -
npipelineBindPoint
public static void npipelineBindPoint(long struct, int value) Unsafe version ofpipelineBindPoint. -
npipelineLayout
public static void npipelineLayout(long struct, long value) Unsafe version ofpipelineLayout. -
nset
public static void nset(long struct, int value) Unsafe version ofset. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-