C Specification
The VkIndirectCommandsLayoutTokenNV
structure specifies details to the
function arguments that need to be known at layout creation time:
// Provided by VK_NV_device_generated_commands
typedef struct VkIndirectCommandsLayoutTokenNV {
VkStructureType sType;
const void* 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;
const VkIndexType* pIndexTypes;
const uint32_t* pIndexTypeValues;
} VkIndirectCommandsLayoutTokenNV;
Members
-
sType
is the type of this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
tokenType
specifies the token command type. -
stream
is the index of the input stream that contains the token argument data. -
offset
is a relative starting offset within the input stream memory for the token argument data. -
vertexBindingUnit
is used for the vertex buffer binding command. -
vertexDynamicStride
sets if the vertex buffer stride is provided by the binding command rather than the current bound graphics pipeline state. -
pushconstantPipelineLayout
is theVkPipelineLayout
used for the push constant command. -
pushconstantShaderStageFlags
are the shader stage flags used for the push constant command. -
pushconstantOffset
is the offset used for the push constant command. -
pushconstantSize
is the size used for the push constant command. -
indirectStateFlags
are the active states for the state flag command. -
indexTypeCount
is the optional size of thepIndexTypes
andpIndexTypeValues
array pairings. If not zero, it allows to register a customuint32_t
value to be treated as specificVkIndexType
. -
pIndexTypes
is the usedVkIndexType
for the correspondinguint32_t
value entry inpIndexTypeValues
.
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.