Details
-
Suggestion
-
Resolution: Fixed
-
P3: Somewhat important
-
6.4.1
-
None
-
any
-
-
4d36a83b6 (dev), 6ff96b2dc (6.5), 6b0744066 (dev)
Description
Setup:
QQuickWindow::setGraphicsApi(QSGRendererInterface::Vulkan);
Scene graph backend is RHI.
Vulkan queue family index is often required in custom renderers, that uses QQuickItem created on QQuickWindow as a surface to draw. If one not provides custom VkInstance via QVulkanInstance and VkPhysicalDevice, VkDevice, queueFamilyIndex, queueIndex via QQuickGraphicsDevice, then it is impossible to get queueFamilyIndex and queueIndex via available API: QSGRendererInterface.getResource can't get (pointers to) that values, because it is unimplemented (there is even no suitable QSGRendererInterface::Resource:: enum value). As I can see QRhiVulkanNativeHanles contains all of them, but there is no public API to get.
Example of where queue family index is required: VkImageCreateInfo in image sharing mode requires pQueueFamilyIndices to be specified.
Attachments
For Gerrit Dashboard: QTBUG-108895 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
445713,4 | Expose Vulkan queue indices from QSGRendererInterface | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
445714,3 | rhi: vk: Fix up some legacy queue (family) index inconsistencies | dev | qt/qtbase | Status: MERGED | +2 | 0 |
449421,2 | rhi: vk: Fix up some legacy queue (family) index inconsistencies | 6.5 | qt/qtbase | Status: MERGED | +2 | 0 |