Package org.lwjgl.vulkan
Class VkIndirectCommandsLayoutTokenNV
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkIndirectCommandsLayoutTokenNV>
org.lwjgl.vulkan.VkIndirectCommandsLayoutTokenNV
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkIndirectCommandsLayoutTokenNV
extends org.lwjgl.system.Struct<VkIndirectCommandsLayoutTokenNV>
implements org.lwjgl.system.NativeResource
Struct specifying the details of an indirect command layout token.
Valid Usage
streammust be smaller thanVkIndirectCommandsLayoutCreateInfoNV::streamCountoffsetmust be less than or equal toVkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectCommandsTokenOffsetoffsetmust be aligned to the scalar alignment oftokenTypeorminIndirectCommandsBufferOffsetAlignment, whichever is lower- If
tokenTypeisINDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV,vertexBindingUnitmust stay within device supported limits for the appropriate commands - If
tokenTypeisINDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,pushconstantPipelineLayoutmust be valid - If
tokenTypeisINDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,pushconstantOffsetmust be a multiple of 4 - If
tokenTypeisINDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,pushconstantSizemust be a multiple of 4 - If
tokenTypeisINDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,pushconstantOffsetmust be less thanVkPhysicalDeviceLimits::maxPushConstantsSize - If
tokenTypeisINDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,pushconstantSizemust be less than or equal toVkPhysicalDeviceLimits::maxPushConstantsSizeminuspushconstantOffset - If
tokenTypeisINDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, for each byte in the range specified bypushconstantOffsetandpushconstantSizeand for each shader stage inpushconstantShaderStageFlags, there must be a push constant range inpushconstantPipelineLayoutthat includes that byte and that stage - If
tokenTypeisINDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, for each byte in the range specified bypushconstantOffsetandpushconstantSizeand for each push constant range that overlaps that byte,pushconstantShaderStageFlagsmust include all stages in that push constant range’sVkPushConstantRange::stageFlags - If
tokenTypeisINDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV,indirectStateFlagsmust not be 0
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NVpNextmust beNULLtokenTypemust be a validVkIndirectCommandsTokenTypeNVvalue- If
pushconstantPipelineLayoutis notNULL_HANDLE,pushconstantPipelineLayoutmust be a validVkPipelineLayouthandle pushconstantShaderStageFlagsmust be a valid combination ofVkShaderStageFlagBitsvaluesindirectStateFlagsmust be a valid combination ofVkIndirectStateFlagBitsNVvalues- If
indexTypeCountis not 0,pIndexTypesmust be a valid pointer to an array ofindexTypeCountvalidVkIndexTypevalues - If
indexTypeCountis not 0,pIndexTypeValuesmust be a valid pointer to an array ofindexTypeCountuint32_tvalues
See Also
VkIndirectCommandsLayoutCreateInfoNV
Layout
struct VkIndirectCommandsLayoutTokenNV {
VkStructureType sType();
void const * pNext();
VkIndirectCommandsTokenTypeNV tokenType();
uint32_t stream;
uint32_t offset();
uint32_t vertexBindingUnit();
VkBool32 vertexDynamicStride();
VkPipelineLayout pushconstantPipelineLayout();
VkShaderStageFlags pushconstantShaderStageFlags();
uint32_t pushconstantOffset();
uint32_t pushconstantSize();
VkIndirectStateFlagsNV indirectStateFlags();
uint32_t indexTypeCount();
VkIndexType const * pIndexTypes();
uint32_t const * pIndexTypeValues;
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkIndirectCommandsLayoutTokenNVstructs.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 member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.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.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkIndirectCommandsLayoutTokenNV(ByteBuffer container) Creates aVkIndirectCommandsLayoutTokenNVinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkIndirectCommandsLayoutTokenNVinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsLayoutTokenNVinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkIndirectCommandsLayoutTokenNVinstance allocated withBufferUtils.create(int capacity) Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkIndirectCommandsLayoutTokenNVinstance for the specified memory address.create(long address, int capacity) Create aVkIndirectCommandsLayoutTokenNV.Bufferinstance at the specified memory.static @Nullable VkIndirectCommandsLayoutTokenNVcreateSafe(long address) static @Nullable VkIndirectCommandsLayoutTokenNV.BuffercreateSafe(long address, int capacity) intthe optional size of thepIndexTypesandpIndexTypeValuesarray pairings.indexTypeCount(int value) Sets the specified value to theindexTypeCount()field.intaVkIndirectStateFlagsNVbitfield indicating the active states for the state flag command.indirectStateFlags(int value) Sets the specified value to theindirectStateFlags()field.malloc()Returns a newVkIndirectCommandsLayoutTokenNVinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsLayoutTokenNVinstance allocated on the specifiedMemoryStack.static intnindexTypeCount(long struct) Unsafe version ofindexTypeCount().static voidnindexTypeCount(long struct, int value) Sets the specified value to theindexTypeCountfield of the specifiedstruct.static intnindirectStateFlags(long struct) Unsafe version ofindirectStateFlags().static voidnindirectStateFlags(long struct, int value) Unsafe version ofindirectStateFlags.static intnoffset(long struct) Unsafe version ofoffset().static voidnoffset(long struct, int value) Unsafe version ofoffset.static @Nullable IntBuffernpIndexTypes(long struct) Unsafe version ofpIndexTypes.static voidnpIndexTypes(long struct, @Nullable IntBuffer value) Unsafe version ofpIndexTypes.static @Nullable IntBuffernpIndexTypeValues(long struct) Unsafe version ofpIndexTypeValues.static voidnpIndexTypeValues(long struct, @Nullable IntBuffer value) Unsafe version ofpIndexTypeValues.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnpushconstantOffset(long struct) Unsafe version ofpushconstantOffset().static voidnpushconstantOffset(long struct, int value) Unsafe version ofpushconstantOffset.static longnpushconstantPipelineLayout(long struct) Unsafe version ofpushconstantPipelineLayout().static voidnpushconstantPipelineLayout(long struct, long value) Unsafe version ofpushconstantPipelineLayout.static intnpushconstantShaderStageFlags(long struct) Unsafe version ofpushconstantShaderStageFlags().static voidnpushconstantShaderStageFlags(long struct, int value) Unsafe version ofpushconstantShaderStageFlags.static intnpushconstantSize(long struct) Unsafe version ofpushconstantSize().static voidnpushconstantSize(long struct, int value) Unsafe version ofpushconstantSize.static intnstream$(long struct) Unsafe version ofstream$().static voidnstream$(long struct, int value) Unsafe version ofstream$.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intntokenType(long struct) Unsafe version oftokenType().static voidntokenType(long struct, int value) Unsafe version oftokenType.static intnvertexBindingUnit(long struct) Unsafe version ofvertexBindingUnit().static voidnvertexBindingUnit(long struct, int value) Unsafe version ofvertexBindingUnit.static intnvertexDynamicStride(long struct) Unsafe version ofvertexDynamicStride().static voidnvertexDynamicStride(long struct, int value) Unsafe version ofvertexDynamicStride.intoffset()a relative starting offset within the input stream memory for the token argument data.offset(int value) Sets the specified value to theoffset()field.@Nullable IntBufferthe usedVkIndexTypefor the correspondinguint32_tvalue entry inpIndexTypeValues.pIndexTypes(@Nullable IntBuffer value) Sets the address of the specifiedIntBufferto thepIndexTypes()field.@Nullable IntBufferpIndexTypeValues(@Nullable IntBuffer value) Sets the address of the specifiedIntBufferto thepIndexTypeValuesfield.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.intthe offset used for the push constant command.pushconstantOffset(int value) Sets the specified value to thepushconstantOffset()field.longtheVkPipelineLayoutused for the push constant command.pushconstantPipelineLayout(long value) Sets the specified value to thepushconstantPipelineLayout()field.intare the shader stage flags used for the push constant command.pushconstantShaderStageFlags(int value) Sets the specified value to thepushconstantShaderStageFlags()field.intthe size used for the push constant command.pushconstantSize(int value) Sets the specified value to thepushconstantSize()field.set(int sType, long pNext, int tokenType, int stream$, int offset, int vertexBindingUnit, boolean vertexDynamicStride, long pushconstantPipelineLayout, int pushconstantShaderStageFlags, int pushconstantOffset, int pushconstantSize, int indirectStateFlags, int indexTypeCount, @Nullable IntBuffer pIndexTypes, @Nullable IntBuffer pIndexTypeValues) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intstream$()the index of the input stream containing the token argument data.stream$(int value) Sets the specified value to thestream$()field.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NVvalue to thesType()field.intaVkIndirectCommandsTokenTypeNVspecifying the token command type.tokenType(int value) Sets the specified value to thetokenType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.intused for the vertex buffer binding command.vertexBindingUnit(int value) Sets the specified value to thevertexBindingUnit()field.booleansets if the vertex buffer stride is provided by the binding command rather than the current bound graphics pipeline state.vertexDynamicStride(boolean value) Sets the specified value to thevertexDynamicStride()field.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. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
TOKENTYPE
public static final int TOKENTYPEThe struct member offsets. -
STREAM
public static final int STREAMThe struct member offsets. -
OFFSET
public static final int OFFSETThe struct member offsets. -
VERTEXBINDINGUNIT
public static final int VERTEXBINDINGUNITThe struct member offsets. -
VERTEXDYNAMICSTRIDE
public static final int VERTEXDYNAMICSTRIDEThe struct member offsets. -
PUSHCONSTANTPIPELINELAYOUT
public static final int PUSHCONSTANTPIPELINELAYOUTThe struct member offsets. -
PUSHCONSTANTSHADERSTAGEFLAGS
public static final int PUSHCONSTANTSHADERSTAGEFLAGSThe struct member offsets. -
PUSHCONSTANTOFFSET
public static final int PUSHCONSTANTOFFSETThe struct member offsets. -
PUSHCONSTANTSIZE
public static final int PUSHCONSTANTSIZEThe struct member offsets. -
INDIRECTSTATEFLAGS
public static final int INDIRECTSTATEFLAGSThe struct member offsets. -
INDEXTYPECOUNT
public static final int INDEXTYPECOUNTThe struct member offsets. -
PINDEXTYPES
public static final int PINDEXTYPESThe struct member offsets. -
PINDEXTYPEVALUES
public static final int PINDEXTYPEVALUESThe struct member offsets.
-
-
Constructor Details
-
VkIndirectCommandsLayoutTokenNV
Creates aVkIndirectCommandsLayoutTokenNVinstance 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<VkIndirectCommandsLayoutTokenNV>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
tokenType
public int tokenType()aVkIndirectCommandsTokenTypeNVspecifying the token command type. -
stream$
public int stream$()the index of the input stream containing the token argument data. -
offset
public int offset()a relative starting offset within the input stream memory for the token argument data. -
vertexBindingUnit
public int vertexBindingUnit()used for the vertex buffer binding command. -
vertexDynamicStride
public boolean vertexDynamicStride()sets if the vertex buffer stride is provided by the binding command rather than the current bound graphics pipeline state. -
pushconstantPipelineLayout
public long pushconstantPipelineLayout()theVkPipelineLayoutused for the push constant command. -
pushconstantShaderStageFlags
public int pushconstantShaderStageFlags()are the shader stage flags used for the push constant command. -
pushconstantOffset
public int pushconstantOffset()the offset used for the push constant command. -
pushconstantSize
public int pushconstantSize()the size used for the push constant command. -
indirectStateFlags
public int indirectStateFlags()aVkIndirectStateFlagsNVbitfield indicating the active states for the state flag command. -
indexTypeCount
public int indexTypeCount()the optional size of thepIndexTypesandpIndexTypeValuesarray pairings. If not zero, it allows to register a customuint32_tvalue to be treated as specificVkIndexType. -
pIndexTypes
the usedVkIndexTypefor the correspondinguint32_tvalue entry inpIndexTypeValues. -
pIndexTypeValues
- Returns:
- a
IntBufferview of the data pointed to by thepIndexTypeValuesfield.
-
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NVvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
tokenType
Sets the specified value to thetokenType()field. -
stream$
Sets the specified value to thestream$()field. -
offset
Sets the specified value to theoffset()field. -
vertexBindingUnit
Sets the specified value to thevertexBindingUnit()field. -
vertexDynamicStride
Sets the specified value to thevertexDynamicStride()field. -
pushconstantPipelineLayout
Sets the specified value to thepushconstantPipelineLayout()field. -
pushconstantShaderStageFlags
Sets the specified value to thepushconstantShaderStageFlags()field. -
pushconstantOffset
Sets the specified value to thepushconstantOffset()field. -
pushconstantSize
Sets the specified value to thepushconstantSize()field. -
indirectStateFlags
Sets the specified value to theindirectStateFlags()field. -
indexTypeCount
Sets the specified value to theindexTypeCount()field. -
pIndexTypes
Sets the address of the specifiedIntBufferto thepIndexTypes()field. -
pIndexTypeValues
Sets the address of the specifiedIntBufferto thepIndexTypeValuesfield. -
set
public VkIndirectCommandsLayoutTokenNV set(int sType, long pNext, int tokenType, int stream$, int offset, int vertexBindingUnit, boolean vertexDynamicStride, long pushconstantPipelineLayout, int pushconstantShaderStageFlags, int pushconstantOffset, int pushconstantSize, int indirectStateFlags, int indexTypeCount, @Nullable IntBuffer pIndexTypes, @Nullable IntBuffer pIndexTypeValues) 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 newVkIndirectCommandsLayoutTokenNVinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkIndirectCommandsLayoutTokenNVinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkIndirectCommandsLayoutTokenNVinstance allocated withBufferUtils. -
create
Returns a newVkIndirectCommandsLayoutTokenNVinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkIndirectCommandsLayoutTokenNV.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkIndirectCommandsLayoutTokenNV.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkIndirectCommandsLayoutTokenNVinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkIndirectCommandsLayoutTokenNVinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkIndirectCommandsLayoutTokenNV.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkIndirectCommandsLayoutTokenNV.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkIndirectCommandsLayoutTokenNV.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
ntokenType
public static int ntokenType(long struct) Unsafe version oftokenType(). -
nstream$
public static int nstream$(long struct) Unsafe version ofstream$(). -
noffset
public static int noffset(long struct) Unsafe version ofoffset(). -
nvertexBindingUnit
public static int nvertexBindingUnit(long struct) Unsafe version ofvertexBindingUnit(). -
nvertexDynamicStride
public static int nvertexDynamicStride(long struct) Unsafe version ofvertexDynamicStride(). -
npushconstantPipelineLayout
public static long npushconstantPipelineLayout(long struct) Unsafe version ofpushconstantPipelineLayout(). -
npushconstantShaderStageFlags
public static int npushconstantShaderStageFlags(long struct) Unsafe version ofpushconstantShaderStageFlags(). -
npushconstantOffset
public static int npushconstantOffset(long struct) Unsafe version ofpushconstantOffset(). -
npushconstantSize
public static int npushconstantSize(long struct) Unsafe version ofpushconstantSize(). -
nindirectStateFlags
public static int nindirectStateFlags(long struct) Unsafe version ofindirectStateFlags(). -
nindexTypeCount
public static int nindexTypeCount(long struct) Unsafe version ofindexTypeCount(). -
npIndexTypes
Unsafe version ofpIndexTypes. -
npIndexTypeValues
Unsafe version ofpIndexTypeValues. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
ntokenType
public static void ntokenType(long struct, int value) Unsafe version oftokenType. -
nstream$
public static void nstream$(long struct, int value) Unsafe version ofstream$. -
noffset
public static void noffset(long struct, int value) Unsafe version ofoffset. -
nvertexBindingUnit
public static void nvertexBindingUnit(long struct, int value) Unsafe version ofvertexBindingUnit. -
nvertexDynamicStride
public static void nvertexDynamicStride(long struct, int value) Unsafe version ofvertexDynamicStride. -
npushconstantPipelineLayout
public static void npushconstantPipelineLayout(long struct, long value) Unsafe version ofpushconstantPipelineLayout. -
npushconstantShaderStageFlags
public static void npushconstantShaderStageFlags(long struct, int value) Unsafe version ofpushconstantShaderStageFlags. -
npushconstantOffset
public static void npushconstantOffset(long struct, int value) Unsafe version ofpushconstantOffset. -
npushconstantSize
public static void npushconstantSize(long struct, int value) Unsafe version ofpushconstantSize. -
nindirectStateFlags
public static void nindirectStateFlags(long struct, int value) Unsafe version ofindirectStateFlags. -
nindexTypeCount
public static void nindexTypeCount(long struct, int value) Sets the specified value to theindexTypeCountfield of the specifiedstruct. -
npIndexTypes
Unsafe version ofpIndexTypes. -
npIndexTypeValues
Unsafe version ofpIndexTypeValues. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-