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