Class VkWriteDescriptorSet
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkWriteDescriptorSet
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkWriteDescriptorSet extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure specifying the parameters of a descriptor set write operation.Description
Only one of
pImageInfo,pBufferInfo, orpTexelBufferViewmembers is used according to the descriptor type specified in thedescriptorTypemember of the containingVkWriteDescriptorSetstructure, or none of them in casedescriptorTypeisDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, in which case the source data for the descriptor writes is taken from theVkWriteDescriptorSetInlineUniformBlockstructure included in thepNextchain ofVkWriteDescriptorSet, or ifdescriptorTypeisDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, in which case the source data for the descriptor writes is taken from theVkWriteDescriptorSetAccelerationStructureKHRstructure in thepNextchain ofVkWriteDescriptorSet, or ifdescriptorTypeisDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, in which case the source data for the descriptor writes is taken from theVkWriteDescriptorSetAccelerationStructureNVstructure in thepNextchain ofVkWriteDescriptorSet, as specified below.If the nullDescriptor feature is enabled, the buffer, acceleration structure, imageView, or bufferView can be
NULL_HANDLE. Loads from a null descriptor return zero values and stores and atomics to a null descriptor are discarded. A null acceleration structure descriptor results in the miss shader being invoked.If the destination descriptor is a mutable descriptor, the active descriptor type for the destination descriptor becomes
descriptorType.If the
dstBindinghas fewer thandescriptorCountarray elements remaining starting fromdstArrayElement, then the remainder will be used to update the subsequent binding -dstBinding+1starting at array element zero. If a binding has adescriptorCountof zero, it is skipped. This behavior applies recursively, with the update affecting consecutive bindings as needed to update alldescriptorCountdescriptors. Consecutive bindings must have identicalVkDescriptorType,VkShaderStageFlags,VkDescriptorBindingFlagBits, and immutable samplers references.Note
The same behavior applies to bindings with a descriptor type of
DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCKwheredescriptorCountspecifies the number of bytes to update whiledstArrayElementspecifies the starting byte offset, thus in this case if thedstBindinghas a smaller byte size than the sum ofdstArrayElementanddescriptorCount, then the remainder will be used to update the subsequent binding -dstBinding+1starting at offset zero. This falls out as a special case of the above rule.Valid Usage
dstBindingmust be less than or equal to the maximum value ofbindingof allVkDescriptorSetLayoutBindingstructures specified whendstSet’s descriptor set layout was createddstBindingmust be a binding with a non-zerodescriptorCount- All consecutive bindings updated via a single
VkWriteDescriptorSetstructure, except those with adescriptorCountof zero, must have identicaldescriptorTypeandstageFlags - All consecutive bindings updated via a single
VkWriteDescriptorSetstructure, except those with adescriptorCountof zero, must all either use immutable samplers or must all not use immutable samplers descriptorTypemust match the type ofdstBindingwithindstSetdstSetmust be a validVkDescriptorSethandle- The sum of
dstArrayElementanddescriptorCountmust be less than or equal to the number of array elements in the descriptor set binding specified bydstBinding, and all applicable consecutive bindings, as described by consecutive binding updates - If
descriptorTypeisDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,dstArrayElementmust be an integer multiple of 4 - If
descriptorTypeisDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,descriptorCountmust be an integer multiple of 4 - If
descriptorTypeisDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERorDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, each element ofpTexelBufferViewmust be either a validVkBufferViewhandle orNULL_HANDLE - If
descriptorTypeisDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERorDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERand the nullDescriptor feature is not enabled, each element ofpTexelBufferViewmust not beNULL_HANDLE - If
descriptorTypeisDESCRIPTOR_TYPE_UNIFORM_BUFFER,DESCRIPTOR_TYPE_STORAGE_BUFFER,DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, orDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,pBufferInfomust be a valid pointer to an array ofdescriptorCountvalidVkDescriptorBufferInfostructures - If
descriptorTypeisDESCRIPTOR_TYPE_SAMPLERorDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, anddstSetwas not allocated with a layout that included immutable samplers fordstBindingwithdescriptorType, thesamplermember of each element ofpImageInfomust be a validVkSamplerobject - If
descriptorTypeisDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,DESCRIPTOR_TYPE_SAMPLED_IMAGE,DESCRIPTOR_TYPE_STORAGE_IMAGE, orDESCRIPTOR_TYPE_INPUT_ATTACHMENT, theimageViewmember of each element ofpImageInfomust be either a validVkImageViewhandle orNULL_HANDLE - If
descriptorTypeisDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,DESCRIPTOR_TYPE_SAMPLED_IMAGE,DESCRIPTOR_TYPE_STORAGE_IMAGE, orDESCRIPTOR_TYPE_INPUT_ATTACHMENTand the nullDescriptor feature is not enabled, theimageViewmember of each element ofpImageInfomust not beNULL_HANDLE - If
descriptorTypeisDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, thepNextchain must include aVkWriteDescriptorSetInlineUniformBlockstructure whosedataSizemember equalsdescriptorCount - If
descriptorTypeisDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, thepNextchain must include aVkWriteDescriptorSetAccelerationStructureKHRstructure whoseaccelerationStructureCountmember equalsdescriptorCount - If
descriptorTypeisDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, thepNextchain must include aVkWriteDescriptorSetAccelerationStructureNVstructure whoseaccelerationStructureCountmember equalsdescriptorCount - If
descriptorTypeisDESCRIPTOR_TYPE_SAMPLED_IMAGE, then theimageViewmember of eachpImageInfoelement must have been created without aVkSamplerYcbcrConversionInfostructure in itspNextchain - If
descriptorTypeisDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and if any element ofpImageInfohas aimageViewmember that was created with aVkSamplerYcbcrConversionInfostructure in itspNextchain, thendstSetmust have been allocated with a layout that included immutable samplers fordstBinding, and the corresponding immutable sampler must have been created with an identically definedVkSamplerYcbcrConversionInfoobject - If
descriptorTypeisDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, anddstSetwas allocated with a layout that included immutable samplers fordstBinding, then theimageViewmember of each element ofpImageInfowhich corresponds to an immutable sampler that enables sampler Y′CBCR conversion must have been created with aVkSamplerYcbcrConversionInfostructure in itspNextchain with an identically definedVkSamplerYcbcrConversionInfoto the corresponding immutable sampler - If
descriptorTypeisDESCRIPTOR_TYPE_UNIFORM_BUFFERorDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, theoffsetmember of each element ofpBufferInfomust be a multiple ofVkPhysicalDeviceLimits::minUniformBufferOffsetAlignment - If
descriptorTypeisDESCRIPTOR_TYPE_STORAGE_BUFFERorDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, theoffsetmember of each element ofpBufferInfomust be a multiple ofVkPhysicalDeviceLimits::minStorageBufferOffsetAlignment - If
descriptorTypeisDESCRIPTOR_TYPE_UNIFORM_BUFFER,DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,DESCRIPTOR_TYPE_STORAGE_BUFFER, orDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, and thebuffermember of any element ofpBufferInfois the handle of a non-sparse buffer, then that buffer must be bound completely and contiguously to a singleVkDeviceMemoryobject - If
descriptorTypeisDESCRIPTOR_TYPE_UNIFORM_BUFFERorDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, thebuffermember of each element ofpBufferInfomust have been created withBUFFER_USAGE_UNIFORM_BUFFER_BITset - If
descriptorTypeisDESCRIPTOR_TYPE_STORAGE_BUFFERorDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, thebuffermember of each element ofpBufferInfomust have been created withBUFFER_USAGE_STORAGE_BUFFER_BITset - If
descriptorTypeisDESCRIPTOR_TYPE_UNIFORM_BUFFERorDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, therangemember of each element ofpBufferInfo, or the effective range ifrangeisWHOLE_SIZE, must be less than or equal toVkPhysicalDeviceLimits::maxUniformBufferRange - If
descriptorTypeisDESCRIPTOR_TYPE_STORAGE_BUFFERorDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, therangemember of each element ofpBufferInfo, or the effective range ifrangeisWHOLE_SIZE, must be less than or equal toVkPhysicalDeviceLimits::maxStorageBufferRange - If
descriptorTypeisDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, theVkBufferthat each element ofpTexelBufferViewwas created from must have been created withBUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BITset - If
descriptorTypeisDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, theVkBufferthat each element ofpTexelBufferViewwas created from must have been created withBUFFER_USAGE_STORAGE_TEXEL_BUFFER_BITset - If
descriptorTypeisDESCRIPTOR_TYPE_STORAGE_IMAGEorDESCRIPTOR_TYPE_INPUT_ATTACHMENT, theimageViewmember of each element ofpImageInfomust have been created with the identity swizzle - If
descriptorTypeisDESCRIPTOR_TYPE_SAMPLED_IMAGEorDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, theimageViewmember of each element ofpImageInfomust have been created withIMAGE_USAGE_SAMPLED_BITset - If
descriptorTypeisDESCRIPTOR_TYPE_SAMPLED_IMAGEtheimageLayoutmember of each element ofpImageInfomust be a member of the list given in Sampled Image - If
descriptorTypeisDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERtheimageLayoutmember of each element ofpImageInfomust be a member of the list given in Combined Image Sampler - If
descriptorTypeisDESCRIPTOR_TYPE_INPUT_ATTACHMENTtheimageLayoutmember of each element ofpImageInfomust be a member of the list given in Input Attachment - If
descriptorTypeisDESCRIPTOR_TYPE_STORAGE_IMAGEtheimageLayoutmember of each element ofpImageInfomust be a member of the list given in Storage Image - If
descriptorTypeisDESCRIPTOR_TYPE_INPUT_ATTACHMENT, theimageViewmember of each element ofpImageInfomust have been created withIMAGE_USAGE_INPUT_ATTACHMENT_BITset - If
descriptorTypeisDESCRIPTOR_TYPE_STORAGE_IMAGE, theimageViewmember of each element ofpImageInfomust have been created withIMAGE_USAGE_STORAGE_BITset - If
descriptorTypeisDESCRIPTOR_TYPE_SAMPLER, thendstSetmust not have been allocated with a layout that included immutable samplers fordstBinding - If the
VkDescriptorSetLayoutBindingfordstSetatdstBindingisDESCRIPTOR_TYPE_MUTABLE_VALVE, the new active descriptor typedescriptorTypemust exist in the correspondingpMutableDescriptorTypeListslist fordstBinding - If
descriptorTypeisDESCRIPTOR_TYPE_INPUT_ATTACHMENT, theimageViewmember of each element ofpImageInfomust have either been created without aVkImageViewMinLodCreateInfoEXTpresent in thepNextchain or with aVkImageViewMinLodCreateInfoEXT::minLodof0.0
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_WRITE_DESCRIPTOR_SET- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkWriteDescriptorSetAccelerationStructureKHR,VkWriteDescriptorSetAccelerationStructureNV, orVkWriteDescriptorSetInlineUniformBlock - The
sTypevalue of each struct in thepNextchain must be unique descriptorTypemust be a validVkDescriptorTypevaluedescriptorCountmust be greater than 0- Both of
dstSet, and the elements ofpTexelBufferViewthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameVkDevice
See Also
VkDescriptorBufferInfo,VkDescriptorImageInfo,CmdPushDescriptorSetKHR,UpdateDescriptorSetsLayout
struct VkWriteDescriptorSet { VkStructureTypesType(); void const *pNext(); VkDescriptorSetdstSet(); uint32_tdstBinding(); uint32_tdstArrayElement(); uint32_tdescriptorCount(); VkDescriptorTypedescriptorType();VkDescriptorImageInfoconst *pImageInfo();VkDescriptorBufferInfoconst *pBufferInfo(); VkBufferView const *pTexelBufferView(); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkWriteDescriptorSet.BufferAn array ofVkWriteDescriptorSetstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intDESCRIPTORCOUNT
DESCRIPTORTYPE
DSTARRAYELEMENT
DSTBINDING
DSTSET
PBUFFERINFO
PIMAGEINFO
PNEXT
PTEXELBUFFERVIEWThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkWriteDescriptorSet(java.nio.ByteBuffer container)Creates aVkWriteDescriptorSetinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static VkWriteDescriptorSetcalloc()Returns a newVkWriteDescriptorSetinstance allocated withmemCalloc.static VkWriteDescriptorSet.Buffercalloc(int capacity)Returns a newVkWriteDescriptorSet.Bufferinstance allocated withmemCalloc.static VkWriteDescriptorSet.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkWriteDescriptorSet.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkWriteDescriptorSetcalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkWriteDescriptorSetinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkWriteDescriptorSetcallocStack()Deprecated.static VkWriteDescriptorSet.BuffercallocStack(int capacity)Deprecated.static VkWriteDescriptorSet.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkWriteDescriptorSetcallocStack(org.lwjgl.system.MemoryStack stack)Deprecated.static VkWriteDescriptorSetcreate()Returns a newVkWriteDescriptorSetinstance allocated withBufferUtils.static VkWriteDescriptorSet.Buffercreate(int capacity)Returns a newVkWriteDescriptorSet.Bufferinstance allocated withBufferUtils.static VkWriteDescriptorSetcreate(long address)Returns a newVkWriteDescriptorSetinstance for the specified memory address.static VkWriteDescriptorSet.Buffercreate(long address, int capacity)Create aVkWriteDescriptorSet.Bufferinstance at the specified memory.static VkWriteDescriptorSetcreateSafe(long address)static VkWriteDescriptorSet.BuffercreateSafe(long address, int capacity)intdescriptorCount()the number of descriptors to update.VkWriteDescriptorSetdescriptorCount(int value)Sets the specified value to thedescriptorCount()field.intdescriptorType()aVkDescriptorTypespecifying the type of each descriptor inpImageInfo,pBufferInfo, orpTexelBufferView, as described below.VkWriteDescriptorSetdescriptorType(int value)Sets the specified value to thedescriptorType()field.intdstArrayElement()the starting element in that array.VkWriteDescriptorSetdstArrayElement(int value)Sets the specified value to thedstArrayElement()field.intdstBinding()the descriptor binding within that set.VkWriteDescriptorSetdstBinding(int value)Sets the specified value to thedstBinding()field.longdstSet()the destination descriptor set to update.VkWriteDescriptorSetdstSet(long value)Sets the specified value to thedstSet()field.static VkWriteDescriptorSetmalloc()Returns a newVkWriteDescriptorSetinstance allocated withmemAlloc.static VkWriteDescriptorSet.Buffermalloc(int capacity)Returns a newVkWriteDescriptorSet.Bufferinstance allocated withmemAlloc.static VkWriteDescriptorSet.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkWriteDescriptorSet.Bufferinstance allocated on the specifiedMemoryStack.static VkWriteDescriptorSetmalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkWriteDescriptorSetinstance allocated on the specifiedMemoryStack.static VkWriteDescriptorSetmallocStack()Deprecated.static VkWriteDescriptorSet.BuffermallocStack(int capacity)Deprecated.static VkWriteDescriptorSet.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkWriteDescriptorSetmallocStack(org.lwjgl.system.MemoryStack stack)Deprecated.static intndescriptorCount(long struct)Unsafe version ofdescriptorCount().static voidndescriptorCount(long struct, int value)Sets the specified value to thedescriptorCountfield of the specifiedstruct.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 longndstSet(long struct)Unsafe version ofdstSet().static voidndstSet(long struct, long value)Unsafe version ofdstSet.static VkDescriptorBufferInfo.BuffernpBufferInfo(long struct)Unsafe version ofpBufferInfo().static voidnpBufferInfo(long struct, VkDescriptorBufferInfo.Buffer value)Unsafe version ofpBufferInfo.static VkDescriptorImageInfo.BuffernpImageInfo(long struct)Unsafe version ofpImageInfo().static voidnpImageInfo(long struct, VkDescriptorImageInfo.Buffer value)Unsafe version ofpImageInfo.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static java.nio.LongBuffernpTexelBufferView(long struct)Unsafe version ofpTexelBufferView.static voidnpTexelBufferView(long struct, java.nio.LongBuffer value)Unsafe version ofpTexelBufferView.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.VkDescriptorBufferInfo.BufferpBufferInfo()a pointer to an array ofVkDescriptorBufferInfostructures or is ignored, as described below.VkWriteDescriptorSetpBufferInfo(VkDescriptorBufferInfo.Buffer value)Sets the address of the specifiedVkDescriptorBufferInfo.Bufferto thepBufferInfo()field.VkDescriptorImageInfo.BufferpImageInfo()a pointer to an array ofVkDescriptorImageInfostructures or is ignored, as described below.VkWriteDescriptorSetpImageInfo(VkDescriptorImageInfo.Buffer value)Sets the address of the specifiedVkDescriptorImageInfo.Bufferto thepImageInfo()field.longpNext()NULLor a pointer to a structure extending this structure.VkWriteDescriptorSetpNext(long value)Sets the specified value to thepNext()field.VkWriteDescriptorSetpNext(VkWriteDescriptorSetAccelerationStructureKHR value)Prepends the specifiedVkWriteDescriptorSetAccelerationStructureKHRvalue to thepNextchain.VkWriteDescriptorSetpNext(VkWriteDescriptorSetAccelerationStructureNV value)Prepends the specifiedVkWriteDescriptorSetAccelerationStructureNVvalue to thepNextchain.VkWriteDescriptorSetpNext(VkWriteDescriptorSetInlineUniformBlock value)Prepends the specifiedVkWriteDescriptorSetInlineUniformBlockvalue to thepNextchain.VkWriteDescriptorSetpNext(VkWriteDescriptorSetInlineUniformBlockEXT value)Prepends the specifiedVkWriteDescriptorSetInlineUniformBlockEXTvalue to thepNextchain.java.nio.LongBufferpTexelBufferView()a pointer to an array ofVkBufferViewhandles as described in the Buffer Views section or is ignored, as described below.VkWriteDescriptorSetpTexelBufferView(java.nio.LongBuffer value)Sets the address of the specifiedLongBufferto thepTexelBufferView()field.VkWriteDescriptorSetset(int sType, long pNext, long dstSet, int dstBinding, int dstArrayElement, int descriptorCount, int descriptorType, VkDescriptorImageInfo.Buffer pImageInfo, VkDescriptorBufferInfo.Buffer pBufferInfo, java.nio.LongBuffer pTexelBufferView)Initializes this struct with the specified values.VkWriteDescriptorSetset(VkWriteDescriptorSet src)Copies the specified struct data to this struct.intsizeof()intsType()the type of this structure.VkWriteDescriptorSetsType(int value)Sets the specified value to thesType()field.VkWriteDescriptorSetsType$Default()Sets theSTRUCTURE_TYPE_WRITE_DESCRIPTOR_SETvalue to thesType()field.
-
-
-
Constructor Detail
-
VkWriteDescriptorSet
public VkWriteDescriptorSet(java.nio.ByteBuffer container)
Creates aVkWriteDescriptorSetinstance 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
-
sType
public int sType()
the type of this structure.
-
pNext
public long pNext()
NULLor a pointer to a structure extending this structure.
-
dstSet
public long dstSet()
the destination descriptor set to update.
-
dstBinding
public int dstBinding()
the descriptor binding within that set.
-
dstArrayElement
public int dstArrayElement()
the starting element in that array. If the descriptor binding identified bydstSetanddstBindinghas a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCKthendstArrayElementspecifies the starting byte offset within the binding.
-
descriptorCount
public int descriptorCount()
the number of descriptors to update. If the descriptor binding identified bydstSetanddstBindinghas a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, thendescriptorCountspecifies the number of bytes to update. Otherwise,descriptorCountis one of- the number of elements in
pImageInfo - the number of elements in
pBufferInfo - the number of elements in
pTexelBufferView - a value matching the
dataSizemember of aVkWriteDescriptorSetInlineUniformBlockstructure in thepNextchain - a value matching the
accelerationStructureCountof aVkWriteDescriptorSetAccelerationStructureKHRstructure in thepNextchain
- the number of elements in
-
descriptorType
public int descriptorType()
aVkDescriptorTypespecifying the type of each descriptor inpImageInfo,pBufferInfo, orpTexelBufferView, as described below. IfVkDescriptorSetLayoutBindingfordstSetatdstBindingis not equal toDESCRIPTOR_TYPE_MUTABLE_VALVE,descriptorTypemust be the same type as thedescriptorTypespecified inVkDescriptorSetLayoutBindingfordstSetatdstBinding. The type of the descriptor also controls which array the descriptors are taken from.
-
pImageInfo
@Nullable public VkDescriptorImageInfo.Buffer pImageInfo()
a pointer to an array ofVkDescriptorImageInfostructures or is ignored, as described below.
-
pBufferInfo
@Nullable public VkDescriptorBufferInfo.Buffer pBufferInfo()
a pointer to an array ofVkDescriptorBufferInfostructures or is ignored, as described below.
-
pTexelBufferView
@Nullable public java.nio.LongBuffer pTexelBufferView()
a pointer to an array ofVkBufferViewhandles as described in the Buffer Views section or is ignored, as described below.
-
sType
public VkWriteDescriptorSet sType(int value)
Sets the specified value to thesType()field.
-
sType$Default
public VkWriteDescriptorSet sType$Default()
Sets theSTRUCTURE_TYPE_WRITE_DESCRIPTOR_SETvalue to thesType()field.
-
pNext
public VkWriteDescriptorSet pNext(long value)
Sets the specified value to thepNext()field.
-
pNext
public VkWriteDescriptorSet pNext(VkWriteDescriptorSetAccelerationStructureKHR value)
Prepends the specifiedVkWriteDescriptorSetAccelerationStructureKHRvalue to thepNextchain.
-
pNext
public VkWriteDescriptorSet pNext(VkWriteDescriptorSetAccelerationStructureNV value)
Prepends the specifiedVkWriteDescriptorSetAccelerationStructureNVvalue to thepNextchain.
-
pNext
public VkWriteDescriptorSet pNext(VkWriteDescriptorSetInlineUniformBlock value)
Prepends the specifiedVkWriteDescriptorSetInlineUniformBlockvalue to thepNextchain.
-
pNext
public VkWriteDescriptorSet pNext(VkWriteDescriptorSetInlineUniformBlockEXT value)
Prepends the specifiedVkWriteDescriptorSetInlineUniformBlockEXTvalue to thepNextchain.
-
dstSet
public VkWriteDescriptorSet dstSet(long value)
Sets the specified value to thedstSet()field.
-
dstBinding
public VkWriteDescriptorSet dstBinding(int value)
Sets the specified value to thedstBinding()field.
-
dstArrayElement
public VkWriteDescriptorSet dstArrayElement(int value)
Sets the specified value to thedstArrayElement()field.
-
descriptorCount
public VkWriteDescriptorSet descriptorCount(int value)
Sets the specified value to thedescriptorCount()field.
-
descriptorType
public VkWriteDescriptorSet descriptorType(int value)
Sets the specified value to thedescriptorType()field.
-
pImageInfo
public VkWriteDescriptorSet pImageInfo(@Nullable VkDescriptorImageInfo.Buffer value)
Sets the address of the specifiedVkDescriptorImageInfo.Bufferto thepImageInfo()field.
-
pBufferInfo
public VkWriteDescriptorSet pBufferInfo(@Nullable VkDescriptorBufferInfo.Buffer value)
Sets the address of the specifiedVkDescriptorBufferInfo.Bufferto thepBufferInfo()field.
-
pTexelBufferView
public VkWriteDescriptorSet pTexelBufferView(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBufferto thepTexelBufferView()field.
-
set
public VkWriteDescriptorSet set(int sType, long pNext, long dstSet, int dstBinding, int dstArrayElement, int descriptorCount, int descriptorType, @Nullable VkDescriptorImageInfo.Buffer pImageInfo, @Nullable VkDescriptorBufferInfo.Buffer pBufferInfo, @Nullable java.nio.LongBuffer pTexelBufferView)
Initializes this struct with the specified values.
-
set
public VkWriteDescriptorSet set(VkWriteDescriptorSet src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkWriteDescriptorSet malloc()
Returns a newVkWriteDescriptorSetinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkWriteDescriptorSet calloc()
Returns a newVkWriteDescriptorSetinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkWriteDescriptorSet create()
Returns a newVkWriteDescriptorSetinstance allocated withBufferUtils.
-
create
public static VkWriteDescriptorSet create(long address)
Returns a newVkWriteDescriptorSetinstance for the specified memory address.
-
createSafe
@Nullable public static VkWriteDescriptorSet createSafe(long address)
-
malloc
public static VkWriteDescriptorSet.Buffer malloc(int capacity)
Returns a newVkWriteDescriptorSet.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkWriteDescriptorSet.Buffer calloc(int capacity)
Returns a newVkWriteDescriptorSet.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkWriteDescriptorSet.Buffer create(int capacity)
Returns a newVkWriteDescriptorSet.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkWriteDescriptorSet.Buffer create(long address, int capacity)
Create aVkWriteDescriptorSet.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkWriteDescriptorSet.Buffer createSafe(long address, int capacity)
-
mallocStack
@Deprecated public static VkWriteDescriptorSet mallocStack()
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkWriteDescriptorSet callocStack()
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkWriteDescriptorSet mallocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkWriteDescriptorSet callocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkWriteDescriptorSet.Buffer mallocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead.
-
callocStack
@Deprecated public static VkWriteDescriptorSet.Buffer callocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead.
-
mallocStack
@Deprecated public static VkWriteDescriptorSet.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 VkWriteDescriptorSet.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead.
-
malloc
public static VkWriteDescriptorSet malloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkWriteDescriptorSetinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkWriteDescriptorSet calloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkWriteDescriptorSetinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkWriteDescriptorSet.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkWriteDescriptorSet.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
calloc
public static VkWriteDescriptorSet.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkWriteDescriptorSet.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
nsType
public static int nsType(long struct)
Unsafe version ofsType().
-
npNext
public static long npNext(long struct)
Unsafe version ofpNext().
-
ndstSet
public static long ndstSet(long struct)
Unsafe version ofdstSet().
-
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().
-
npImageInfo
@Nullable public static VkDescriptorImageInfo.Buffer npImageInfo(long struct)
Unsafe version ofpImageInfo().
-
npBufferInfo
@Nullable public static VkDescriptorBufferInfo.Buffer npBufferInfo(long struct)
Unsafe version ofpBufferInfo().
-
npTexelBufferView
@Nullable public static java.nio.LongBuffer npTexelBufferView(long struct)
Unsafe version ofpTexelBufferView.
-
nsType
public static void nsType(long struct, int value)Unsafe version ofsType.
-
npNext
public static void npNext(long struct, long value)Unsafe version ofpNext.
-
ndstSet
public static void ndstSet(long struct, long value)Unsafe version ofdstSet.
-
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)Sets the specified value to thedescriptorCountfield of the specifiedstruct.
-
ndescriptorType
public static void ndescriptorType(long struct, int value)Unsafe version ofdescriptorType.
-
npImageInfo
public static void npImageInfo(long struct, @Nullable VkDescriptorImageInfo.Buffer value)Unsafe version ofpImageInfo.
-
npBufferInfo
public static void npBufferInfo(long struct, @Nullable VkDescriptorBufferInfo.Buffer value)Unsafe version ofpBufferInfo.
-
npTexelBufferView
public static void npTexelBufferView(long struct, @Nullable java.nio.LongBuffer value)Unsafe version ofpTexelBufferView.
-
-