Package org.lwjgl.vulkan
Class VkDescriptorBufferInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkDescriptorBufferInfo
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkDescriptorBufferInfo extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure specifying descriptor buffer info.Description
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.For
DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICandDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICdescriptor types,offsetis the base offset from which the dynamic offset is applied andrangeis the static size used for all dynamic offsets.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
Valid Usage (Implicit)
buffermust be a validVkBufferhandle
See Also
Member documentation
buffer– the buffer resource.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– the size in bytes that is used for this descriptor update, orWHOLE_SIZEto use the range fromoffsetto the end of the buffer.
Layout
struct VkDescriptorBufferInfo { VkBuffer buffer; VkDeviceSize offset; VkDeviceSize range; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkDescriptorBufferInfo.BufferAn array ofVkDescriptorBufferInfostructs.
-
Constructor Summary
Constructors Constructor Description VkDescriptorBufferInfo(java.nio.ByteBuffer container)Creates aVkDescriptorBufferInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description longbuffer()Returns the value of thebufferfield.VkDescriptorBufferInfobuffer(long value)Sets the specified value to thebufferfield.static VkDescriptorBufferInfocalloc()Returns a newVkDescriptorBufferInfoinstance allocated withmemCalloc.static VkDescriptorBufferInfo.Buffercalloc(int capacity)Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withmemCalloc.static VkDescriptorBufferInfocallocStack()Returns a newVkDescriptorBufferInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkDescriptorBufferInfo.BuffercallocStack(int capacity)Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkDescriptorBufferInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorBufferInfocallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorBufferInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorBufferInfocreate()Returns a newVkDescriptorBufferInfoinstance allocated withBufferUtils.static VkDescriptorBufferInfo.Buffercreate(int capacity)Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withBufferUtils.static VkDescriptorBufferInfocreate(long address)Returns a newVkDescriptorBufferInfoinstance for the specified memory address.static VkDescriptorBufferInfo.Buffercreate(long address, int capacity)Create aVkDescriptorBufferInfo.Bufferinstance at the specified memory.static VkDescriptorBufferInfocreateSafe(long address)static VkDescriptorBufferInfo.BuffercreateSafe(long address, int capacity)static VkDescriptorBufferInfomalloc()Returns a newVkDescriptorBufferInfoinstance allocated withmemAlloc.static VkDescriptorBufferInfo.Buffermalloc(int capacity)Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withmemAlloc.static VkDescriptorBufferInfomallocStack()Returns a newVkDescriptorBufferInfoinstance allocated on the thread-localMemoryStack.static VkDescriptorBufferInfo.BuffermallocStack(int capacity)Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the thread-localMemoryStack.static VkDescriptorBufferInfo.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkDescriptorBufferInfomallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkDescriptorBufferInfoinstance allocated on the specifiedMemoryStack.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()Returns the value of theoffsetfield.VkDescriptorBufferInfooffset(long value)Sets the specified value to theoffsetfield.longrange()Returns the value of therangefield.VkDescriptorBufferInforange(long value)Sets the specified value to therangefield.VkDescriptorBufferInfoset(long buffer, long offset, long range)Initializes this struct with the specified values.VkDescriptorBufferInfoset(VkDescriptorBufferInfo src)Copies the specified struct data to this struct.intsizeof()
-
-
-
Constructor Detail
-
VkDescriptorBufferInfo
public VkDescriptorBufferInfo(java.nio.ByteBuffer container)
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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
buffer
public long buffer()
Returns the value of thebufferfield.
-
offset
public long offset()
Returns the value of theoffsetfield.
-
range
public long range()
Returns the value of therangefield.
-
buffer
public VkDescriptorBufferInfo buffer(long value)
Sets the specified value to thebufferfield.
-
offset
public VkDescriptorBufferInfo offset(long value)
Sets the specified value to theoffsetfield.
-
range
public VkDescriptorBufferInfo range(long value)
Sets the specified value to therangefield.
-
set
public VkDescriptorBufferInfo set(long buffer, long offset, long range)
Initializes this struct with the specified values.
-
set
public VkDescriptorBufferInfo set(VkDescriptorBufferInfo src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkDescriptorBufferInfo malloc()
Returns a newVkDescriptorBufferInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkDescriptorBufferInfo calloc()
Returns a newVkDescriptorBufferInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkDescriptorBufferInfo create()
Returns a newVkDescriptorBufferInfoinstance allocated withBufferUtils.
-
create
public static VkDescriptorBufferInfo create(long address)
Returns a newVkDescriptorBufferInfoinstance for the specified memory address.
-
createSafe
@Nullable public static VkDescriptorBufferInfo createSafe(long address)
-
malloc
public static VkDescriptorBufferInfo.Buffer malloc(int capacity)
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkDescriptorBufferInfo.Buffer calloc(int capacity)
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkDescriptorBufferInfo.Buffer create(int capacity)
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkDescriptorBufferInfo.Buffer create(long address, int capacity)
Create aVkDescriptorBufferInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkDescriptorBufferInfo.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkDescriptorBufferInfo mallocStack()
Returns a newVkDescriptorBufferInfoinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkDescriptorBufferInfo callocStack()
Returns a newVkDescriptorBufferInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkDescriptorBufferInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkDescriptorBufferInfo callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkDescriptorBufferInfo.Buffer mallocStack(int capacity)
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkDescriptorBufferInfo.Buffer callocStack(int capacity)
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkDescriptorBufferInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkDescriptorBufferInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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.
-
-