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.NativeResource
Structure specifying descriptor buffer info.Description
Note
When setting
range
toWHOLE_SIZE
, the effective range must not be larger than the maximum range for the descriptor type (maxUniformBufferRange
ormaxStorageBufferRange
). This means thatWHOLE_SIZE
is 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_DYNAMIC
andDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
descriptor types,offset
is the base offset from which the dynamic offset is applied andrange
is the static size used for all dynamic offsets.Valid Usage
offset
must be less than the size ofbuffer
- If
range
is not equal toWHOLE_SIZE
,range
must be greater than 0 - If
range
is not equal toWHOLE_SIZE
,range
must be less than or equal to the size ofbuffer
minusoffset
Valid Usage (Implicit)
buffer
must be a validVkBuffer
handle
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_SIZE
to use the range fromoffset
to 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 class
VkDescriptorBufferInfo.Buffer
An array ofVkDescriptorBufferInfo
structs.
-
Constructor Summary
Constructors Constructor Description VkDescriptorBufferInfo(java.nio.ByteBuffer container)
Creates aVkDescriptorBufferInfo
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
buffer()
Returns the value of thebuffer
field.VkDescriptorBufferInfo
buffer(long value)
Sets the specified value to thebuffer
field.static VkDescriptorBufferInfo
calloc()
Returns a newVkDescriptorBufferInfo
instance allocated withmemCalloc
.static VkDescriptorBufferInfo.Buffer
calloc(int capacity)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated withmemCalloc
.static VkDescriptorBufferInfo
callocStack()
Returns a newVkDescriptorBufferInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkDescriptorBufferInfo.Buffer
callocStack(int capacity)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkDescriptorBufferInfo.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkDescriptorBufferInfo
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkDescriptorBufferInfo
create()
Returns a newVkDescriptorBufferInfo
instance allocated withBufferUtils
.static VkDescriptorBufferInfo.Buffer
create(int capacity)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated withBufferUtils
.static VkDescriptorBufferInfo
create(long address)
Returns a newVkDescriptorBufferInfo
instance for the specified memory address.static VkDescriptorBufferInfo.Buffer
create(long address, int capacity)
Create aVkDescriptorBufferInfo.Buffer
instance at the specified memory.static VkDescriptorBufferInfo
createSafe(long address)
static VkDescriptorBufferInfo.Buffer
createSafe(long address, int capacity)
static VkDescriptorBufferInfo
malloc()
Returns a newVkDescriptorBufferInfo
instance allocated withmemAlloc
.static VkDescriptorBufferInfo.Buffer
malloc(int capacity)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated withmemAlloc
.static VkDescriptorBufferInfo
mallocStack()
Returns a newVkDescriptorBufferInfo
instance allocated on the thread-localMemoryStack
.static VkDescriptorBufferInfo.Buffer
mallocStack(int capacity)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated on the thread-localMemoryStack
.static VkDescriptorBufferInfo.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated on the specifiedMemoryStack
.static VkDescriptorBufferInfo
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfo
instance allocated on the specifiedMemoryStack
.static long
nbuffer(long struct)
Unsafe version ofbuffer()
.static void
nbuffer(long struct, long value)
Unsafe version ofbuffer
.static long
noffset(long struct)
Unsafe version ofoffset()
.static void
noffset(long struct, long value)
Unsafe version ofoffset
.static long
nrange(long struct)
Unsafe version ofrange()
.static void
nrange(long struct, long value)
Unsafe version ofrange
.long
offset()
Returns the value of theoffset
field.VkDescriptorBufferInfo
offset(long value)
Sets the specified value to theoffset
field.long
range()
Returns the value of therange
field.VkDescriptorBufferInfo
range(long value)
Sets the specified value to therange
field.VkDescriptorBufferInfo
set(long buffer, long offset, long range)
Initializes this struct with the specified values.VkDescriptorBufferInfo
set(VkDescriptorBufferInfo src)
Copies the specified struct data to this struct.int
sizeof()
-
-
-
Constructor Detail
-
VkDescriptorBufferInfo
public VkDescriptorBufferInfo(java.nio.ByteBuffer container)
Creates aVkDescriptorBufferInfo
instance at the current position of the specifiedByteBuffer
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
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
buffer
public long buffer()
Returns the value of thebuffer
field.
-
offset
public long offset()
Returns the value of theoffset
field.
-
range
public long range()
Returns the value of therange
field.
-
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 newVkDescriptorBufferInfo
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkDescriptorBufferInfo calloc()
Returns a newVkDescriptorBufferInfo
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkDescriptorBufferInfo create()
Returns a newVkDescriptorBufferInfo
instance allocated withBufferUtils
.
-
create
public static VkDescriptorBufferInfo create(long address)
Returns a newVkDescriptorBufferInfo
instance for the specified memory address.
-
createSafe
@Nullable public static VkDescriptorBufferInfo createSafe(long address)
-
malloc
public static VkDescriptorBufferInfo.Buffer malloc(int capacity)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkDescriptorBufferInfo.Buffer calloc(int capacity)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkDescriptorBufferInfo.Buffer create(int capacity)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkDescriptorBufferInfo.Buffer create(long address, int capacity)
Create aVkDescriptorBufferInfo.Buffer
instance 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 newVkDescriptorBufferInfo
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkDescriptorBufferInfo callocStack()
Returns a newVkDescriptorBufferInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkDescriptorBufferInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfo
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkDescriptorBufferInfo callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDescriptorBufferInfo
instance allocated on the specifiedMemoryStack
and 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.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkDescriptorBufferInfo.Buffer callocStack(int capacity)
Returns a newVkDescriptorBufferInfo.Buffer
instance allocated on the thread-localMemoryStack
and 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.Buffer
instance 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.Buffer
instance allocated on the specifiedMemoryStack
and 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
.
-
-