cmdUpdatePipelineIndirectBufferNV :: MonadIO io=> CommandBuffercommandBufferis the command buffer into which the command will be recorded.-> PipelineBindPointpipelineBindPointis a PipelineBindPoint value specifying the type of pipeline whose metadata will be saved.-> Pipelinepipelineis the pipeline whose metadata will be saved.-> io ()
vkCmdUpdatePipelineIndirectBufferNV - Update the indirect compute pipeline’s metadata
Description
cmdUpdatePipelineIndirectBufferNV is only allowed outside of a render pass. This command is treated as a “transfer” operation for the purposes of synchronization barriers. The writes to the address must be synchronized using stages PIPELINE_STAGE_2_COPY_BIT and PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV and with access masks ACCESS_MEMORY_WRITE_BIT and ACCESS_COMMAND_PREPROCESS_READ_BIT_NV respectively before using the results in preprocessing.
Valid Usage
pipelineBindPointmust be PIPELINE_BIND_POINT_COMPUTE
pipelinemust have been created with PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV flag setpipelinemust have been created with ComputePipelineIndirectBufferInfoNV structure specifying a valid address where its metadata will be savedThe ::deviceGeneratedComputePipelines feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a valid CommandBuffer handle
pipelineBindPointmust be a valid PipelineBindPoint valuepipelinemust be a valid Pipeline handlecommandBuffermust be in the recording stateThe CommandPool that
commandBufferwas allocated from must support QUEUE_COMPUTE_BIT, QUEUE_GRAPHICS_BIT, or QUEUE_TRANSFER_BIT operationsThis command must only be called outside of a render pass instance
This command must not be called between suspended render pass instances
This command must only be called outside of a video coding scope
Both of
commandBuffer, andpipelinemust have been created, allocated, or retrieved from the same Device
Host Synchronization
Host access to
commandBuffermust be externally synchronized
Host access to the CommandPool that
commandBufferwas allocated from must be externally synchronized
Command Properties
'
Primary Secondary | Outside | Outside | VK_QUEUE_COMPUTE_BIT VK_QUEUE_GRAPHICS_BIT VK_QUEUE_TRANSFER_BIT | Action |
Conditional Rendering
vkCmdUpdatePipelineIndirectBufferNV is not affected by conditional rendering
See Also
VK_NV_device_generated_commands_compute, CommandBuffer, Pipeline, PipelineBindPoint