Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-104029

QSGRenderNode with OpenGL renderer interface does not draw anything

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • None
    • 6.3.0
    • Quick: SceneGraph
    • None
    • Windows

    Description

      This can be reproduced with the example app in "qtdeclarative\examples\quick\scenegraph\rendernode".

      It was removed in Qt 6, but the version in Qt 5.15.2 can be easily modified to compile in Qt 6:

      • Remove d3d12 specific files from pro file and related parts in customrenderitem.cpp
      • Remove "case QSGRendererInterface::OpenGLRhi" in customrenderitem.cpp
      • Add in main.cc: QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL);

      The app uses QSGRenderNode that is still public API in Qt 6.3, but the result is that no OpenGL content is visible when the app is launched. With environment variable "QMLSCENE_DEVICE=softwarecontext" it works fine.

      I have a similar problem in my own app that works in Qt 5.15.2. Debugged it in Qt 6.3 to see QSGRenderNode's render() function is called and everything looks to be fine. Have also tried to enable all error logging I could find: cannot see any errors anywhere, it just does not render anything.

      Although documentation indicates this approach would be still supported in Qt 6.3, is it?

      If not, what would be the best option for a similar type of OpenGL-based QtQuick item that can be drawn on top of other QML items?

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              janichol Andy Nichols
              -mtuokko- Mikko Tuokko
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes