Vulkan等待所有命令处理完

**Vulkan等待所有命令处理完
**有时需要使应用程序等待,直到提交给逻辑设备中所有队列的所有作业都被处理完后为止。这种等待操作的目的,通常是在关闭应用程序前销毁所有已创建和分配的资源。

具体处理过程

(1)获取已创建逻辑设备的句柄,将该句柄存储在一个VkDevice类型的变量中,将该变量命名为logical_device。
(2)调用vkDeviceWaitIdle(logical_device)函数,将参数设置为已创建逻辑设备的句柄(logical_device变量)。
(3)通过查明该函数调用操作的返回值为VK_SUCCESS,确认该函数调用操作成功完成。

具体运行情况

vkDeviceWaitIdle()函数会使应用程序暂停运行,直到逻辑设备不再被占用为止。这与使应用程序等待,直到已提交给指定设备中所有队列的所有命令都被执行完为止的情况类似。

vkDeviceWaitIdle()函数通常会在关闭应用程序前被调用。当销毁资源时,必须确保这些资源不再被逻辑设备使用。vkDeviceWaitIdle()函数可以确保我们能够安全地执行这类销毁操作。

下面的代码可以使应用程序在已提交给设备的所有命令被执行完之前等待。

Vulkan等待所有命令处理完

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!

 

Vulkan实战