Utilizing Vulkan Within Qt
A Qt user brought up a mailing list discussion over Vulkan usage within Qt. A few interesting remarks were made by upstream developers.
Those wanting to checkout the Qt-Vulkan mailing list discussion can do so via this Qt-Project.org list. It was basically inquiring about the Vulkan support plans for Qt and what's possible.
Sean Harmer of KDAB was first to reply to say that using a QWindow with VUlkan doesn't take much work, but going further like a Qt Quick 2 Vulkan back-end or a Vulkan back-end for Qt 3D would be much more owkr. Sean is particularly interested in Vulkan for Qt 3D rendering and plans to investigate it in a stable release or two of Qt 3D.
He also mentioned, "We [at KDAB] have some early proof of concept stuff we can look to tidy up and publish along these lines."
Agocs Laszlo of The Qt Company also commented, "If you are after integrating your Vulkan renderer into a non-Quick app, use a QWindow and QWidget::createWindowContainer, like the D3D12 samples did. All you need is a native window handle (e.g. a HWND on Windows which is exactly what QWindow::winId() will give you; on other platforms there are backend-specific means to acquire the native window via QPlatformNativeInterface). Integrating Vulkan rendering into an OpenGL-based Qt Quick scene can be more complicated, so at first I would rather look at the (unfortunately vendor-specific) GL_NV_draw_vulkan_image extension. This, in combination with GL_KHR_vulkan_glsl, is likely the easiest way to get started and combine the two worlds."
Laszlo ended with, "However, it is important to note that a full-blown Vulkan (or Metal for that matter) backend for Qt Quick is not something that will be rushed, so I wouldn't expect much on that front short-term. The benefits of the new low-level APIs are expected to be fairly limited for the workloads typical user interfaces generate. (this naturally does not apply to Qt 3D)"
That proper Vulkan integration into the Qt toolkit will eventually come and it was around Vulkan's launch time is when The Qt Company joined The Khronos Group.
Those wanting to checkout the Qt-Vulkan mailing list discussion can do so via this Qt-Project.org list. It was basically inquiring about the Vulkan support plans for Qt and what's possible.
Sean Harmer of KDAB was first to reply to say that using a QWindow with VUlkan doesn't take much work, but going further like a Qt Quick 2 Vulkan back-end or a Vulkan back-end for Qt 3D would be much more owkr. Sean is particularly interested in Vulkan for Qt 3D rendering and plans to investigate it in a stable release or two of Qt 3D.
He also mentioned, "We [at KDAB] have some early proof of concept stuff we can look to tidy up and publish along these lines."
Agocs Laszlo of The Qt Company also commented, "If you are after integrating your Vulkan renderer into a non-Quick app, use a QWindow and QWidget::createWindowContainer, like the D3D12 samples did. All you need is a native window handle (e.g. a HWND on Windows which is exactly what QWindow::winId() will give you; on other platforms there are backend-specific means to acquire the native window via QPlatformNativeInterface). Integrating Vulkan rendering into an OpenGL-based Qt Quick scene can be more complicated, so at first I would rather look at the (unfortunately vendor-specific) GL_NV_draw_vulkan_image extension. This, in combination with GL_KHR_vulkan_glsl, is likely the easiest way to get started and combine the two worlds."
Laszlo ended with, "However, it is important to note that a full-blown Vulkan (or Metal for that matter) backend for Qt Quick is not something that will be rushed, so I wouldn't expect much on that front short-term. The benefits of the new low-level APIs are expected to be fairly limited for the workloads typical user interfaces generate. (this naturally does not apply to Qt 3D)"
That proper Vulkan integration into the Qt toolkit will eventually come and it was around Vulkan's launch time is when The Qt Company joined The Khronos Group.
3 Comments