The above layout definition allows the descriptor bindings to be specified sparsely such that not all binding numbers between 0 and the maximum binding number need to be specified in the pBindings array. Bindings that are not specified have a descriptorCount and stageFlags of zero, and the value of descriptorType is undefined. However, all binding numbers between 0 and the maximum binding number in the VkDescriptorSetLayoutCreateInfo::pBindings array may consume memory in the descriptor set layout even if not all descriptor bindings are used, though it should not consume additional memory from the descriptor pool.
The maximum binding number specified should be as compact as possible to avoid wasted memory.
descriptorType is DESCRIPTOR_TYPE_SAMPLER or DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and descriptorCount is not 0 and pImmutableSamplers is not NULL, pImmutableSamplers must be a valid pointer to an array of descriptorCount valid VkSampler handlesinlineUniformBlock feature is not enabled, descriptorType must not be DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCKdescriptorType is DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK then descriptorCount must be a multiple of 4descriptorType is DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK and VkDescriptorSetLayoutCreateInfo::flags does not contain DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT then descriptorCount must be less than or equal to VkPhysicalDeviceInlineUniformBlockPropertiesEXT::maxInlineUniformBlockSizeVkDescriptorSetLayoutCreateInfo::flags contains DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT, descriptorType must be DESCRIPTOR_TYPE_SAMPLERVkDescriptorSetLayoutCreateInfo::flags contains DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT, descriptorCount must less than or equal to 1VkDescriptorSetLayoutCreateInfo::flags contains DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT, and descriptorCount is equal to 1, pImmutableSamplers must not be NULLdescriptorCount is not 0, stageFlags must be a valid combination of VkShaderStageFlagBits valuesdescriptorType is DESCRIPTOR_TYPE_INPUT_ATTACHMENT and descriptorCount is not 0, then stageFlags must be 0 or SHADER_STAGE_FRAGMENT_BITpImmutableSamplers must not have a borderColor with one of the values BORDER_COLOR_FLOAT_CUSTOM_EXT or BORDER_COLOR_INT_CUSTOM_EXTdescriptorType is DESCRIPTOR_TYPE_MUTABLE_EXT, then pImmutableSamplers must be NULLdescriptorType must be a valid VkDescriptorType valueVkDescriptorSetLayoutCreateInfo
struct VkDescriptorSetLayoutBinding {
uint32_t binding;
VkDescriptorType descriptorType;
uint32_t descriptorCount;
VkShaderStageFlags stageFlags;
VkSampler const * pImmutableSamplers;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkDescriptorSetLayoutBinding.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | BINDING
The struct member offsets. |
| public static final int | DESCRIPTORCOUNT
The struct member offsets. |
| public static final int | DESCRIPTORTYPE
The struct member offsets. |
| public static final int | PIMMUTABLESAMPLERS
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STAGEFLAGS
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkDescriptorSetLayoutBinding(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public int | binding()
the binding number of this entry and corresponds to a resource of the same binding number in the shader stages. |
| public VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkDescriptorSetLayoutBinding | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkDescriptorSetLayoutBinding. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding. | |
| public static VkDescriptorSetLayoutBinding. | |
| protected VkDescriptorSetLayoutBinding | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding | create(long address)
Returns a new |
| public static VkDescriptorSetLayoutBinding. | create(int
the buffer capacity capacity)Returns a new |
| public static VkDescriptorSetLayoutBinding. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding. | |
| public int | descriptorCount()
the number of descriptors contained in the binding, accessed in a shader as an array, except if |
| public VkDescriptorSetLayoutBinding | |
| public int | descriptorType()
a |
| public VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkDescriptorSetLayoutBinding | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkDescriptorSetLayoutBinding. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding | |
| public static VkDescriptorSetLayoutBinding. | |
| public static VkDescriptorSetLayoutBinding. | |
| public static int | |
| public static void | |
| public static int | |
| public static void | ndescriptorCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | |
| public static LongBuffer | |
| public static void | |
| public static int | |
| public static void | |
| public LongBuffer | |
| public VkDescriptorSetLayoutBinding | pImmutableSamplers(LongBuffer value)
Sets the address of the specified |
| public VkDescriptorSetLayoutBinding | set(int binding, int descriptorType, int descriptorCount, int stageFlags, LongBuffer pImmutableSamplers)
Initializes this struct with the specified values. |
| public VkDescriptorSetLayoutBinding | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | stageFlags()
member is a bitmask of |
| public VkDescriptorSetLayoutBinding |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| BINDING | back to summary |
|---|---|
| public static final int BINDING The struct member offsets. | |
| DESCRIPTORCOUNT | back to summary |
|---|---|
| public static final int DESCRIPTORCOUNT The struct member offsets. | |
| DESCRIPTORTYPE | back to summary |
|---|---|
| public static final int DESCRIPTORTYPE The struct member offsets. | |
| PIMMUTABLESAMPLERS | back to summary |
|---|---|
| public static final int PIMMUTABLESAMPLERS The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| STAGEFLAGS | back to summary |
|---|---|
| public static final int STAGEFLAGS The struct member offsets. | |
| VkDescriptorSetLayoutBinding | back to summary |
|---|---|
| protected VkDescriptorSetLayoutBinding(long address, ByteBuffer container) | |
| VkDescriptorSetLayoutBinding | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| binding | back to summary |
|---|---|
| public int binding() the binding number of this entry and corresponds to a resource of the same binding number in the shader stages.
| |
| binding | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding binding(int value) Sets the specified value to the | |
| calloc | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Returns a new
| |
| callocStack | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding callocStack()
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding callocStack(MemoryStack stack)
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| create | back to summary |
|---|---|
| protected VkDescriptorSetLayoutBinding create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Like
| |
| descriptorCount | back to summary |
|---|---|
| public int descriptorCount() the number of descriptors contained in the binding, accessed in a shader as an array, except if
| |
| descriptorCount | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding descriptorCount(int value) Sets the specified value to the | |
| descriptorType | back to summary |
|---|---|
| public int descriptorType() a
| |
| descriptorType | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding descriptorType(int value) Sets the specified value to the | |
| malloc | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Returns a new
| |
| mallocStack | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding mallocStack()
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding mallocStack(MemoryStack stack)
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkDescriptorSetLayoutBinding. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| nbinding | back to summary |
|---|---|
| public static int nbinding(long struct) Unsafe version of | |
| nbinding | back to summary |
|---|---|
| public static void nbinding(long struct, int value) Unsafe version of | |
| ndescriptorCount | back to summary |
|---|---|
| public static int ndescriptorCount(long struct) Unsafe version of | |
| ndescriptorCount | back to summary |
|---|---|
| public static void ndescriptorCount(long struct, int value) Sets the specified value to the | |
| ndescriptorType | back to summary |
|---|---|
| public static int ndescriptorType(long struct) Unsafe version of | |
| ndescriptorType | back to summary |
|---|---|
| public static void ndescriptorType(long struct, int value) Unsafe version of | |
| npImmutableSamplers | back to summary |
|---|---|
| public static LongBuffer npImmutableSamplers(long struct) Unsafe version of
| |
| npImmutableSamplers | back to summary |
|---|---|
| public static void npImmutableSamplers(long struct, LongBuffer value) Unsafe version of | |
| nstageFlags | back to summary |
|---|---|
| public static int nstageFlags(long struct) Unsafe version of | |
| nstageFlags | back to summary |
|---|---|
| public static void nstageFlags(long struct, int value) Unsafe version of | |
| pImmutableSamplers | back to summary |
|---|---|
| public LongBuffer pImmutableSamplers() affects initialization of samplers. If
| |
| pImmutableSamplers | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding pImmutableSamplers(LongBuffer value) Sets the address of the specified | |
| set | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding set(int binding, int descriptorType, int descriptorCount, int stageFlags, LongBuffer pImmutableSamplers) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding set(VkDescriptorSetLayoutBinding src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| stageFlags | back to summary |
|---|---|
| public int stageFlags() member is a bitmask of If a shader stage is not included in
| |
| stageFlags | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding stageFlags(int value) Sets the specified value to the | |
VkDescriptorSetLayoutBinding structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkDescriptorSetLayoutBinding |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public VkDescriptorSetLayoutBinding. | |
| public int | |
| public VkDescriptorSetLayoutBinding. | descriptorCount(int value)
Sets the specified value to the |
| public int | |
| public VkDescriptorSetLayoutBinding. | descriptorType(int value)
Sets the specified value to the |
| protected VkDescriptorSetLayoutBinding | |
| public LongBuffer | Returns: aLongBuffer view of the data pointed to by the VkDescriptorSetLayoutBinding#pImmutableSamplers field.
|
| public VkDescriptorSetLayoutBinding. | pImmutableSamplers(LongBuffer value)
Sets the address of the specified |
| protected VkDescriptorSetLayoutBinding. | |
| public int | |
| public VkDescriptorSetLayoutBinding. |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkDescriptorSetLayoutBinding ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| binding | back to summary |
|---|---|
public int binding()
| |
| binding | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding. Sets the specified value to the | |
| descriptorCount | back to summary |
|---|---|
public int descriptorCount()
| |
| descriptorCount | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding. Sets the specified value to the | |
| descriptorType | back to summary |
|---|---|
public int descriptorType()
| |
| descriptorType | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding. Sets the specified value to the | |
| getElementFactory | back to summary |
|---|---|
| protected VkDescriptorSetLayoutBinding getElementFactory() Implements abstract org.
| |
| pImmutableSamplers | back to summary |
|---|---|
public LongBuffer pImmutableSamplers()
| |
| pImmutableSamplers | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding. Sets the address of the specified | |
| self | back to summary |
|---|---|
| protected VkDescriptorSetLayoutBinding. Implements abstract org.
| |
| stageFlags | back to summary |
|---|---|
public int stageFlags()
| |
| stageFlags | back to summary |
|---|---|
| public VkDescriptorSetLayoutBinding. Sets the specified value to the | |