Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-74406 Abstract away the graphics APIs in Qt
  3. QTBUG-80499

APIs to extend and customize the QRhi backend, esp. when managed by Qt Quick

    XMLWordPrintable

    Details

    • Type: Technical task
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: Qt RHI, Quick: SceneGraph
    • Labels:
      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.

        Attachments

          Issue Links

          For Gerrit Dashboard: QTBUG-80499
          # Subject Branch Project Status CR V

            Activity

              People

              Assignee:
              lagocs Laszlo Agocs
              Reporter:
              tvete Paul Olav Tvete
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes