销毁描述符池
译者注:示例代码点击此处
当我们不再需要描述符池时,可以销毁它(使用从池中分配的所有描述符集)。
怎么做...
- 获取已创建逻辑设备的句柄并将其存储在名为logical_device的VkDevice类型的变量中。
- 通过名为descriptor_pool的VkDescriptorPool类型的变量提供描述符池的句柄。
- 调用vkDestroyDescriptorPool( logical_device, descriptor_pool, nullptr )并提供logical_device和descriptor_pool变量以及nullptr值。
- 为安全起见,请将VK_NULL_HANDLE值分配给descriptor_pool变量。
这个怎么运作...
销毁描述符池会隐式释放从中分配的所有描述符集。我们不需要首先释放单个描述符集。但正因为如此,需要确保从池中分配的描述符集都不被硬件当前处理的命令引用。
当我们准备好了,可以像这样销毁一个描述符池
if( VK_NULL_HANDLE != descriptor_pool ) {
vkDestroyDescriptorPool( logical_device, descriptor_pool, nullptr );
descriptor_pool = VK_NULL_HANDLE;
}