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

Add missing native texture interop enablers to the RHI port of Qt Quick

    XMLWordPrintable

Details

    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.

      QTBUG-78569 handles already a big part of the problem, by adding QQuickWindow::createTextureFromNativeObject(), implementing QSGRenderNode for the RHI code path as well, and shipping with examples like vulkanunderqml, metalunderqml and metaltextureimport.

      This is not quite sufficient yet however. At minimum the following item must have a solution in Qt 6.0 at latest:

      • What's the alternative to QSGTexture::textureId()? The QRhiTexture is available but private API so exposing that is not a solution. The opposite API (QQuickWindow::createTextureFromNativeObject()) is now added, so perhaps QSGTexture just needs a similar getter for a void *nativeObject + int nativeLayout. 

      [The rest of this list is now moved into separate tasks: QTBUG-80499 , QTBUG-80500, and QTBUG-80501]

      Attachments

        Issue Links

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

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes