// Copyright 2023-2024 The Khronos Group, Inc // // SPDX-License-Identifier: CC-BY-4.0 include::{generated}/meta/{refprefix}VK_EXT_nested_command_buffer.adoc[] === Other Extension Metadata *Last Modified Date*:: 2023-09-18 *Contributors*:: - Daniel Story, Nintendo - Peter Kohaut, NVIDIA - Shahbaz Youssefi, Google - Slawomir Grajewski, Intel - Stu Smith, AMD === Description With core Vulkan it is not legal to call flink:vkCmdExecuteCommands when recording a secondary command buffer. This extension relaxes that restriction, allowing secondary command buffers to execute other secondary command buffers. include::{generated}/interfaces/VK_EXT_nested_command_buffer.adoc[] === Issues 1) The Command Buffer Levels property for the Vulkan commands comes from the `cmdbufferlevel` attribute in `vk.xml` for the command, and it is currently not possible to modify this attribute based on whether an extension is enabled. For this extension we want the `cmdbufferlevel` attribute for vkCmdExecuteCommands to be `primary,secondary` when this extension is enabled and `primary` otherwise. *RESOLVED*: The `cmdbufferlevel` attribute for flink:vkCmdExecuteCommands has been changed to `primary,secondary` and a new VUID added to prohibit recording this command in a secondary command buffer unless this extension is enabled. === Version History * Revision 1, 2023-09-18 (Piers Daniell) ** Internal revisions