获取队列句柄

创建逻辑设备时指定的队列会随着逻辑设备一同被创建,为了方便,我们添加了一个VkQueue成员变量来直接存储逻辑设备的队列句柄:

VkQueue graphicsQueue;

逻辑设备的队列会在逻辑设备清除时,自动被清除,所以不需要我们在cleanup函数中进行队列的清除操作。

vkGetDeviceQueue函数可以获取指定队列族的队列句柄。它的参数依次是逻辑设备对象,队列族索引,队列索引,用来存储返回的队列句柄的内存地址。因为,我们只创建了一个队列,所以,可以直接使用索引0调用函数:

vkGetDeviceQueue(device, indices.graphicsFamily, 0, &graphicsQueue);

创建完逻辑设备,我们就可以真正开始使用显卡来完成一些操作。在接下来的章节,我们将开始配置资源,进行一些绘制操作,将渲染结果显示在窗口上。

本章节代码:

C++:

https://vulkan-tutorial.com/code/04_logical_device.cpp