VK_EXT_multi_draw(3)

# VK_EXT_multi_draw(3) Manual Page

## Name

VK_EXT_multi_draw - device extension

Loading… please wait.

## Registered Extension Number

393

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2

## Contact

- Mike Blumenkrantz zmike

## Other Extension Metadata

Last Modified Date

  2021-05-19

IP Status

  No known IP claims.

Contributors

  - Mike Blumenkrantz, VALVE

  - Piers Daniell, NVIDIA

  - Faith Ekstrand, INTEL

  - Spencer Fricke, SAMSUNG

  - Ricardo Garcia, IGALIA

  - Jon Leech, KHRONOS

  - Stu Smith, AMD

## Description

Processing multiple draw commands in sequence incurs measurable overhead within drivers due to repeated state checks and updates during dispatch. This extension enables passing the entire sequence of draws directly to the driver in order to avoid any such overhead, using an array of VkMultiDrawInfoEXT or VkMultiDrawIndexedInfoEXT structs with `vkCmdDrawMultiEXT` or `vkCmdDrawMultiIndexedEXT`, respectively. These functions could be used any time multiple draw commands are being recorded without any state changes between them in order to maximize performance.

## New Commands

- vkCmdDrawMultiEXT

- vkCmdDrawMultiIndexedEXT

## New Structures

- VkMultiDrawIndexedInfoEXT

- VkMultiDrawInfoEXT

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceMultiDrawFeaturesEXT

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceMultiDrawPropertiesEXT

## New Enum Constants

- `VK_EXT_MULTI_DRAW_EXTENSION_NAME`

- `VK_EXT_MULTI_DRAW_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT`

## New or Modified Built-In Variables

- (modified)`DrawIndex`

## Version History

- Revision 1, 2021-01-20 (Mike Blumenkrantz)

  - Initial version

## See Also

VkMultiDrawIndexedInfoEXT, VkMultiDrawInfoEXT, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultiDrawPropertiesEXT, vkCmdDrawMultiEXT, vkCmdDrawMultiIndexedEXT

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0