Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkDescriptorBufferInfo

extends Struct<VkDescriptorBufferInfo>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Structure specifying descriptor buffer information.
Description

For DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC and DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC descriptor types, offset is the base offset from which the dynamic offset is applied and range is the static size used for all dynamic offsets.

When range is WHOLE_SIZE the effective range is calculated at UpdateDescriptorSets is by taking the size of buffer minus the offset.

Valid Usage
Valid Usage (Implicit)
See Also

VkWriteDescriptorSet

Layout


struct VkDescriptorBufferInfo {
    VkBuffer buffer;
    VkDeviceSize offset;
    VkDeviceSize range;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
public static final int
ALIGNOF

The struct alignment in bytes.

public static final int
BUFFER

The struct member offsets.

public static final int
OFFSET

The struct member offsets.

public static final int
RANGE

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
VkDescriptorBufferInfo(long address, ByteBuffer container)

public
VkDescriptorBufferInfo(ByteBuffer container)

Creates a VkDescriptorBufferInfo instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public long
buffer()

NULL_HANDLE or the buffer resource.

public VkDescriptorBufferInfo
buffer(long value)

Sets the specified value to the buffer field.

public static VkDescriptorBufferInfo
calloc()

Returns a new VkDescriptorBufferInfo instance allocated with memCalloc.

public static VkDescriptorBufferInfo.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated with memCalloc.

public static VkDescriptorBufferInfo
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkDescriptorBufferInfo instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkDescriptorBufferInfo.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkDescriptorBufferInfo
callocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkDescriptorBufferInfo
callocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkDescriptorBufferInfo.Buffer
callocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkDescriptorBufferInfo.Buffer
callocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
protected VkDescriptorBufferInfo
create(long
the struct memory address
address
,
ByteBuffer
an optional container buffer, to be referenced strongly by the struct instance.
container
)

Implements abstract org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static VkDescriptorBufferInfo
create()

Returns a new VkDescriptorBufferInfo instance allocated with BufferUtils.

public static VkDescriptorBufferInfo
create(long address)

Returns a new VkDescriptorBufferInfo instance for the specified memory address.

public static VkDescriptorBufferInfo.Buffer
create(int
the buffer capacity
capacity
)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated with BufferUtils.

public static VkDescriptorBufferInfo.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a VkDescriptorBufferInfo.Buffer instance at the specified memory.

public static VkDescriptorBufferInfo
createSafe(long address)

Like create, but returns null if address is NULL.

public static VkDescriptorBufferInfo.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public static VkDescriptorBufferInfo
malloc()

Returns a new VkDescriptorBufferInfo instance allocated with memAlloc.

public static VkDescriptorBufferInfo.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated with memAlloc.

public static VkDescriptorBufferInfo
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkDescriptorBufferInfo instance allocated on the specified MemoryStack.

public static VkDescriptorBufferInfo.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated on the specified MemoryStack.

public static VkDescriptorBufferInfo
mallocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkDescriptorBufferInfo
mallocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkDescriptorBufferInfo.Buffer
mallocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkDescriptorBufferInfo.Buffer
mallocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static long
nbuffer(long struct)

Unsafe version of buffer.

public static void
nbuffer(long struct, long value)

Unsafe version of buffer.

public static long
noffset(long struct)

Unsafe version of offset.

public static void
noffset(long struct, long value)

Unsafe version of offset.

public static long
nrange(long struct)

Unsafe version of range.

public static void
nrange(long struct, long value)

Unsafe version of range.

public long
offset()

the offset in bytes from the start of buffer.

public VkDescriptorBufferInfo
offset(long value)

Sets the specified value to the offset field.

public long
range()

the size in bytes that is used for this descriptor update, or WHOLE_SIZE to use the range from offset to the end of the buffer.

public VkDescriptorBufferInfo
range(long value)

Sets the specified value to the range field.

public VkDescriptorBufferInfo
set(long buffer, long offset, long range)

Initializes this struct with the specified values.

public VkDescriptorBufferInfo

Returns:

this struct
set
(VkDescriptorBufferInfo
the source struct
src
)

Copies the specified struct data to this struct.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate

Field Detail

ALIGNOFback to summary
public static final int ALIGNOF

The struct alignment in bytes.

BUFFERback to summary
public static final int BUFFER

The struct member offsets.

OFFSETback to summary
public static final int OFFSET

The struct member offsets.

RANGEback to summary
public static final int RANGE

The struct member offsets.

SIZEOFback to summary
public static final int SIZEOF

The struct size in bytes.

Constructor Detail

VkDescriptorBufferInfoback to summary
protected VkDescriptorBufferInfo(long address, ByteBuffer container)
VkDescriptorBufferInfoback to summary
public VkDescriptorBufferInfo(ByteBuffer container)

Creates a VkDescriptorBufferInfo 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.

Method Detail

bufferback to summary
public long buffer()

NULL_HANDLE or the buffer resource.

Annotations
@NativeType:VkBuffer
bufferback to summary
public VkDescriptorBufferInfo buffer(long value)

Sets the specified value to the buffer field.

callocback to summary
public static VkDescriptorBufferInfo calloc()

Returns a new VkDescriptorBufferInfo instance allocated with memCalloc. The instance must be explicitly freed.

callocback to summary
public static VkDescriptorBufferInfo.Buffer calloc(int capacity)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated with memCalloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

callocback to summary
public static VkDescriptorBufferInfo calloc(MemoryStack stack)

Returns a new VkDescriptorBufferInfo instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
stack:MemoryStack

the stack from which to allocate

callocback to summary
public static VkDescriptorBufferInfo.Buffer calloc(int capacity, MemoryStack stack)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

callocStackback to summary
public static VkDescriptorBufferInfo callocStack()

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkDescriptorBufferInfo callocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkDescriptorBufferInfo.Buffer callocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkDescriptorBufferInfo.Buffer callocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
createback to summary
protected VkDescriptorBufferInfo create(long address, ByteBuffer container)

Implements abstract org.lwjgl.system.Struct.create.

Doc from org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.

Effectively, every Struct instance is a factory for more instances of the same type. This is used by StructBuffer.

Parameters
address:long

the struct memory address

container:ByteBuffer

an optional container buffer, to be referenced strongly by the struct instance.

Annotations
@Override
createback to summary
public static VkDescriptorBufferInfo create()

Returns a new VkDescriptorBufferInfo instance allocated with BufferUtils.

createback to summary
public static VkDescriptorBufferInfo create(long address)

Returns a new VkDescriptorBufferInfo instance for the specified memory address.

createback to summary
public static VkDescriptorBufferInfo.Buffer create(int capacity)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated with BufferUtils.

Parameters
capacity:int

the buffer capacity

createback to summary
public static VkDescriptorBufferInfo.Buffer create(long address, int capacity)

Create a VkDescriptorBufferInfo.Buffer instance at the specified memory.

Parameters
address:long

the memory address

capacity:int

the buffer capacity

createSafeback to summary
public static VkDescriptorBufferInfo createSafe(long address)

Like create, but returns null if address is NULL.

Annotations
@Nullable
createSafeback to summary
public static VkDescriptorBufferInfo.Buffer createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

Annotations
@Nullable
mallocback to summary
public static VkDescriptorBufferInfo malloc()

Returns a new VkDescriptorBufferInfo instance allocated with memAlloc. The instance must be explicitly freed.

mallocback to summary
public static VkDescriptorBufferInfo.Buffer malloc(int capacity)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated with memAlloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

mallocback to summary
public static VkDescriptorBufferInfo malloc(MemoryStack stack)

Returns a new VkDescriptorBufferInfo instance allocated on the specified MemoryStack.

Parameters
stack:MemoryStack

the stack from which to allocate

mallocback to summary
public static VkDescriptorBufferInfo.Buffer malloc(int capacity, MemoryStack stack)

Returns a new VkDescriptorBufferInfo.Buffer instance allocated on the specified MemoryStack.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

mallocStackback to summary
public static VkDescriptorBufferInfo mallocStack()

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkDescriptorBufferInfo mallocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkDescriptorBufferInfo.Buffer mallocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkDescriptorBufferInfo.Buffer mallocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
nbufferback to summary
public static long nbuffer(long struct)

Unsafe version of buffer.

nbufferback to summary
public static void nbuffer(long struct, long value)

Unsafe version of buffer.

noffsetback to summary
public static long noffset(long struct)

Unsafe version of offset.

noffsetback to summary
public static void noffset(long struct, long value)

Unsafe version of offset.

nrangeback to summary
public static long nrange(long struct)

Unsafe version of range.

nrangeback to summary
public static void nrange(long struct, long value)

Unsafe version of range.

offsetback to summary
public long offset()

the offset in bytes from the start of buffer. Access to buffer memory via this descriptor uses addressing that is relative to this starting offset.

Annotations
@NativeType:VkDeviceSize
offsetback to summary
public VkDescriptorBufferInfo offset(long value)

Sets the specified value to the offset field.

rangeback to summary
public long range()

the size in bytes that is used for this descriptor update, or WHOLE_SIZE to use the range from offset to the end of the buffer.

Note

When setting range to WHOLE_SIZE, the effective range must not be larger than the maximum range for the descriptor type (maxUniformBufferRange or maxStorageBufferRange). This means that WHOLE_SIZE is not typically useful in the common case where uniform buffer descriptors are suballocated from a buffer that is much larger than maxUniformBufferRange.

Annotations
@NativeType:VkDeviceSize
rangeback to summary
public VkDescriptorBufferInfo range(long value)

Sets the specified value to the range field.

setback to summary
public VkDescriptorBufferInfo set(long buffer, long offset, long range)

Initializes this struct with the specified values.

setback to summary
public VkDescriptorBufferInfo set(VkDescriptorBufferInfo src)

Copies the specified struct data to this struct.

Parameters
src:VkDescriptorBufferInfo

the source struct

Returns:VkDescriptorBufferInfo

this struct

sizeofback to summary
public int sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Doc from org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).

Annotations
@Override
org.lwjgl.vulkan back to summary

public Class VkDescriptorBufferInfo.Buffer

extends StructBuffer<VkDescriptorBufferInfo, VkDescriptorBufferInfo.Buffer>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable

An array of VkDescriptorBufferInfo structs.

Field Summary

Modifier and TypeField and Description
private static final VkDescriptorBufferInfo

Constructor Summary

AccessConstructor and Description
public
Buffer(ByteBuffer container)

Creates a new VkDescriptorBufferInfo.Buffer instance backed by the specified container.

public
Buffer(long address, int cap)

pack-priv
Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Summary

Modifier and TypeMethod and Description
public long

Returns:

the value of the VkDescriptorBufferInfo#buffer field.
buffer
()

public VkDescriptorBufferInfo.Buffer
buffer(long value)

Sets the specified value to the VkDescriptorBufferInfo#buffer field.

protected VkDescriptorBufferInfo
public long

Returns:

the value of the VkDescriptorBufferInfo#offset field.
offset
()

public VkDescriptorBufferInfo.Buffer
offset(long value)

Sets the specified value to the VkDescriptorBufferInfo#offset field.

public long

Returns:

the value of the VkDescriptorBufferInfo#range field.
range
()

public VkDescriptorBufferInfo.Buffer
range(long value)

