VK_NV_device_generated_commands_compute(3)

# VK_NV_device_generated_commands_compute(3) Manual Page

## Name

VK_NV_device_generated_commands_compute - device extension

Loading… please wait.

## Registered Extension Number

429

## Revision

2

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_NV_device_generated_commands

## Contact

- Vikram Kushwaha vkushwaha-nv

## Other Extension Metadata

Last Modified Date

  2023-07-21

Contributors

  - Vikram Kushwaha, NVIDIA

  - Jeff Bolz, NVIDIA

  - Christoph Kubisch, NVIDIA

  - Piers Daniell, NVIDIA

  - Daniel Koch, NVIDIA

  - Hans-Kristian Arntzen, Valve

  - Mike Blumenkrantz, VALVE

## Description

This extension allows the device to generate commands for binding compute pipelines, setting push constants and launching compute dispatches.

## New Commands

- vkCmdUpdatePipelineIndirectBufferNV

- vkGetPipelineIndirectDeviceAddressNV

- vkGetPipelineIndirectMemoryRequirementsNV

## New Structures

- VkBindPipelineIndirectCommandNV

- VkComputePipelineIndirectBufferInfoNV

- VkPipelineIndirectDeviceAddressInfoNV

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV

## New Enum Constants

- `VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME`

- `VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION`

- Extending VkDescriptorSetLayoutCreateFlagBits:

  - `VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV`

- Extending VkIndirectCommandsTokenTypeNV:

  - `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV`

  - `VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV`

  - `VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV`

## Version History

- Revision 2, 2023-07-21 (Vikram Kushwaha)

  - Rename vkCmdUpdatePipelineIndirectBuffer to vkCmdUpdatePipelineIndirectBufferNV

- Revision 1, 2023-06-09 (Vikram Kushwaha)

  - First Revision

## See Also

VkBindPipelineIndirectCommandNV, VkComputePipelineIndirectBufferInfoNV, VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, VkPipelineIndirectDeviceAddressInfoNV, vkCmdUpdatePipelineIndirectBufferNV, vkGetPipelineIndirectDeviceAddressNV, vkGetPipelineIndirectMemoryRequirementsNV

## 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.

## Copyright

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0