| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_nested_command_buffer
Description
Name
VK_EXT_nested_command_buffer - device extension
VK_EXT_nested_command_buffer
- Name String
VK_EXT_nested_command_buffer
- Extension Type
- Device extension
- Registered Extension Number
- 452
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
- Contact
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
cmdExecuteCommands when recording
a secondary command buffer. This extension relaxes that restriction,
allowing secondary command buffers to execute other secondary command
buffers.
New Structures
New Enum Constants
EXT_NESTED_COMMAND_BUFFER_SPEC_VERSIONExtending
RenderingFlagBits:Extending
StructureType:Extending
SubpassContents:
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
cmdExecuteCommands 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
See Also
No cross-references are available
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.
Synopsis
- pattern SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT :: SubpassContents
- pattern RENDERING_CONTENTS_INLINE_BIT_EXT :: RenderingFlagBits
- data PhysicalDeviceNestedCommandBufferFeaturesEXT = PhysicalDeviceNestedCommandBufferFeaturesEXT {}
- data PhysicalDeviceNestedCommandBufferPropertiesEXT = PhysicalDeviceNestedCommandBufferPropertiesEXT {}
- type EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION = 1
- pattern EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION :: Integral a => a
- type EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME = "VK_EXT_nested_command_buffer"
- pattern EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME :: (Eq a, IsString a) => a
Documentation
data PhysicalDeviceNestedCommandBufferFeaturesEXT Source #
VkPhysicalDeviceNestedCommandBufferFeaturesEXT - Structure describing whether nested command buffers are supported by the implementation
Members
This structure describes the following features:
Description
If the PhysicalDeviceNestedCommandBufferFeaturesEXT structure is
included in the pNext chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2,
it is filled in to indicate whether each corresponding feature is
supported. If the application wishes to use a
Device with any features described by
PhysicalDeviceNestedCommandBufferFeaturesEXT, it must add an
instance of the structure, with the desired feature members set to
TRUE, to the pNext chain of
DeviceCreateInfo when creating the
Device.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDeviceNestedCommandBufferFeaturesEXT | |
Fields
| |
Instances
data PhysicalDeviceNestedCommandBufferPropertiesEXT Source #
VkPhysicalDeviceNestedCommandBufferPropertiesEXT - Structure describing the nested command buffer limits of an implementation
Members
The members of the PhysicalDeviceNestedCommandBufferPropertiesEXT
structure describe the following features:
Description
If the PhysicalDeviceNestedCommandBufferPropertiesEXT structure is
included in the pNext chain of the
PhysicalDeviceProperties2
structure passed to
getPhysicalDeviceProperties2,
it is filled in with each corresponding implementation-dependent
property.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDeviceNestedCommandBufferPropertiesEXT | |
Fields
| |
Instances
pattern EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION :: Integral a => a Source #
type EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME = "VK_EXT_nested_command_buffer" Source #
pattern EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME :: (Eq a, IsString a) => a Source #