Package org.lwjgl.vulkan
Class VkBindIndexBufferIndirectCommandNV
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkBindIndexBufferIndirectCommandNV>
org.lwjgl.vulkan.VkBindIndexBufferIndirectCommandNV
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkBindIndexBufferIndirectCommandNV
extends org.lwjgl.system.Struct<VkBindIndexBufferIndirectCommandNV>
implements org.lwjgl.system.NativeResource
Structure specifying input data for a single index buffer command token.
Valid Usage
- The buffer’s usage flag from which the address was acquired must have the
BUFFER_USAGE_INDEX_BUFFER_BITbit set - The
bufferAddressmust be aligned to theindexTypeused - Each element of the buffer from which the address was acquired and that is non-sparse must be bound completely and contiguously to a single
VkDeviceMemoryobject
Valid Usage (Implicit)
indexTypemust be a validVkIndexTypevalue
Layout
struct VkBindIndexBufferIndirectCommandNV {
VkDeviceAddress bufferAddress();
uint32_t size();
VkIndexType indexType();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkBindIndexBufferIndirectCommandNVstructs.Nested 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
ConstructorsConstructorDescriptionVkBindIndexBufferIndirectCommandNV(ByteBuffer container) Creates aVkBindIndexBufferIndirectCommandNVinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionlongspecifies a physical address of theVkBufferused as index buffer.bufferAddress(long value) Sets the specified value to thebufferAddress()field.calloc()Returns a newVkBindIndexBufferIndirectCommandNVinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkBindIndexBufferIndirectCommandNVinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkBindIndexBufferIndirectCommandNVinstance allocated withBufferUtils.create(int capacity) Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkBindIndexBufferIndirectCommandNVinstance for the specified memory address.create(long address, int capacity) Create aVkBindIndexBufferIndirectCommandNV.Bufferinstance at the specified memory.static @Nullable VkBindIndexBufferIndirectCommandNVcreateSafe(long address) static @Nullable VkBindIndexBufferIndirectCommandNV.BuffercreateSafe(long address, int capacity) intaVkIndexTypevalue specifying how indices are treated.indexType(int value) Sets the specified value to theindexType()field.malloc()Returns a newVkBindIndexBufferIndirectCommandNVinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkBindIndexBufferIndirectCommandNVinstance allocated on the specifiedMemoryStack.static longnbufferAddress(long struct) Unsafe version ofbufferAddress().static voidnbufferAddress(long struct, long value) Unsafe version ofbufferAddress.static intnindexType(long struct) Unsafe version ofindexType().static voidnindexType(long struct, int value) Unsafe version ofindexType.static intnsize(long struct) Unsafe version ofsize().static voidnsize(long struct, int value) Unsafe version ofsize.set(long bufferAddress, int size, int indexType) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsize()the byte size range which is available for this operation from the provided address.size(int value) Sets the specified value to thesize()field.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. -
BUFFERADDRESS
public static final int BUFFERADDRESSThe struct member offsets. -
SIZE
public static final int SIZEThe struct member offsets. -
INDEXTYPE
public static final int INDEXTYPEThe struct member offsets.
-
-
Constructor Details
-
VkBindIndexBufferIndirectCommandNV
Creates aVkBindIndexBufferIndirectCommandNVinstance 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<VkBindIndexBufferIndirectCommandNV>
-
bufferAddress
public long bufferAddress()specifies a physical address of theVkBufferused as index buffer. -
size
public int size()the byte size range which is available for this operation from the provided address. -
indexType
public int indexType()aVkIndexTypevalue specifying how indices are treated. Instead of the Vulkan enum values, a customuint32_tvalue can be mapped toVkIndexTypeby specifying theVkIndirectCommandsLayoutTokenNV::pIndexTypesandVkIndirectCommandsLayoutTokenNV::pIndexTypeValuesarrays. -
bufferAddress
Sets the specified value to thebufferAddress()field. -
size
Sets the specified value to thesize()field. -
indexType
Sets the specified value to theindexType()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 newVkBindIndexBufferIndirectCommandNVinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkBindIndexBufferIndirectCommandNVinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkBindIndexBufferIndirectCommandNVinstance allocated withBufferUtils. -
create
Returns a newVkBindIndexBufferIndirectCommandNVinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkBindIndexBufferIndirectCommandNV.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkBindIndexBufferIndirectCommandNV.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkBindIndexBufferIndirectCommandNVinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkBindIndexBufferIndirectCommandNVinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkBindIndexBufferIndirectCommandNV.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkBindIndexBufferIndirectCommandNV.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkBindIndexBufferIndirectCommandNV.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nbufferAddress
public static long nbufferAddress(long struct) Unsafe version ofbufferAddress(). -
nsize
public static int nsize(long struct) Unsafe version ofsize(). -
nindexType
public static int nindexType(long struct) Unsafe version ofindexType(). -
nbufferAddress
public static void nbufferAddress(long struct, long value) Unsafe version ofbufferAddress. -
nsize
public static void nsize(long struct, int value) Unsafe version ofsize. -
nindexType
public static void nindexType(long struct, int value) Unsafe version ofindexType.
-