Details
-
Technical task
-
Resolution: Done
-
P2: Important
-
None
-
None
Description
Qt Quick's ability to interoperate with custom, native graphics rendering code (Vulkan, Metal, D3D11, OpenGL) should be on part with what we offer when Qt Quick is using OpenGL directly. Losing functionality is only acceptable in cases that are accepted to be rarely used and/or seen as an outdated approach.
The following items should have a solution in Qt 6.0:
- How does one request extension on the Vulkan instance created by the renderloop? Currently can't, yet important when integrating external Vulkan content since Qt Quick cannot alone decide what extensions to enable for arbitrary 3rd party rendering code.
- How does one import a native device and similar objects? This would involve passing a QRhiXxxxNativeHandles to QRhi::create() in code working directly with QRhi. But since Qt Quick hides all that, this becomes impossible. Yet it is fairly essential for some advanced use cases. [customer input]
- How does one customize QRhi backend stuff, like which queues to request for the Vulkan device? Currently can't, may be relevant for external content - we had external contributions in QVulkanWindow for this, so interesting for some use cases.
- Even the recently introduced env.vars. are a bit suboptimal: consider code like this: https://github.com/alpqr/qrhivknvraytracing/commit/b8d9eb06810531fc1ed28ff237040ca52ca473c6#diff-29224632153b3e0f053085ebecf62728R105
Attachments
Issue Links
- relates to
-
QTBUG-78618 Conclude how to deal with the more up front nature of the QRhi API in Qt Quick
- Closed
- resulted from
-
QTBUG-78570 Add missing native texture interop enablers to the RHI port of Qt Quick
- Closed