Я использую пример QVulkanWindow , пытаясь загрузить изображение и отобразить его в окне Qt.
Это устанавливает экземпляр Vulkan:
if (!inst.create())
qFatal("Failed to create Vulkan instance: %d", inst.errorCode());
VulkanWindow w;
w.setVulkanInstance(&inst);
Теперь в initResources()
класса VulkanRenderer я хочу получить GraphicsQueue с устройства:
m_devFuncs->vkGetDeviceQueue(device, VK_QUEUE_GRAPHICS_BIT, 0, &graphicsQueue);
Я получаю ошибку:
vkDebug: Validation: 0: [ VUID-vkGetDeviceQueue-queueFamilyIndex-00384 ] Object: 0x564e779a5f90 (Type = 3) |
vkGetDeviceQueue: queueFamilyIndex (= 1) is not one of the queue families given via VkDeviceQueueCreateInfo structures when the device was created.
The Vulkan spec states: queueFamilyIndex must be one of the queue family indices specified when device was created, via the VkDeviceQueueCreateInfo structure
Не установил ли Qt Графическая очередь? Или я делаю это неправильно? Или я должен создать свой собственный VkInstance и передать его в Qt?