XMLWordPrintable

    Details

    • Platform/s:
      All

      Description

      Qt Gui can not depend on OpenGL in Qt 6 anymore. Move all the OpenGL related classes into the Qt OpenGL module. (or somewhere else if that's removed/deprecated)

      To be done in line with QRhi's needs: this must not include things like QOpenGLContext, QOpenGL(Extra)Functions, and QOpenGLProgramBinaryCache, and all OpenGL-related QPA plumbing. Those are also dependencies for the RHI's OpenGL backend.

      This is currently being done in smaller chunks:

      done in reviews/waiting for coin

      QOpenGLDebugLogger
      QOpenGLTimerQuery
      QOpenGLWindow
      QOpenGLPaintEngine and related classes
      QOpenGLTexture and related classes
      QOpenGLTextureBlitter - Was used by QPlatformBackingStore, decoupled in this patch and moved in this one
      QOpenGLFrameBufferObject
      QOpenGLWidget Is currently in the QtOpenGL module, but should be moved to its own QtOpenGLWidgets module.
      QOpenGLShaderProgram - Can be moved after QOpenGLTextureBlitter
      QOpenGLVertexArrayObject - Can be moved after texture blitter
      QOpenGLBuffer - Can be moved after texture blitter
      QOpenGLVersionFunctions*: We're changing the API (source incompatible) slightly and moving these.

      This leaves us with:

      • qopengles2ext.h
      • qopenglextensions_p.h
      • qopenglext.h
      • qopenglextrafunctions.h
      • qopenglfunctions.h
      • qopengl.h
      • QOpenGLContext - Used by RHI, if we wan't to remove it from public gui API, we need to make it private and provide a wrapper in the opengl module
      • QOpenGLFunctions and QOpenGLExtraFunctions (non versioned) - These are used by RHI (same as QOpenGLContext)

      I modeled the dependencies as I came across them:

      The image is showing work of patches that I considered done (yellow boxes haven't passed reviews/CI yet).

        Attachments

        1. qtopenglclasses.png
          qtopenglclasses.png
          225 kB
        2. qtopenglclasses.png
          qtopenglclasses.png
          203 kB
        3. qtopenglclasses.png
          qtopenglclasses.png
          119 kB

          Issue Links

          Gerrit Reviews Web Panel

          Error rendering 'com.meetme.plugins.jira.gerrit-plugin:gerritreviewsmodule'. Please contact your Jira administrators.

            Activity

              People

              • Assignee:
                johanhelsing Johan Helsing
                Reporter:
                laknoll Lars Knoll
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Gerrit Reviews Side Panel

                  Error rendering 'com.meetme.plugins.jira.gerrit-plugin:gerrit-reviews-side-panel'. Please contact your Jira administrators.