VkVertexInputBindingDivisorDescriptionEXT(3)

# VkVertexInputBindingDivisorDescriptionEXT(3) Manual Page

## Name

VkVertexInputBindingDivisorDescriptionEXT - Structure specifying a divisor used in instanced rendering

## C Specification

The individual divisor values per binding are specified using the `VkVertexInputBindingDivisorDescriptionEXT` structure which is defined as:

    typedef struct VkVertexInputBindingDivisorDescriptionEXT {
        uint32_t    binding;
        uint32_t    divisor;
    } VkVertexInputBindingDivisorDescriptionEXT;

## Members

- `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 of divisor is implementation dependent and can be queried using `VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT`::`maxVertexAttribDivisor`. A value of `0` can be used for the divisor if the `vertexAttributeInstanceRateZeroDivisor` feature is enabled. In this case, the same vertex attribute will be applied to all instances.

## Description

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

- `binding` must be less than `VkPhysicalDeviceLimits`::`maxVertexInputBindings`

- If the `vertexAttributeInstanceRateZeroDivisor` feature is not enabled, `divisor` must not be `0`

- If the `vertexAttributeInstanceRateDivisor` feature is not enabled, `divisor` must be `1`

- `divisor` must be a value between `0` and `VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT`::`maxVertexAttribDivisor`, inclusive.

- VkVertexInputBindingDescription::`inputRate` must be of type `VK_VERTEX_INPUT_RATE_INSTANCE` for this `binding`.

## See Also

VkPipelineVertexInputDivisorStateCreateInfoEXT

## 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-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.