Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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
- Not ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2
- 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_VERSION
Extending
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
PhysicalDeviceNestedCommandBufferFeaturesEXT
,
PhysicalDeviceNestedCommandBufferPropertiesEXT
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
- data PhysicalDeviceNestedCommandBufferFeaturesEXT = PhysicalDeviceNestedCommandBufferFeaturesEXT {}
- data PhysicalDeviceNestedCommandBufferPropertiesEXT = PhysicalDeviceNestedCommandBufferPropertiesEXT {}
- type EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION = 1
- pattern EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION :: forall a. Integral a => a
- type EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME = "VK_EXT_nested_command_buffer"
- pattern EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME :: forall a. (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. PhysicalDeviceNestedCommandBufferFeaturesEXT
can also be
used in the pNext
chain of DeviceCreateInfo
to
selectively enable these features.
Valid Usage (Implicit)
See Also
PhysicalDeviceNestedCommandBufferFeaturesEXT | |
|
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
PhysicalDeviceNestedCommandBufferPropertiesEXT | |
|
Instances
pattern EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME = "VK_EXT_nested_command_buffer" Source #
pattern EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #