Vulkan 没有命令缓冲区的提交队列是否有效使用?

Vulkan 没有命令缓冲区的提交队列是否有效使用?,vulkan,Vulkan,当VkSubmitInfo命令缓冲区参数设置为0 count和nullptr指针时,调用vkQueueSubmit的有效用例是什么 示例代码: VkFenceCreateInfo fenceInfo{}; VkFence围栏; vkCreateFence(设备、fenceInfo、nullptr和fence); std::载体亚微fos; VkSubmitInfo submitInfo{}; ... submitInfo.commandBufferCount=0; submitInfo.pCom

VkSubmitInfo
命令缓冲区参数设置为0 count和
nullptr
指针时,调用
vkQueueSubmit
的有效用例是什么

示例代码:

VkFenceCreateInfo fenceInfo{};
VkFence围栏;
vkCreateFence(设备、fenceInfo、nullptr和fence);
std::载体亚微fos;
VkSubmitInfo submitInfo{};
...
submitInfo.commandBufferCount=0;
submitInfo.pCommandBuffers=nullptr;
...
submitInfo.推回(submitInfo);
vkQueueSubmit(队列,submitInfos.size(),submitInfos.data(),围栏);
我可以只考虑一件事,那就是给围栏发信号,但这样做对我来说毫无意义(因为它可以在信号状态下重置或创建)


这样做是否有(其他)有效的用例?

我不明白这个问题的目的。如果这样做可能有用,那又有什么关系呢?空批次的行为由规范明确定义。那么你对这里的内容感兴趣吗?@NicolBolas我只是想知道在没有任何命令缓冲区的情况下提交到队列的合理用例是什么,因为在讨论这个话题时,我无法想到任何这样的情况。我不明白这个问题的目的。如果这样做可能有用,那又有什么关系呢?空批次的行为由规范明确定义。那么,您对这里的内容感兴趣吗?@Nicolas我只是想知道,在没有任何命令缓冲区固定提交的情况下提交到队列的合理用例是什么,因为在讨论这个主题时,我想不出任何这样的用例。
  VkFenceCreateInfo fenceInfo{};
  VkFence fence;
  vkCreateFence(device, &fenceInfo, nullptr, &fence);

  std::vector<VkSubmitInfo> submitInfos;
  VkSubmitInfo submitInfo{};
  ...
  submitInfo.commandBufferCount = 0;
  submitInfo.pCommandBuffers = nullptr;
  ...
  
  submitInfos.push_back(submitInfo);

  vkQueueSubmit(queue, submitInfos.size(), submitInfos.data(), fence);