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.NativeResource
Structure 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
tokenCount
must be greater than 0 and belowVkDeviceGeneratedCommandsLimitsNVX
::maxIndirectCommandsLayoutTokenCount
- If the
VkDeviceGeneratedCommandsFeaturesNVX
::computeBindingPointSupport
feature is not enabled, thenpipelineBindPoint
must not bePIPELINE_BIND_POINT_COMPUTE
- If
pTokens
contains an entry ofINDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX
it 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
pTokens
must 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
pTokens
must include one single work provoking token that is compatible with thepipelineBindPoint
.
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX
pNext
must beNULL
pipelineBindPoint
must be a validVkPipelineBindPoint
valueflags
must be a valid combination ofVkIndirectCommandsLayoutUsageFlagBitsNVX
valuesflags
must not be 0pTokens
must be a valid pointer to an array oftokenCount
validVkIndirectCommandsLayoutTokenNVX
structurestokenCount
must be greater than 0
See Also
VkIndirectCommandsLayoutTokenNVX
,CreateIndirectCommandsLayoutNVX
Member documentation
sType
– the type of this structure.pNext
–NULL
or a pointer to an extension-specific structure.pipelineBindPoint
– theVkPipelineBindPoint
that this layout targets.flags
– a bitmask ofVkIndirectCommandsLayoutUsageFlagBitsNVX
specifying usage hints of this layout.tokenCount
– the length of the individual command sequnce.pTokens
– an array describing each command token in detail. SeeVkIndirectCommandsTokenTypeNVX
andVkIndirectCommandsLayoutTokenNVX
below for details.
Layout
struct VkIndirectCommandsLayoutCreateInfoNVX { VkStructureType sType; void const * pNext; VkPipelineBindPoint pipelineBindPoint; VkIndirectCommandsLayoutUsageFlagsNVX flags; uint32_t tokenCount;
VkIndirectCommandsLayoutTokenNVX
const * pTokens; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkIndirectCommandsLayoutCreateInfoNVX.Buffer
An array ofVkIndirectCommandsLayoutCreateInfoNVX
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
FLAGS
PIPELINEBINDPOINT
PNEXT
PTOKENSThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
STYPE
TOKENCOUNTThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkIndirectCommandsLayoutCreateInfoNVX(java.nio.ByteBuffer container)
Creates aVkIndirectCommandsLayoutCreateInfoNVX
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkIndirectCommandsLayoutCreateInfoNVX
calloc()
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated withmemCalloc
.static VkIndirectCommandsLayoutCreateInfoNVX.Buffer
calloc(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated withmemCalloc
.static VkIndirectCommandsLayoutCreateInfoNVX
callocStack()
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkIndirectCommandsLayoutCreateInfoNVX.Buffer
callocStack(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkIndirectCommandsLayoutCreateInfoNVX.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkIndirectCommandsLayoutCreateInfoNVX
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkIndirectCommandsLayoutCreateInfoNVX
create()
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated withBufferUtils
.static VkIndirectCommandsLayoutCreateInfoNVX.Buffer
create(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated withBufferUtils
.static VkIndirectCommandsLayoutCreateInfoNVX
create(long address)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance for the specified memory address.static VkIndirectCommandsLayoutCreateInfoNVX.Buffer
create(long address, int capacity)
Create aVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance at the specified memory.static VkIndirectCommandsLayoutCreateInfoNVX
createSafe(long address)
static VkIndirectCommandsLayoutCreateInfoNVX.Buffer
createSafe(long address, int capacity)
int
flags()
Returns the value of theflags
field.VkIndirectCommandsLayoutCreateInfoNVX
flags(int value)
Sets the specified value to theflags
field.static VkIndirectCommandsLayoutCreateInfoNVX
malloc()
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated withmemAlloc
.static VkIndirectCommandsLayoutCreateInfoNVX.Buffer
malloc(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated withmemAlloc
.static VkIndirectCommandsLayoutCreateInfoNVX
mallocStack()
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated on the thread-localMemoryStack
.static VkIndirectCommandsLayoutCreateInfoNVX.Buffer
mallocStack(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated on the thread-localMemoryStack
.static VkIndirectCommandsLayoutCreateInfoNVX.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated on the specifiedMemoryStack
.static VkIndirectCommandsLayoutCreateInfoNVX
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated on the specifiedMemoryStack
.static int
nflags(long struct)
Unsafe version offlags()
.static void
nflags(long struct, int value)
Unsafe version offlags
.static int
npipelineBindPoint(long struct)
Unsafe version ofpipelineBindPoint()
.static void
npipelineBindPoint(long struct, int value)
Unsafe version ofpipelineBindPoint
.static long
npNext(long struct)
Unsafe version ofpNext()
.static void
npNext(long struct, long value)
Unsafe version ofpNext
.static VkIndirectCommandsLayoutTokenNVX.Buffer
npTokens(long struct)
Unsafe version ofpTokens()
.static void
npTokens(long struct, VkIndirectCommandsLayoutTokenNVX.Buffer value)
Unsafe version ofpTokens
.static int
nsType(long struct)
Unsafe version ofsType()
.static void
nsType(long struct, int value)
Unsafe version ofsType
.static int
ntokenCount(long struct)
Unsafe version oftokenCount()
.static void
ntokenCount(long struct, int value)
Sets the specified value to thetokenCount
field of the specifiedstruct
.int
pipelineBindPoint()
Returns the value of thepipelineBindPoint
field.VkIndirectCommandsLayoutCreateInfoNVX
pipelineBindPoint(int value)
Sets the specified value to thepipelineBindPoint
field.long
pNext()
Returns the value of thepNext
field.VkIndirectCommandsLayoutCreateInfoNVX
pNext(long value)
Sets the specified value to thepNext
field.VkIndirectCommandsLayoutTokenNVX.Buffer
pTokens()
Returns aVkIndirectCommandsLayoutTokenNVX.Buffer
view of the struct array pointed to by thepTokens
field.VkIndirectCommandsLayoutCreateInfoNVX
pTokens(VkIndirectCommandsLayoutTokenNVX.Buffer value)
Sets the address of the specifiedVkIndirectCommandsLayoutTokenNVX.Buffer
to thepTokens
field.VkIndirectCommandsLayoutCreateInfoNVX
set(int sType, long pNext, int pipelineBindPoint, int flags, VkIndirectCommandsLayoutTokenNVX.Buffer pTokens)
Initializes this struct with the specified values.VkIndirectCommandsLayoutCreateInfoNVX
set(VkIndirectCommandsLayoutCreateInfoNVX src)
Copies the specified struct data to this struct.int
sizeof()
int
sType()
Returns the value of thesType
field.VkIndirectCommandsLayoutCreateInfoNVX
sType(int value)
Sets the specified value to thesType
field.int
tokenCount()
Returns the value of thetokenCount
field.static void
validate(long struct)
Validates pointer members that should not beNULL
.static void
validate(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 aVkIndirectCommandsLayoutCreateInfoNVX
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
-
sType
public int sType()
Returns the value of thesType
field.
-
pNext
public long pNext()
Returns the value of thepNext
field.
-
pipelineBindPoint
public int pipelineBindPoint()
Returns the value of thepipelineBindPoint
field.
-
flags
public int flags()
Returns the value of theflags
field.
-
tokenCount
public int tokenCount()
Returns the value of thetokenCount
field.
-
pTokens
public VkIndirectCommandsLayoutTokenNVX.Buffer pTokens()
Returns aVkIndirectCommandsLayoutTokenNVX.Buffer
view of the struct array pointed to by thepTokens
field.
-
sType
public VkIndirectCommandsLayoutCreateInfoNVX sType(int value)
Sets the specified value to thesType
field.
-
pNext
public VkIndirectCommandsLayoutCreateInfoNVX pNext(long value)
Sets the specified value to thepNext
field.
-
pipelineBindPoint
public VkIndirectCommandsLayoutCreateInfoNVX pipelineBindPoint(int value)
Sets the specified value to thepipelineBindPoint
field.
-
flags
public VkIndirectCommandsLayoutCreateInfoNVX flags(int value)
Sets the specified value to theflags
field.
-
pTokens
public VkIndirectCommandsLayoutCreateInfoNVX pTokens(VkIndirectCommandsLayoutTokenNVX.Buffer value)
Sets the address of the specifiedVkIndirectCommandsLayoutTokenNVX.Buffer
to thepTokens
field.
-
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 newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkIndirectCommandsLayoutCreateInfoNVX calloc()
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkIndirectCommandsLayoutCreateInfoNVX create()
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated withBufferUtils
.
-
create
public static VkIndirectCommandsLayoutCreateInfoNVX create(long address)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance for the specified memory address.
-
createSafe
@Nullable public static VkIndirectCommandsLayoutCreateInfoNVX createSafe(long address)
-
malloc
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer malloc(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer calloc(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer create(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer create(long address, int capacity)
Create aVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance 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 newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkIndirectCommandsLayoutCreateInfoNVX callocStack()
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkIndirectCommandsLayoutCreateInfoNVX mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkIndirectCommandsLayoutCreateInfoNVX callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX
instance allocated on the specifiedMemoryStack
and 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.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer callocStack(int capacity)
Returns a newVkIndirectCommandsLayoutCreateInfoNVX.Buffer
instance allocated on the thread-localMemoryStack
and 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.Buffer
instance 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.Buffer
instance allocated on the specifiedMemoryStack
and 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 thetokenCount
field 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
-
-