public class VkIndirectCommandsLayoutCreateInfoNVX
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
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 );
}
}
tokenCount must be greater than 0 and below VkDeviceGeneratedCommandsLimitsNVX::maxIndirectCommandsLayoutTokenCountVkDeviceGeneratedCommandsFeaturesNVX::computeBindingPointSupport feature is not enabled, then pipelineBindPoint must not be PIPELINE_BIND_POINT_COMPUTEpTokens contains an entry of INDIRECT_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.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).pTokens must include one single work provoking token that is compatible with the pipelineBindPoint.sType must be STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVXpNext must be NULLpipelineBindPoint must be a valid VkPipelineBindPoint valueflags must be a valid combination of VkIndirectCommandsLayoutUsageFlagBitsNVX valuesflags must not be 0pTokens must be a valid pointer to an array of tokenCount valid VkIndirectCommandsLayoutTokenNVX structurestokenCount must be greater than 0VkIndirectCommandsLayoutTokenNVX, CreateIndirectCommandsLayoutNVX
sType – the type of this structure.pNext – NULL or a pointer to an extension-specific structure.pipelineBindPoint – the VkPipelineBindPoint that this layout targets.flags – a bitmask of VkIndirectCommandsLayoutUsageFlagBitsNVX specifying usage hints of this layout.tokenCount – the length of the individual command sequnce.pTokens – an array describing each command token in detail. See VkIndirectCommandsTokenTypeNVX and VkIndirectCommandsLayoutTokenNVX below for details.
struct VkIndirectCommandsLayoutCreateInfoNVX {
VkStructureType sType;
void const * pNext;
VkPipelineBindPoint pipelineBindPoint;
VkIndirectCommandsLayoutUsageFlagsNVX flags;
uint32_t tokenCount;
VkIndirectCommandsLayoutTokenNVX const * pTokens;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkIndirectCommandsLayoutCreateInfoNVX.Buffer
An array of
VkIndirectCommandsLayoutCreateInfoNVX structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
FLAGS
The struct member offsets.
|
static int |
PIPELINEBINDPOINT
The struct member offsets.
|
static int |
PNEXT
The struct member offsets.
|
static int |
PTOKENS
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STYPE
The struct member offsets.
|
static int |
TOKENCOUNT
The struct member offsets.
|
| Constructor and Description |
|---|
VkIndirectCommandsLayoutCreateInfoNVX(java.nio.ByteBuffer container)
Creates a
VkIndirectCommandsLayoutCreateInfoNVX instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkIndirectCommandsLayoutCreateInfoNVX |
calloc()
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX instance allocated with memCalloc. |
static VkIndirectCommandsLayoutCreateInfoNVX.Buffer |
calloc(int capacity)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated with memCalloc. |
static VkIndirectCommandsLayoutCreateInfoNVX |
callocStack()
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkIndirectCommandsLayoutCreateInfoNVX.Buffer |
callocStack(int capacity)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkIndirectCommandsLayoutCreateInfoNVX.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkIndirectCommandsLayoutCreateInfoNVX |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkIndirectCommandsLayoutCreateInfoNVX |
create()
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX instance allocated with BufferUtils. |
static VkIndirectCommandsLayoutCreateInfoNVX.Buffer |
create(int capacity)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated with BufferUtils. |
static VkIndirectCommandsLayoutCreateInfoNVX |
create(long address)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX instance for the specified memory address. |
static VkIndirectCommandsLayoutCreateInfoNVX.Buffer |
create(long address,
int capacity)
Create a
VkIndirectCommandsLayoutCreateInfoNVX.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 the
flags field. |
VkIndirectCommandsLayoutCreateInfoNVX |
flags(int value)
Sets the specified value to the
flags field. |
static VkIndirectCommandsLayoutCreateInfoNVX |
malloc()
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX instance allocated with memAlloc. |
static VkIndirectCommandsLayoutCreateInfoNVX.Buffer |
malloc(int capacity)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated with memAlloc. |
static VkIndirectCommandsLayoutCreateInfoNVX |
mallocStack()
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX instance allocated on the thread-local MemoryStack. |
static VkIndirectCommandsLayoutCreateInfoNVX.Buffer |
mallocStack(int capacity)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated on the thread-local MemoryStack. |
static VkIndirectCommandsLayoutCreateInfoNVX.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated on the specified MemoryStack. |
static VkIndirectCommandsLayoutCreateInfoNVX |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkIndirectCommandsLayoutCreateInfoNVX instance allocated on the specified MemoryStack. |
static int |
nflags(long struct)
Unsafe version of
flags(). |
static void |
nflags(long struct,
int value)
Unsafe version of
flags. |
static int |
npipelineBindPoint(long struct)
Unsafe version of
pipelineBindPoint(). |
static void |
npipelineBindPoint(long struct,
int value)
Unsafe version of
pipelineBindPoint. |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static VkIndirectCommandsLayoutTokenNVX.Buffer |
npTokens(long struct)
Unsafe version of
pTokens(). |
static void |
npTokens(long struct,
VkIndirectCommandsLayoutTokenNVX.Buffer value)
Unsafe version of
pTokens. |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
static int |
ntokenCount(long struct)
Unsafe version of
tokenCount(). |
static void |
ntokenCount(long struct,
int value)
Sets the specified value to the
tokenCount field of the specified struct. |
int |
pipelineBindPoint()
Returns the value of the
pipelineBindPoint field. |
VkIndirectCommandsLayoutCreateInfoNVX |
pipelineBindPoint(int value)
Sets the specified value to the
pipelineBindPoint field. |
long |
pNext()
Returns the value of the
pNext field. |
VkIndirectCommandsLayoutCreateInfoNVX |
pNext(long value)
Sets the specified value to the
pNext field. |
VkIndirectCommandsLayoutTokenNVX.Buffer |
pTokens()
Returns a
VkIndirectCommandsLayoutTokenNVX.Buffer view of the struct array pointed to by the pTokens field. |
VkIndirectCommandsLayoutCreateInfoNVX |
pTokens(VkIndirectCommandsLayoutTokenNVX.Buffer value)
Sets the address of the specified
VkIndirectCommandsLayoutTokenNVX.Buffer to the pTokens 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 the
sType field. |
VkIndirectCommandsLayoutCreateInfoNVX |
sType(int value)
Sets the specified value to the
sType field. |
int |
tokenCount()
Returns the value of the
tokenCount field. |
static void |
validate(long struct)
Validates pointer members that should not be
NULL. |
static void |
validate(long array,
int count)
Calls
validate(long) for each struct contained in the specified struct array. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int STYPE
public static final int PNEXT
public static final int PIPELINEBINDPOINT
public static final int FLAGS
public static final int TOKENCOUNT
public static final int PTOKENS
public VkIndirectCommandsLayoutCreateInfoNVX(java.nio.ByteBuffer container)
VkIndirectCommandsLayoutCreateInfoNVX instance at the current position of the specified ByteBuffer 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.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int sType()
sType field.public long pNext()
pNext field.public int pipelineBindPoint()
pipelineBindPoint field.public int flags()
flags field.public int tokenCount()
tokenCount field.public VkIndirectCommandsLayoutTokenNVX.Buffer pTokens()
VkIndirectCommandsLayoutTokenNVX.Buffer view of the struct array pointed to by the pTokens field.public VkIndirectCommandsLayoutCreateInfoNVX sType(int value)
sType field.public VkIndirectCommandsLayoutCreateInfoNVX pNext(long value)
pNext field.public VkIndirectCommandsLayoutCreateInfoNVX pipelineBindPoint(int value)
pipelineBindPoint field.public VkIndirectCommandsLayoutCreateInfoNVX flags(int value)
flags field.public VkIndirectCommandsLayoutCreateInfoNVX pTokens(VkIndirectCommandsLayoutTokenNVX.Buffer value)
VkIndirectCommandsLayoutTokenNVX.Buffer to the pTokens field.public VkIndirectCommandsLayoutCreateInfoNVX set(int sType, long pNext, int pipelineBindPoint, int flags, VkIndirectCommandsLayoutTokenNVX.Buffer pTokens)
public VkIndirectCommandsLayoutCreateInfoNVX set(VkIndirectCommandsLayoutCreateInfoNVX src)
src - the source structpublic static VkIndirectCommandsLayoutCreateInfoNVX malloc()
VkIndirectCommandsLayoutCreateInfoNVX instance allocated with memAlloc. The instance must be explicitly freed.public static VkIndirectCommandsLayoutCreateInfoNVX calloc()
VkIndirectCommandsLayoutCreateInfoNVX instance allocated with memCalloc. The instance must be explicitly freed.public static VkIndirectCommandsLayoutCreateInfoNVX create()
VkIndirectCommandsLayoutCreateInfoNVX instance allocated with BufferUtils.public static VkIndirectCommandsLayoutCreateInfoNVX create(long address)
VkIndirectCommandsLayoutCreateInfoNVX instance for the specified memory address.@Nullable public static VkIndirectCommandsLayoutCreateInfoNVX createSafe(long address)
public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer malloc(int capacity)
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkIndirectCommandsLayoutCreateInfoNVX.Buffer calloc(int capacity)
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkIndirectCommandsLayoutCreateInfoNVX.Buffer create(int capacity)
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkIndirectCommandsLayoutCreateInfoNVX.Buffer create(long address, int capacity)
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkIndirectCommandsLayoutCreateInfoNVX.Buffer createSafe(long address, int capacity)
public static VkIndirectCommandsLayoutCreateInfoNVX mallocStack()
VkIndirectCommandsLayoutCreateInfoNVX instance allocated on the thread-local MemoryStack.public static VkIndirectCommandsLayoutCreateInfoNVX callocStack()
VkIndirectCommandsLayoutCreateInfoNVX instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkIndirectCommandsLayoutCreateInfoNVX mallocStack(org.lwjgl.system.MemoryStack stack)
VkIndirectCommandsLayoutCreateInfoNVX instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkIndirectCommandsLayoutCreateInfoNVX callocStack(org.lwjgl.system.MemoryStack stack)
VkIndirectCommandsLayoutCreateInfoNVX instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkIndirectCommandsLayoutCreateInfoNVX.Buffer mallocStack(int capacity)
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkIndirectCommandsLayoutCreateInfoNVX.Buffer callocStack(int capacity)
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkIndirectCommandsLayoutCreateInfoNVX.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkIndirectCommandsLayoutCreateInfoNVX.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkIndirectCommandsLayoutCreateInfoNVX.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nsType(long struct)
sType().public static long npNext(long struct)
pNext().public static int npipelineBindPoint(long struct)
pipelineBindPoint().public static int nflags(long struct)
flags().public static int ntokenCount(long struct)
tokenCount().public static VkIndirectCommandsLayoutTokenNVX.Buffer npTokens(long struct)
pTokens().public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.public static void npipelineBindPoint(long struct,
int value)
pipelineBindPoint.public static void nflags(long struct,
int value)
flags.public static void ntokenCount(long struct,
int value)
tokenCount field of the specified struct.public static void npTokens(long struct,
VkIndirectCommandsLayoutTokenNVX.Buffer value)
pTokens.public static void validate(long struct)
NULL.struct - the struct to validatepublic static void validate(long array,
int count)
validate(long) for each struct contained in the specified struct array.array - the struct array to validatecount - the number of structs in arrayCopyright LWJGL. All Rights Reserved. License terms.