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 information.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 - If the nullDescriptor feature 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 { VkBufferbuffer(); VkDeviceSizeoffset(); VkDeviceSizerange(); }
-
-
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 Deprecated Methods Modifier and Type Method Description longbuffer()NULL_HANDLEor the buffer resource.VkDescriptorBufferInfobuffer(long value)Sets the specified value to thebuffer()field.static VkDescriptorBufferInfocalloc()Returns a newVkDescriptorBufferInfoinstance allocated withmemCalloc.static VkDescriptorBufferInfo.Buffercalloc(int capacity)Returns a newVkDescriptorBufferInfo.Bufferinstance allocated withmemCalloc.static VkDescriptorBufferInfo.Buffercalloc(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 VkDescriptorBufferInfocallocStack()Deprecated.static VkDescriptorBufferInfo.BuffercallocStack(int capacity)Deprecated.static VkDescriptorBufferInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkDescriptorBufferInfocallocStack(org.lwjgl.system.MemoryStack stack)Deprecated.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 VkDescriptorBufferInfo.Buffermalloc(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 VkDescriptorBufferInfomallocStack()Deprecated.static VkDescriptorBufferInfo.BuffermallocStack(int capacity)Deprecated.static VkDescriptorBufferInfo.BuffermallocStack(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.VkDescriptorBufferInfooffset(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.VkDescriptorBufferInforange(long value)Sets the specified value to therange()field.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()
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.
-
buffer
public VkDescriptorBufferInfo buffer(long value)
Sets the specified value to thebuffer()field.
-
offset
public VkDescriptorBufferInfo offset(long value)
Sets the specified value to theoffset()field.
-
range
public VkDescriptorBufferInfo range(long value)
Sets the specified value to therange()field.
-
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
@Deprecated public static VkDescriptorBufferInfo mallocStack()
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkDescriptorBufferInfo callocStack()
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkDescriptorBufferInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkDescriptorBufferInfo callocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkDescriptorBufferInfo.Buffer mallocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead.
-
callocStack
@Deprecated public static VkDescriptorBufferInfo.Buffer callocStack(int capacity)
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
public static VkDescriptorBufferInfo malloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkDescriptorBufferInfo calloc(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
-
malloc
public static VkDescriptorBufferInfo.Buffer malloc(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
-
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:
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.
-
-