## C Specification

Each vertex input binding is specified by the VkVertexInputBindingDescription structure, defined as:

// Provided by VK_VERSION_1_0
typedef struct VkVertexInputBindingDescription {
uint32_t             binding;
uint32_t             stride;
VkVertexInputRate    inputRate;
} VkVertexInputBindingDescription;

## Members

• binding is the binding number that this structure describes.

• stride is the distance in bytes between two consecutive elements within the buffer.

• inputRate is a VkVertexInputRate value specifying whether vertex attribute addressing is a function of the vertex index or of the instance index.

## Description

Valid Usage
• VUID-VkVertexInputBindingDescription-binding-00618
binding must be less than VkPhysicalDeviceLimits::maxVertexInputBindings

• VUID-VkVertexInputBindingDescription-stride-00619
stride must be less than or equal to VkPhysicalDeviceLimits::maxVertexInputBindingStride

• VUID-VkVertexInputBindingDescription-stride-04456
If the VK_KHR_portability_subset extension is enabled, stride must be a multiple of, and at least as large as, VkPhysicalDevicePortabilitySubsetPropertiesKHR::minVertexInputBindingStrideAlignment.

Valid Usage (Implicit)
• VUID-VkVertexInputBindingDescription-inputRate-parameter
inputRate must be a valid VkVertexInputRate value