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

GL_INVALID_OPERATION in QSGNode dtor on macOS

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Not Evaluated Not Evaluated
    • None
    • 5.7.0
    • Quick: SceneGraph
    • None
    • macOS Sierra (10.12.1)
      Qt 5.7 compiled from source
    • macOS

      When implementing a custom QQuickItem with QQuickItem::ItemHasContents flag set, and using a custom QSGNode in QQuickItem::updatePaintNode, the QSGNode dtor, though properly called in the render thread and with an apparently valid context, returns GL_INVALID_OPERATION upon calling glGetError().

      This causes 3rd party code which checks for GL errors upon each call (e.g. in debug mode) to misbehave.

      Attached reduced test case that exemplifies the issue.

      Similar to https://bugreports.qt.io/browse/QTBUG-54612.

      When running the attached test case, you should see two different lines in stdout:

      QSGCustomNode 0
      ~QSGCustomNode 1282

      The former is from QSGNode ctor, and the latter the dtor. The associated number is the result from calling glGetError() - 1282 represents GL_INVALID_OPERATION.

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

            sletta Gunnar Sletta
            brunoabinader Bruno de Oliveira Abinader
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes