Class VkDescriptorBufferInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
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
offsetmust be less than the size ofbuffer- If
rangeis not equal toWHOLE_SIZE,rangemust be greater than 0 - If
rangeis not equal toWHOLE_SIZE,rangemust be less than or equal to the size ofbufferminusoffset - If the
nullDescriptorfeature is not enabled,buffermust not beNULL_HANDLE - If
bufferisNULL_HANDLE,offsetmust be zero andrangemust beWHOLE_SIZE
Valid Usage (Implicit)
- If
bufferis notNULL_HANDLE,buffermust be a validVkBufferhandle
See Also
Layout
struct VkDescriptorBufferInfo {
VkBuffer buffer();
VkDeviceSize offset();
VkDeviceSize range();
}-
Nested Class Summary
Nested ClassesNested 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 size in bytes.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkDescriptorBufferInfo(ByteBuffer container) Creates aVkDescriptorBufferInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionlongbuffer()NULL_HANDLEor the buffer resource.buffer(long value) Sets the specified value to thebuffer()field.static VkDescriptorBufferInfocalloc()Returns a newVkDescriptorBufferInfoinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorBufferInfocalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorBufferInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorBufferInfoDeprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkDescriptorBufferInfocallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static VkDescriptorBufferInfocreate()Returns a newVkDescriptorBufferInfoinstance allocated withBufferUtils.create(int capacity) Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withBufferUtils.static VkDescriptorBufferInfocreate(long address) Returns a newVkDescriptorBufferInfoinstance for the specified memory address.create(long address, int capacity) Create aVkDescriptorBufferInfo.Bufferinstance at the specified memory.static @Nullable VkDescriptorBufferInfocreateSafe(long address) static @Nullable VkDescriptorBufferInfo.BuffercreateSafe(long address, int capacity) static VkDescriptorBufferInfomalloc()Returns a newVkDescriptorBufferInfoinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkDescriptorBufferInfomalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorBufferInfoinstance allocated on the specifiedMemoryStack.static VkDescriptorBufferInfoDeprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkDescriptorBufferInfomallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static longnbuffer(long struct) Unsafe version ofbuffer().static voidnbuffer(long struct, long value) Unsafe version ofbuffer.static longnoffset(long struct) Unsafe version ofoffset().static voidnoffset(long struct, long value) Unsafe version ofoffset.static longnrange(long struct) Unsafe version ofrange().static voidnrange(long struct, long value) Unsafe version ofrange.longoffset()the offset in bytes from the start ofbuffer.offset(long value) Sets the specified value to theoffset()field.longrange()the size in bytes that is used for this descriptor update, orWHOLE_SIZEto use the range fromoffsetto the end of the buffer.range(long value) Sets the specified value to therange()field.set(long buffer, long offset, long range) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()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. -
BUFFER
public static final int BUFFERThe struct member offsets. -
OFFSET
public static final int OFFSETThe struct member offsets. -
RANGE
public static final int RANGEThe struct member offsets.
-
-
Constructor Details
-
VkDescriptorBufferInfo
Creates aVkDescriptorBufferInfoinstance 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<VkDescriptorBufferInfo>
-
buffer
public long buffer()NULL_HANDLEor the buffer resource. -
offset
public long offset()the offset in bytes from the start ofbuffer. Access to buffer memory via this descriptor uses addressing that is relative to this starting offset. -
range
public long range()the size in bytes that is used for this descriptor update, orWHOLE_SIZEto use the range fromoffsetto the end of the buffer.Note
When setting
rangetoWHOLE_SIZE, the effective range must not be larger than the maximum range for the descriptor type (maxUniformBufferRangeormaxStorageBufferRange). This means thatWHOLE_SIZEis not typically useful in the common case where uniform buffer descriptors are suballocated from a buffer that is much larger thanmaxUniformBufferRange. -
buffer
Sets the specified value to thebuffer()field. -
offset
Sets the specified value to theoffset()field. -
range
Sets the specified value to therange()field. -
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 newVkDescriptorBufferInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkDescriptorBufferInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkDescriptorBufferInfoinstance allocated withBufferUtils. -
create
Returns a newVkDescriptorBufferInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkDescriptorBufferInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
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.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
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 VkDescriptorBufferInfo.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 VkDescriptorBufferInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkDescriptorBufferInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkDescriptorBufferInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkDescriptorBufferInfo.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkDescriptorBufferInfo.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nbuffer
public static long nbuffer(long struct) Unsafe version ofbuffer(). -
noffset
public static long noffset(long struct) Unsafe version ofoffset(). -
nrange
public static long nrange(long struct) Unsafe version ofrange(). -
nbuffer
public static void nbuffer(long struct, long value) Unsafe version ofbuffer. -
noffset
public static void noffset(long struct, long value) Unsafe version ofoffset. -
nrange
public static void nrange(long struct, long value) Unsafe version ofrange.
-