Vulkan销毁信号

Vulkan销毁信号
信号可以反复多次被使用,因此在应用程序运行时通常不需要删除它们。但是当不再需要使用某个信号,而且可以确定该信号没有正在被设备使用时(包括没有暂停等待操作和暂停发出操作),可以销毁该信号。

具体处理过程

(1)获取逻辑设备的句柄,将该句柄存储到一个VkDevice类型的变量中,将该变量命名为logical_device。
(2)创建一个VkSemaphore类型的变量,将其命名为semaphore,将需要销毁的信号的句柄存储到该变量中,确保该信号没有被任何提交操作引用。
(3)调用vkDestroySemaphore(logical_device,semaphore,nullptr)函数。将第一个参数设置为逻辑设备的句柄;将第二个参数设置为信号的句柄;将第三个参数设置为nullptr。
(4)为安全起见,将VK_NULL_HANDLE赋予semaphore变量。

具体运行情况

销毁信号的代码非常简单。

Vulkan销毁信号

在销毁信号前,必须确保该信号当前没有被任何向队列提交命令的操作引用。

如果在提交操作中引用过需要发出信号的列表或指定提交操作需要等待的信号列表中的某个信号,就必须确保已提交的命令已经被执行完。要做到这一点,可使用应用程序等待的栅栏、等待将所有操作提交给指定队列的函数或将要被销毁的整个逻辑设备。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!

 

Vulkan实战