Contact
-
Piers Daniell pdaniell-nv
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 vkCmdExecuteCommands when recording a secondary command buffer. This extension relaxes that restriction, allowing secondary command buffers to execute other secondary command buffers.
New Enum Constants
-
VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME
-
VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION
-
Extending VkRenderingFlagBits:
-
VK_RENDERING_CONTENTS_INLINE_BIT_EXT
-
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT
-
-
Extending VkSubpassContents:
-
VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT
-
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 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.
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.