Package org.lwjgl.vulkan
Class VkIndirectCommandsLayoutCreateInfoNVX
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkIndirectCommandsLayoutCreateInfoNVX
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkIndirectCommandsLayoutCreateInfoNVX extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure specifying the parameters of a newly created indirect commands layout object.Description
The following code illustrates some of the key flags:
void cmdProcessAllSequences(cmd, objectTable, indirectCommandsLayout, pIndirectCommandsTokens, sequencesCount, indexbuffer, indexbufferoffset) { for (s = 0; s < sequencesCount; s++) { sequence = s; if (indirectCommandsLayout.flags & VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX) { sequence = incoherent_implementation_dependent_permutation[ sequence ]; } if (indirectCommandsLayout.flags & VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX) { sequence = indexbuffer.load_uint32( sequence * sizeof(uint32_t) + indexbufferoffset); } cmdProcessSequence( cmd, objectTable, indirectCommandsLayout, pIndirectCommandsTokens, sequence ); } }Valid Usage
tokenCountmust be greater than 0 and belowVkDeviceGeneratedCommandsLimitsNVX::maxIndirectCommandsLayoutTokenCount- If the
VkDeviceGeneratedCommandsFeaturesNVX::computeBindingPointSupportfeature is not enabled, thenpipelineBindPointmust not bePIPELINE_BIND_POINT_COMPUTE - If
pTokenscontains an entry ofINDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVXit must be the first element of the array and there must be only a single element of such token type. - All state binding tokens in
pTokensmust occur prior work provoking tokens (INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX,INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX,INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX). - The content of
pTokensmust include one single work provoking token that is compatible with thepipelineBindPoint.
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVXpNextmust beNULLpipelineBindPointmust be a validVkPipelineBindPointvalueflagsmust be a valid combination ofVkIndirectCommandsLayoutUsageFlagBitsNVXvaluesflagsmust not be 0pTokensmust be a valid pointer to an array oftokenCountvalidVkIndirectCommandsLayoutTokenNVXstructurestokenCountmust be greater than 0
See Also
VkIndirectCommandsLayoutTokenNVX,CreateIndirectCommandsLayoutNVXMember documentation
sType– the type of this structure.pNext–NULLor a pointer to an extension-specific structure.pipelineBindPoint– theVkPipelineBindPointthat this layout targets.flags– a bitmask ofVkIndirectCommandsLayoutUsageFlagBitsNVXspecifying usage hints of this layout.tokenCount– the length of the individual command sequnce.pTokens– an array describing each command token in detail. SeeVkIndirectCommandsTokenTypeNVXandVkIndirectCommandsLayoutTokenNVXbelow for details.
Layout
struct VkIndirectCommandsLayoutCreateInfoNVX { VkStructureType sType; void const * pNext; VkPipelineBindPoint pipelineBindPoint; VkIndirectCommandsLayoutUsageFlagsNVX flags; uint32_t tokenCount;VkIndirectCommandsLayoutTokenNVXconst * pTokens; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkIndirectCommandsLayoutCreateInfoNVX.BufferAn array ofVkIndirectCommandsLayoutCreateInfoNVXstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intFLAGS
PIPELINEBINDPOINT
PNEXT
PTOKENSThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPE
TOKENCOUNTThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkIndirectCommandsLayoutCreateInfoNVX(java.nio.ByteBuffer container)Creates aVkIndirectCommandsLayoutCreateInfoNVXinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkIndirectCommandsLayoutCreateInfoNVXcalloc()Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated withmemCalloc.static VkIndirectCommandsLayoutCreateInfoNVX.Buffercalloc(int capacity)Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated withmemCalloc.static VkIndirectCommandsLayoutCreateInfoNVXcallocStack()Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkIndirectCommandsLayoutCreateInfoNVX.BuffercallocStack(int capacity)Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkIndirectCommandsLayoutCreateInfoNVX.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkIndirectCommandsLayoutCreateInfoNVXcallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkIndirectCommandsLayoutCreateInfoNVXcreate()Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated withBufferUtils.static VkIndirectCommandsLayoutCreateInfoNVX.Buffercreate(int capacity)Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated withBufferUtils.static VkIndirectCommandsLayoutCreateInfoNVXcreate(long address)Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance for the specified memory address.static VkIndirectCommandsLayoutCreateInfoNVX.Buffercreate(long address, int capacity)Create aVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance at the specified memory.static VkIndirectCommandsLayoutCreateInfoNVXcreateSafe(long address)static VkIndirectCommandsLayoutCreateInfoNVX.BuffercreateSafe(long address, int capacity)intflags()Returns the value of theflagsfield.VkIndirectCommandsLayoutCreateInfoNVXflags(int value)Sets the specified value to theflagsfield.static VkIndirectCommandsLayoutCreateInfoNVXmalloc()Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated withmemAlloc.static VkIndirectCommandsLayoutCreateInfoNVX.Buffermalloc(int capacity)Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated withmemAlloc.static VkIndirectCommandsLayoutCreateInfoNVXmallocStack()Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated on the thread-localMemoryStack.static VkIndirectCommandsLayoutCreateInfoNVX.BuffermallocStack(int capacity)Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated on the thread-localMemoryStack.static VkIndirectCommandsLayoutCreateInfoNVX.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated on the specifiedMemoryStack.static VkIndirectCommandsLayoutCreateInfoNVXmallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated on the specifiedMemoryStack.static intnflags(long struct)Unsafe version offlags().static voidnflags(long struct, int value)Unsafe version offlags.static intnpipelineBindPoint(long struct)Unsafe version ofpipelineBindPoint().static voidnpipelineBindPoint(long struct, int value)Unsafe version ofpipelineBindPoint.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static VkIndirectCommandsLayoutTokenNVX.BuffernpTokens(long struct)Unsafe version ofpTokens().static voidnpTokens(long struct, VkIndirectCommandsLayoutTokenNVX.Buffer value)Unsafe version ofpTokens.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.static intntokenCount(long struct)Unsafe version oftokenCount().static voidntokenCount(long struct, int value)Sets the specified value to thetokenCountfield of the specifiedstruct.intpipelineBindPoint()Returns the value of thepipelineBindPointfield.VkIndirectCommandsLayoutCreateInfoNVXpipelineBindPoint(int value)Sets the specified value to thepipelineBindPointfield.longpNext()Returns the value of thepNextfield.VkIndirectCommandsLayoutCreateInfoNVXpNext(long value)Sets the specified value to thepNextfield.VkIndirectCommandsLayoutTokenNVX.BufferpTokens()Returns aVkIndirectCommandsLayoutTokenNVX.Bufferview of the struct array pointed to by thepTokensfield.VkIndirectCommandsLayoutCreateInfoNVXpTokens(VkIndirectCommandsLayoutTokenNVX.Buffer value)Sets the address of the specifiedVkIndirectCommandsLayoutTokenNVX.Bufferto thepTokensfield.VkIndirectCommandsLayoutCreateInfoNVXset(int sType, long pNext, int pipelineBindPoint, int flags, VkIndirectCommandsLayoutTokenNVX.Buffer pTokens)Initializes this struct with the specified values.VkIndirectCommandsLayoutCreateInfoNVXset(VkIndirectCommandsLayoutCreateInfoNVX src)Copies the specified struct data to this struct.intsizeof()intsType()Returns the value of thesTypefield.VkIndirectCommandsLayoutCreateInfoNVXsType(int value)Sets the specified value to thesTypefield.inttokenCount()Returns the value of thetokenCountfield.static voidvalidate(long struct)Validates pointer members that should not beNULL.static voidvalidate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.
-
-
-
Constructor Detail
-
VkIndirectCommandsLayoutCreateInfoNVX
public VkIndirectCommandsLayoutCreateInfoNVX(java.nio.ByteBuffer container)
Creates aVkIndirectCommandsLayoutCreateInfoNVXinstance 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
-
sType
public int sType()
Returns the value of thesTypefield.
-
pNext
public long pNext()
Returns the value of thepNextfield.
-
pipelineBindPoint
public int pipelineBindPoint()
Returns the value of thepipelineBindPointfield.
-
flags
public int flags()
Returns the value of theflagsfield.
-
tokenCount
public int tokenCount()
Returns the value of thetokenCountfield.
-
pTokens
public VkIndirectCommandsLayoutTokenNVX.Buffer pTokens()
Returns aVkIndirectCommandsLayoutTokenNVX.Bufferview of the struct array pointed to by thepTokensfield.
-
sType
public VkIndirectCommandsLayoutCreateInfoNVX sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkIndirectCommandsLayoutCreateInfoNVX pNext(long value)
Sets the specified value to thepNextfield.
-
pipelineBindPoint
public VkIndirectCommandsLayoutCreateInfoNVX pipelineBindPoint(int value)
Sets the specified value to thepipelineBindPointfield.
-
flags
public VkIndirectCommandsLayoutCreateInfoNVX flags(int value)
Sets the specified value to theflagsfield.
-
pTokens
public VkIndirectCommandsLayoutCreateInfoNVX pTokens(VkIndirectCommandsLayoutTokenNVX.Buffer value)
Sets the address of the specifiedVkIndirectCommandsLayoutTokenNVX.Bufferto thepTokensfield.
-
set
public VkIndirectCommandsLayoutCreateInfoNVX set(int sType, long pNext, int pipelineBindPoint, int flags, VkIndirectCommandsLayoutTokenNVX.Buffer pTokens)
Initializes this struct with the specified values.
-
set
public VkIndirectCommandsLayoutCreateInfoNVX set(VkIndirectCommandsLayoutCreateInfoNVX src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkIndirectCommandsLayoutCreateInfoNVX malloc()
Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkIndirectCommandsLayoutCreateInfoNVX calloc()
Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkIndirectCommandsLayoutCreateInfoNVX create()
Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated withBufferUtils.
-
create
public static VkIndirectCommandsLayoutCreateInfoNVX create(long address)
Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance for the specified memory address.
-
createSafe
@Nullable public static VkIndirectCommandsLayoutCreateInfoNVX createSafe(long address)
-
malloc
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer malloc(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer calloc(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer create(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer create(long address, int capacity)
Create aVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkIndirectCommandsLayoutCreateInfoNVX mallocStack()
Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkIndirectCommandsLayoutCreateInfoNVX callocStack()
Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkIndirectCommandsLayoutCreateInfoNVX mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkIndirectCommandsLayoutCreateInfoNVX callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVXinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer mallocStack(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer callocStack(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
nsType
public static int nsType(long struct)
Unsafe version ofsType().
-
npNext
public static long npNext(long struct)
Unsafe version ofpNext().
-
npipelineBindPoint
public static int npipelineBindPoint(long struct)
Unsafe version ofpipelineBindPoint().
-
nflags
public static int nflags(long struct)
Unsafe version offlags().
-
ntokenCount
public static int ntokenCount(long struct)
Unsafe version oftokenCount().
-
npTokens
public static VkIndirectCommandsLayoutTokenNVX.Buffer npTokens(long struct)
Unsafe version ofpTokens().
-
nsType
public static void nsType(long struct, int value)Unsafe version ofsType.
-
npNext
public static void npNext(long struct, long value)Unsafe version ofpNext.
-
npipelineBindPoint
public static void npipelineBindPoint(long struct, int value)Unsafe version ofpipelineBindPoint.
-
nflags
public static void nflags(long struct, int value)Unsafe version offlags.
-
ntokenCount
public static void ntokenCount(long struct, int value)Sets the specified value to thetokenCountfield of the specifiedstruct.
-
npTokens
public static void npTokens(long struct, VkIndirectCommandsLayoutTokenNVX.Buffer value)Unsafe version ofpTokens.
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-
validate
public static void validate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.- Parameters:
array- the struct array to validatecount- the number of structs inarray
-
-