Thanks guys for the detailed updates. I an appreciate any big sweeping changes, aren't lite nor simple.
I was after using Vulkan (to learn the API) with a widgets interface for now and going with the native window handle sounds simplest and best. I'll give it a try (a D3D12 type vulkan widget) and see what I come up with and if it's going to be of use to anyone I'll post it. Thanks again On Sun, 10 Apr 2016 02:45 Agocs Laszlo <[email protected]> wrote: > Hi, > > Sean's summary is perfect. 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. > > Right now Qt Quick is undergoing certain changes to make it more modular, > focusing on OpenGL, D3D, and the QPainter-based 2D Renderer for the time > being. This will allow multiple backends in the future, instead of being > tied to OpenGL (or the current iteration of the separate, somewhat hackish > 2D renderer). There are a number of issues to be investigated still, but we > expect most of the work to become available in Qt 5.8 and beyond. > > 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) > > Best regards, > Laszlo > ________________________________________ > From: Development <development-bounces+laszlo.agocs= > [email protected]> on behalf of Sean Harmer < > [email protected]> > Sent: Saturday, April 9, 2016 11:06:23 AM > To: [email protected] > Cc: Tom Kulaga > Subject: Re: [Development] Vulkan > > On Saturday 09 April 2016 01:57:24 Tom Kulaga wrote: > > Hi All, > > > > Is anyone actively working on vulkan integration? Or even a > QVulkanWidget? > > I saw that d3d12 had a preview widget so thought it was reasonable to > ask. > > > > If anyone isn't I'm keen to have a crack. In terms of implementation, is > it > > as naively simple as creating a new widget similar to the QOpenGLWidget > > one, just to get a drawable canvas up and running? I believe that on > Linux > > a xcb_window_t is used for vulkan samples and deep in the QPA I saw it > too. > > > > I was wondering if for a novice like me this would be feasible to > actually > > do? > > > > Does the whole rendering stack need to transfer over to vulkan? > > It all depends what level of integration you are after. Using a QWindow and > using Vulkan with it doesn't require much. Making something equivalent to > QOpenGLWidget is much more work as you have to worry about compositing > QPainter content into the window too. > > Making a Vulkan backend for Qt Quick 2 is also more work, considerably more > work than much of the other low hanging fruits that could be used to > improve > performance there on the existing OpenGL backend. Although, like the D3D12 > backend it might give better results on windows (for Vulkan capable > hardware). > > Putting a Vulkan backend on Qt 3D is a very real possibility and one where > Vulkan could potentially make a big impact. This is something I want to > investigate later after we have done a stable release or two of Qt 3D. The > good thing is that Qt 3D's architecture maps very well to Vulkan (by > design). > > Some IHV's provide drivers that have OpenGL/Vulkan interop in that you can > use > both Vulkan and OpenGL on the same surface which would be another > interesting > option if this support becomes widespread. > > If you want to have a go, then certainly nobody is going to stop you and > you > may well get some help. We have some early proof of concept stuff we can > look > to tidy up and publish along these lines. > > Cheers, > > Sean > -- > Dr Sean Harmer | [email protected] | Managing Director UK > Klarälvdalens Datakonsult AB, a KDAB Group company > Tel. UK +44 (0)1625 809908, Sweden (HQ) +46-563-540090 > KDAB - Qt Experts - Platform-independent software solutions > _______________________________________________ > Development mailing list > [email protected] > http://lists.qt-project.org/mailman/listinfo/development >
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
