Function Prototype

vkCmdPreprocessGeneratedCommandsNV

Performs preprocessing for generated commands

Commands can be preprocessed prior execution using the following command:

void vkCmdPreprocessGeneratedCommandsNV(
    VkCommandBuffer commandBuffer,
    const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
  • commandBuffer is the command buffer which does the preprocessing.
  • pGeneratedCommandsInfo is a pointer to a VkGeneratedCommandsInfoNV structure containing parameters affecting the preprocessing step.

Valid Usage

VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-02974

commandBuffer must not be a protected command buffer

VUID-vkCmdPreprocessGeneratedCommandsNV-pGeneratedCommandsInfo-02927

pGeneratedCommandsInfo→indirectCommandsLayout must have been created with the VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV bit set

Valid Usage (Implicit)

VUID-vkCmdPreprocessGeneratedCommandsNV-pGeneratedCommandsInfo-parameter

pGeneratedCommandsInfo must be a valid pointer to a valid VkGeneratedCommandsInfoNV structure

VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support VK_QUEUE_COMPUTE_BIT, or VK_QUEUE_GRAPHICS_BIT operations

VUID-vkCmdPreprocessGeneratedCommandsNV-renderpass

This command must only be called outside of a render pass instance

VUID-vkCmdPreprocessGeneratedCommandsNV-suspended

This command must not be called between suspended render pass instances

VUID-vkCmdPreprocessGeneratedCommandsNV-videocoding

This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized