pipeline must match the pipeline bound at execution timeindirectCommandsLayout uses a token of INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV, then the pipeline must have been created with multiple shader groupsindirectCommandsLayout uses a token of INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV, then the pipeline must have been created with PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV set in VkGraphicsPipelineCreateInfo::flagsindirectCommandsLayout uses a token of INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, then the pipeline`s VkPipelineLayout must match the VkIndirectCommandsLayoutTokenNV::pushconstantPipelineLayoutstreamCount must match the indirectCommandsLayout’s streamCountpipelineBindPoint is of type PIPELINE_BIND_POINT_COMPUTE, then the pipeline must have been created with the flag PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NVpipelineBindPoint is of type PIPELINE_BIND_POINT_COMPUTE, then the pipeline must have been created with a VkComputePipelineIndirectBufferInfoNV structure specifying a valid address where its metadata will be savedpipelineBindPoint is of type PIPELINE_BIND_POINT_COMPUTE, then CmdUpdatePipelineIndirectBufferNV must have been called on that pipeline to save its metadata to a device addresspipelineBindPoint is of type PIPELINE_BIND_POINT_COMPUTE, and if INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV is used, then pipeline must be NULL_HANDLEsequencesCount must be less or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectSequenceCount and VkGeneratedCommandsMemoryRequirementsInfoNV::maxSequencesCount that was used to determine the preprocessSizepreprocessBuffer must have the BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set in its usage flagpreprocessOffset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minIndirectCommandsBufferOffsetAlignmentpreprocessBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory objectpreprocessSize must be at least equal to the memory requirement`s size returned by GetGeneratedCommandsMemoryRequirementsNV using the matching inputs (indirectCommandsLayout, …) as within this structuresequencesCountBuffer can be set if the actual used count of sequences is sourced from the provided buffer. In that case the sequencesCount serves as upper boundsequencesCountBuffer is not NULL_HANDLE, its usage flag must have the BUFFER_USAGE_INDIRECT_BUFFER_BIT bit setsequencesCountBuffer is not NULL_HANDLE, sequencesCountOffset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minSequencesCountBufferOffsetAlignmentsequencesCountBuffer is not NULL_HANDLE and is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory objectindirectCommandsLayout’s INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV is set, sequencesIndexBuffer must be set otherwise it must be NULL_HANDLEsequencesIndexBuffer is not NULL_HANDLE, its usage flag must have the BUFFER_USAGE_INDIRECT_BUFFER_BIT bit setsequencesIndexBuffer is not NULL_HANDLE, sequencesIndexOffset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minSequencesIndexBufferOffsetAlignmentsequencesIndexBuffer is not NULL_HANDLE and is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory objectindirectCommandsLayout uses a token of INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV, then the pipeline must contain a shader stage using the MeshNV Execution ModelindirectCommandsLayout uses a token of INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV, then the pipeline must contain a shader stage using the MeshEXT Execution ModelsType must be STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NVpNext must be NULLpipelineBindPoint must be a valid VkPipelineBindPoint valuepipeline must be a valid VkPipeline handleindirectCommandsLayout must be a valid VkIndirectCommandsLayoutNV handlepStreams must be a valid pointer to an array of streamCount valid VkIndirectCommandsStreamNV structurespreprocessBuffer must be a valid VkBuffer handlesequencesCountBuffer is not NULL_HANDLE, sequencesCountBuffer must be a valid VkBuffer handlesequencesIndexBuffer is not NULL_HANDLE, sequencesIndexBuffer must be a valid VkBuffer handlestreamCount must be greater than 0indirectCommandsLayout, pipeline, preprocessBuffer, sequencesCountBuffer, and sequencesIndexBuffer that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDeviceVkIndirectCommandsStreamNV, CmdExecuteGeneratedCommandsNV, CmdPreprocessGeneratedCommandsNV
struct VkGeneratedCommandsInfoNV {
VkStructureType sType;
void const * pNext;
VkPipelineBindPoint pipelineBindPoint;
VkPipeline pipeline;
VkIndirectCommandsLayoutNV indirectCommandsLayout;
uint32_t streamCount;
VkIndirectCommandsStreamNV const * pStreams;
uint32_t sequencesCount;
VkBuffer preprocessBuffer;
VkDeviceSize preprocessOffset;
VkDeviceSize preprocessSize;
VkBuffer sequencesCountBuffer;
VkDeviceSize sequencesCountOffset;
VkBuffer sequencesIndexBuffer;
VkDeviceSize sequencesIndexOffset;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkGeneratedCommandsInfoNV.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | INDIRECTCOMMANDSLAYOUT
The struct member offsets. |
| public static final int | PIPELINE
The struct member offsets. |
| public static final int | PIPELINEBINDPOINT
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PREPROCESSBUFFER
The struct member offsets. |
| public static final int | PREPROCESSOFFSET
The struct member offsets. |
| public static final int | PREPROCESSSIZE
The struct member offsets. |
| public static final int | PSTREAMS
The struct member offsets. |
| public static final int | SEQUENCESCOUNT
The struct member offsets. |
| public static final int | SEQUENCESCOUNTBUFFER
The struct member offsets. |
| public static final int | SEQUENCESCOUNTOFFSET
The struct member offsets. |
| public static final int | SEQUENCESINDEXBUFFER
The struct member offsets. |
| public static final int | SEQUENCESINDEXOFFSET
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STREAMCOUNT
The struct member offsets. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkGeneratedCommandsInfoNV(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkGeneratedCommandsInfoNV | |
| public static VkGeneratedCommandsInfoNV. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkGeneratedCommandsInfoNV | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkGeneratedCommandsInfoNV. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkGeneratedCommandsInfoNV | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkGeneratedCommandsInfoNV | |
| public static VkGeneratedCommandsInfoNV | create(long address)
Returns a new |
| public static VkGeneratedCommandsInfoNV. | create(int
the buffer capacity capacity)Returns a new |
| public static VkGeneratedCommandsInfoNV. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkGeneratedCommandsInfoNV | |
| public static VkGeneratedCommandsInfoNV. | |
| public long | indirectCommandsLayout()
the |
| public VkGeneratedCommandsInfoNV | |
| public static VkGeneratedCommandsInfoNV | |
| public static VkGeneratedCommandsInfoNV. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkGeneratedCommandsInfoNV | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkGeneratedCommandsInfoNV. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static VkIndirectCommandsStreamNV. | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | nstreamCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | |
| public long | |
| public VkGeneratedCommandsInfoNV | |
| public int | |
| public VkGeneratedCommandsInfoNV | |
| public long | |
| public VkGeneratedCommandsInfoNV | |
| public long | |
| public VkGeneratedCommandsInfoNV | |
| public long | |
| public VkGeneratedCommandsInfoNV | |
| public long | preprocessSize()
the maximum byte size within the |
| public VkGeneratedCommandsInfoNV | |
| public VkIndirectCommandsStreamNV. | pStreams()
a pointer to an array of |
| public VkGeneratedCommandsInfoNV | pStreams(VkIndirectCommandsStreamNV.
Sets the address of the specified |
| public int | |
| public VkGeneratedCommandsInfoNV | |
| public long | sequencesCountBuffer()
a |
| public VkGeneratedCommandsInfoNV | |
| public long | |
| public VkGeneratedCommandsInfoNV | |
| public long | |
| public VkGeneratedCommandsInfoNV | |
| public long | |
| public VkGeneratedCommandsInfoNV | |
| public VkGeneratedCommandsInfoNV | set(int sType, long pNext, int pipelineBindPoint, long pipeline, long indirectCommandsLayout, VkIndirectCommandsStreamNV.
Initializes this struct with the specified values. |
| public VkGeneratedCommandsInfoNV | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public int | |
| public VkGeneratedCommandsInfoNV | |
| public VkGeneratedCommandsInfoNV | |
| public static void |