# VulkanCommandList::Dispatch ```cpp void Dispatch(uint32_t x, uint32_t y, uint32_t z) override; ``` ## 作用 发起一次 compute dispatch。 ## 前置条件 - 当前 pipeline state 已设置 - pipeline state 持有有效 compute shader - 需要的 descriptor set 已绑定 ## 当前实现行为 - 会先结束活跃 render pass - 如果当前 pipeline 没有 compute shader,直接返回 - 会调用 `m_currentPipelineState->EnsureValid()` - 如果 compute pipeline 尚未创建,可能在这里延迟创建 - 最终绑定 compute pipeline 并调用 `vkCmdDispatch(...)` ## 相关文档 - [VulkanCommandList](VulkanCommandList.md) - [SetComputeDescriptorSets](SetComputeDescriptorSets.md) - [VulkanPipelineState](../VulkanPipelineState/VulkanPipelineState.md)