• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2023-2024 The Khronos Group, Inc
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_EXT_nested_command_buffer.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2023-09-18
11*Contributors*::
12  - Daniel Story, Nintendo
13  - Peter Kohaut, NVIDIA
14  - Shahbaz Youssefi, Google
15  - Slawomir Grajewski, Intel
16  - Stu Smith, AMD
17
18=== Description
19
20With core Vulkan it is not legal to call flink:vkCmdExecuteCommands when
21recording a secondary command buffer.
22This extension relaxes that restriction, allowing secondary command buffers
23to execute other secondary command buffers.
24
25include::{generated}/interfaces/VK_EXT_nested_command_buffer.adoc[]
26
27=== Issues
28
291) The Command Buffer Levels property for the Vulkan commands comes from the
30`cmdbufferlevel` attribute in `vk.xml` for the command, and it is currently
31not possible to modify this attribute based on whether an extension is
32enabled.
33For this extension we want the `cmdbufferlevel` attribute for
34vkCmdExecuteCommands to be `primary,secondary` when this extension is
35enabled and `primary` otherwise.
36
37*RESOLVED*: The `cmdbufferlevel` attribute for flink:vkCmdExecuteCommands
38has been changed to `primary,secondary` and a new VUID added to prohibit
39recording this command in a secondary command buffer unless this extension
40is enabled.
41
42=== Version History
43
44  * Revision 1, 2023-09-18 (Piers Daniell)
45  ** Internal revisions
46