VkVertexInputBindingDivisorDescriptionKHR
The individual divisor values per binding are specified using the
VkVertexInputBindingDivisorDescriptionKHR
structure which is defined
as:
typedef struct VkVertexInputBindingDivisorDescriptionKHR {
uint32_t binding;
uint32_t divisor;
} VkVertexInputBindingDivisorDescriptionKHR;
or the equivalent
typedef VkVertexInputBindingDivisorDescriptionKHR VkVertexInputBindingDivisorDescriptionEXT;
binding
is the binding number for which the divisor is specified.divisor
is the number of successive instances that will use the same value of the vertex attribute when instanced rendering is enabled. For example, if the divisor is N, the same vertex attribute will be applied to N successive instances before moving on to the next vertex attribute. The maximum value ofdivisor
is implementation-dependent and can be queried using VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::maxVertexAttribDivisor
. A value of0
can be used for the divisor if thevertexAttributeInstanceRateZeroDivisor
feature is enabled. In this case, the same vertex attribute will be applied to all instances.
If this structure is not used to define a divisor value for an attribute, then the divisor has a logical default value of 1.
Valid Usage
VUID-VkVertexInputBindingDivisorDescriptionKHR-binding-01869
binding
must be less than
VkPhysicalDeviceLimits::maxVertexInputBindings
VUID-VkVertexInputBindingDivisorDescriptionKHR-vertexAttributeInstanceRateZeroDivisor-02228
If the vertexAttributeInstanceRateZeroDivisor
feature is not
enabled, divisor
must not be 0
VUID-VkVertexInputBindingDivisorDescriptionKHR-vertexAttributeInstanceRateDivisor-02229
If the vertexAttributeInstanceRateDivisor
feature is not enabled,
divisor
must be 1
VUID-VkVertexInputBindingDivisorDescriptionKHR-divisor-01870
divisor
must be a value between 0
and
VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::maxVertexAttribDivisor
,
inclusive
VUID-VkVertexInputBindingDivisorDescriptionKHR-inputRate-01871
VkVertexInputBindingDescription::inputRate
must be of type
VK_VERTEX_INPUT_RATE_INSTANCE
for this binding