销毁逻辑设备
译者注:示例代码点击此处
在我们完成并且想要退出应用程序时,应该自己清理。 尽管在Vulkan实例被销毁时驱动程序应自动销毁所有资源,但我们也应该在应用程序中明确地执行此操作以遵循良好的编程习惯。 销毁资源的顺序应与创建它们的顺序相反。
提示:资源应该按照其创造的相反顺序释放。
在本章中,逻辑设备是最后创建的对象,因此它将首先被销毁。
怎么做...
1.获取已创建并储存在名为logical_device的VkDevice类型变量中的逻辑设备句柄。
2.调用vkDestroyDevice( logical_device, nullptr )第一个参数传入logical_device,第二个参数为nullptr。
3.出于安全原因,请将VK_NULL_HANDLE值分配给logical_device变量。
这个怎么运作...
逻辑设备销毁的内容实现非常简单。
if( logical_device ) {
vkDestroyDevice( logical_device, nullptr );
logical_device = VK_NULL_HANDLE;
}
首先,我们需要检查逻辑设备句柄是否有效,因为我们不应该销毁未创建的对象。然后,我们使用vkDestroyDevice()函数销毁设备。并将VK_NULL_HANDLE值分配给储存逻辑设备句柄的变量。我们这样做只是为了以防万一(如果我们代码中有错误),我们不会两次销毁同一个对象。
请记住,当销毁逻辑设备后,我们无法再使用从中获取的设备级功能。