• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2021-2024 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_EXT_multi_draw.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2021-05-19
11*Interactions and External Dependencies*::
12  - Interacts with Vulkan 1.1.
13  - Interacts with `apiext:VK_KHR_shader_draw_parameters`.
14*IP Status*::
15    No known IP claims.
16*Contributors*::
17  - Mike Blumenkrantz, VALVE
18  - Piers Daniell, NVIDIA
19  - Faith Ekstrand, INTEL
20  - Spencer Fricke, SAMSUNG
21  - Ricardo Garcia, IGALIA
22  - Jon Leech, KHRONOS
23  - Stu Smith, AMD
24
25=== Description
26
27Processing multiple draw commands in sequence incurs measurable overhead
28within drivers due to repeated state checks and updates during dispatch.
29This extension enables passing the entire sequence of draws directly to the
30driver in order to avoid any such overhead, using an array of
31slink:VkMultiDrawInfoEXT or slink:VkMultiDrawIndexedInfoEXT structs with
32fname:vkCmdDrawMultiEXT or fname:vkCmdDrawMultiIndexedEXT, respectively.
33These functions could be used any time multiple draw commands are being
34recorded without any state changes between them in order to maximize
35performance.
36
37include::{generated}/interfaces/VK_EXT_multi_draw.adoc[]
38
39=== New or Modified Built-In Variables
40
41  * (modified)code:DrawIndex
42
43=== Version History
44
45  * Revision 1, 2021-01-20 (Mike Blumenkrantz)
46  ** Initial version
47