Package org.lwjgl.vulkan
Class VkIndirectCommandsIndexBufferTokenEXT
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkIndirectCommandsIndexBufferTokenEXT>
org.lwjgl.vulkan.VkIndirectCommandsIndexBufferTokenEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkIndirectCommandsIndexBufferTokenEXT
extends org.lwjgl.system.Struct<VkIndirectCommandsIndexBufferTokenEXT>
implements org.lwjgl.system.NativeResource
Structure specifying layout token info for a single index buffer command token.
Description
This allows for easy layering of Vulkan atop other APIs. When INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT is specified, the indirect buffer can contain a D3D12_INDEX_BUFFER_VIEW instead of VkBindIndexBufferIndirectCommandEXT as D3D’s DXGI format value is mapped to the VkIndexType. It works as both structs are otherwise binary compatible.
Valid Usage
modemust be non-zeromodemust be one of the bits supported inVkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT::supportedIndirectCommandsInputModes
Valid Usage (Implicit)
modemust be a validVkIndirectCommandsInputModeFlagBitsEXTvalue
See Also
VkIndirectCommandsTokenDataEXT
Layout
struct VkIndirectCommandsIndexBufferTokenEXT {
VkIndirectCommandsInputModeFlagBitsEXT mode();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkIndirectCommandsIndexBufferTokenEXTstructs.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 size in bytes.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkIndirectCommandsIndexBufferTokenEXT(ByteBuffer container) Creates aVkIndirectCommandsIndexBufferTokenEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated withBufferUtils.create(int capacity) Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance for the specified memory address.create(long address, int capacity) Create aVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance at the specified memory.static @Nullable VkIndirectCommandsIndexBufferTokenEXTcreateSafe(long address) static @Nullable VkIndirectCommandsIndexBufferTokenEXT.BuffercreateSafe(long address, int capacity) malloc()Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated on the specifiedMemoryStack.intmode()specifies the mode to use with this token.mode(int value) Sets the specified value to themode()field.static intnmode(long struct) Unsafe version ofmode().static voidnmode(long struct, int value) Unsafe version ofmode.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. -
MODE
public static final int MODEThe struct member offsets.
-
-
Constructor Details
-
VkIndirectCommandsIndexBufferTokenEXT
Creates aVkIndirectCommandsIndexBufferTokenEXTinstance 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<VkIndirectCommandsIndexBufferTokenEXT>
-
mode
public int mode()specifies the mode to use with this token. -
mode
Sets the specified value to themode()field. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated withBufferUtils. -
create
Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkIndirectCommandsIndexBufferTokenEXT.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkIndirectCommandsIndexBufferTokenEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkIndirectCommandsIndexBufferTokenEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkIndirectCommandsIndexBufferTokenEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsIndexBufferTokenEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nmode
public static int nmode(long struct) Unsafe version ofmode(). -
nmode
public static void nmode(long struct, int value) Unsafe version ofmode.
-