When the vertex stage is present in a pipeline, the vertex shader input
variables form an interface with the vertex input attributes. The vertex
shader input variables are matched by the Location
and
Component
decorations to the vertex input attributes specified
in the pVertexInputState
member of the
VkGraphicsPipelineCreateInfo
structure.
The vertex shader input variables listed by OpEntryPoint
with the
Input
storage class form the vertex input interface. These variables
must be identified with a Location
decoration and can also be
identified with a Component
decoration.
For the purposes of interface
matching: variables declared without a Component
decoration
are considered to have a Component
decoration of zero.
The number of available vertex input locations is given by the
maxVertexInputAttributes
member of the VkPhysicalDeviceLimits
structure.
See Section 20.1.1, “Attribute Location and Component Assignment” for details.
All vertex shader inputs declared as above must have a corresponding attribute and binding in the pipeline.