Sets the specified value to the VkDescriptorBufferInfo#range field.

protected VkDescriptorBufferInfo.Buffer
Inherited from org.lwjgl.system.StructBuffer:
applyapplyforEachgetgetgetgetiteratorparallelStreamputputsizeofspliteratorstream

Field Detail

ELEMENT_FACTORYback to summary
private static final VkDescriptorBufferInfo ELEMENT_FACTORY

Constructor Detail

Bufferback to summary
public Buffer(ByteBuffer container)

Creates a new VkDescriptorBufferInfo.Buffer instance backed by the specified container.

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 VkDescriptorBufferInfo#SIZEOF, and its mark will be undefined.

The created buffer instance holds a strong reference to the container object.

Bufferback to summary
public Buffer(long address, int cap)
Bufferback to summary
pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Detail

bufferback to summary
public long buffer()
Returns:long

the value of the VkDescriptorBufferInfo#buffer field.

Annotations
@NativeType:VkBuffer
bufferback to summary
public VkDescriptorBufferInfo.Buffer buffer(long value)

Sets the specified value to the VkDescriptorBufferInfo#buffer field.

getElementFactoryback to summary
protected VkDescriptorBufferInfo getElementFactory()

Implements abstract org.lwjgl.system.StructBuffer.getElementFactory.

Annotations
@Override
offsetback to summary
public long offset()
Returns:long

the value of the VkDescriptorBufferInfo#offset field.

Annotations
@NativeType:VkDeviceSize
offsetback to summary
public VkDescriptorBufferInfo.Buffer offset(long value)

Sets the specified value to the VkDescriptorBufferInfo#offset field.

rangeback to summary
public long range()
Returns:long

the value of the VkDescriptorBufferInfo#range field.

Annotations
@NativeType:VkDeviceSize
rangeback to summary
public VkDescriptorBufferInfo.Buffer range(long value)

Sets the specified value to the VkDescriptorBufferInfo#range field.

selfback to summary
protected VkDescriptorBufferInfo.Buffer self()

Implements abstract org.lwjgl.system.CustomBuffer.self.

Annotations
@Override