解析:命令缓冲区使用标志

No replies
Demi
Demi 的头像
Offline
Joined: 2017-03-07

在PowerVR硬件上,我们建议不要设置命令缓冲区使用标志(即0),除非应用程序需要特定行为。

以下列表包含API公开的当前使用标志及其适当的用法:

  ▲   VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
此标志通知驱动程序命令缓冲区将多次提交。因此,驱动程序在提交到队列后必须执行整个缓冲区的副本。如果绝对必要,应用程序应该只设置此标志。

    •  请注意,此方法比每帧手动创建另一个相同的缓冲区更快。如果应用程序需要这种类型的功能,我们建议在辅助命令缓冲区中设置此标志,并始终重建主命令缓冲区。这是因为当辅助命令缓冲区被记录到主命令缓冲区(即,vkCmdExecuteCommands)而不是当缓冲区被提交到队列时(即,vkQueueSubmit),子命令缓冲区的副本完成。

  ▲  VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
如果命令缓冲区是辅助节点,并且在渲染过程中当前正在执行,则必须设置此标志。

  ▲  VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
当提交时,当前标志对驱动程序处理命令缓冲区的方式没有影响。 但是,未来的驱动程序可能会使用此标志作为编译命令缓冲区所花时间的提示。 因此,为了使可移植性最大化,您应该设置应用程序是否打算仅提交一次命令缓冲区。

--电子创新网--
粤ICP备12070055号