Vulkan Cmd buffer

Vulkan 3 - Command buffers

Vulkan 中的其中一个重要的操作对象,命令缓存区,用来记录各种各样的命令的。
每组命令缓存区都有自己的状态,这个状态是不被继承的,状态包括:初始状态、记录状态、执行状态。

Cmd buffer的的存储资源是从cmd pools里申请的,(需要注意的cmd pools 不能多线程公用)。所以,在使用cmd buffer 之前必须 create a cmd pool!

申请好cmd buffer 之后,将Cmdbuffer设置为record 状态,将cmd buffer 提交到对应的队列中,做这个动作的时候要注意,在提交的时候,应用程序不能对队列做任何操作。同时需要注意同步的semaphore 和event的问题。

以上是生硬翻译spec, 也没有细读,问题来了:  做了这么多的cmd buffer 的操作,那么命令是怎么何时填到cmd buffer里去的呢。。。

我的理解是:先把cmd buffer 申请好,并绑定到对应的队列中,然后等到具体命令来的时候,调用vkCmdFillBuffer 把具体的命令填到buffer里面, Done!

Bravo!!看到文章的大神们,如果不对的话,求指点。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值