Vulkan销毁栅栏

Vulkan销毁栅栏
栅栏可以反复多次使用,但当我们不再需要使用栅栏时(通常是在关闭应用程序前),应该销毁它们。

具体处理过程

(1)获取逻辑设备的句柄,将该句柄存储在一个VkDevice类型的变量中,将该变量命名为logical_device。
(2)获取需要销毁的栅栏的句柄,将该句柄存储在一个VkFence类型的变量中,将该变量命名为fence。
(3)调用vkDestroyFence(logical_device,fence,nullptr)函数。将第一个参数设置为逻辑设备的句柄;将第二个参数设置为fence变量;将第三个参数设置为nullptr。
(4)为安全起见,将VK_NULL_HANDLE赋予fence变量。

具体运行情况

使用vkDestroyFence()函数可以销毁栅栏。

Vulkan销毁栅栏
不需要检查fence变量的值是否等于VK_NULL_HANDLE,因为销毁空句柄的操作会被驱动程序忽略,但这样做可以避免执行一个不必要的函数调用操作。

我们无法销毁非法对象(如不是在指定逻辑设备上创建的对象,或已经被销毁的对象),这就是将存储栅栏句柄的变量的值设置为VK_NULL_HANDLE的原因。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!

 

Vulkan实战