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

No check for Capability::MultipleWindows in eglfs

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P3: Somewhat important
    • None
    • 5.0.0
    • None
    • Any egl single full screen / null window surface implementations - TI, freescale etc. Primarily ARM, have not check the Mesa/Weston backends.

    Description

      When used in platforms that support only one window/surface, and therefore do not expose Capability::MultipleWindows, one surface should be created and shared. In current implementation 2 places are noted that call window/surface create repeatedly (for example, when opening a new menu item in browser application):

      1. from void QEglFSBackingStore::makeCurrent()
      {
      // needed to prevent QOpenGLContext::makeCurrent() from failing
      window()->setSurfaceType(QSurface::OpenGLSurface);
      (static_cast<QEglFSWindow *>(window()>handle()))>create();

      2. from QEglFSWindow::QEglFSWindow constructor.

      Though the platform plugin returns 0 windowId always, as there is no check for the platform capability for creation of multiple window/surfaces, the egl call fails resulting in application exit.

      The correct fix would be to fix the makeCurrent implementation that does not look kosher. We should not be creating new windows only to make the context current. The attached patch is a temporary work around till this is sorted out.

      Ofcourse there is an alternative to this - just use the minimalegl with the input event handling/cursor added to it, but there are other limitations in minimalegl as well.

      Patch also available at https://github.com/prabindh/qt-configs/

      Attachments

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

        Activity

          People

            rodal Samuel Rødal
            prabindh Prabindh Sundareson
            Votes:
            6 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes