vkCmdUpdatePipelineIndirectBufferNV
To save a compute pipeline’s metadata at a device address call:
void vkCmdUpdatePipelineIndirectBufferNV(
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
VkPipeline pipeline);
commandBufferis the command buffer into which the command will be recorded.pipelineBindPointis a VkPipelineBindPoint value specifying the type of pipeline whose metadata will be saved.pipelineis the pipeline whose metadata will be saved.
vkCmdUpdatePipelineIndirectBufferNV 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
VK_PIPELINE_STAGE_2_COPY_BIT and
VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV and with access masks
VK_ACCESS_MEMORY_WRITE_BIT and
VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV respectively before using the
results in preprocessing.
Valid Usage
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipelineBindPoint-09018
pipelineBindPoint must be VK_PIPELINE_BIND_POINT_COMPUTE
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-09019
pipeline must have been created with
VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV flag set
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-09020
pipeline must have been created with
VkComputePipelineIndirectBufferInfoNV structure specifying a valid
address where its metadata will be saved
Valid Usage (Implicit)
VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipelineBindPoint-parameter
pipelineBindPoint must be a valid VkPipelineBindPoint value
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-parameter
pipeline must be a valid VkPipeline handle
VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations
VUID-vkCmdUpdatePipelineIndirectBufferNV-renderpass
This command must only be called outside of a render pass instance
VUID-vkCmdUpdatePipelineIndirectBufferNV-videocoding
This command must only be called outside of a video coding scope
VUID-vkCmdUpdatePipelineIndirectBufferNV-commonparent
Both of commandBuffer, and pipeline must have been created, allocated, or retrieved from the same VkDevice
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized ::