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

QGLPixelBuffer context sharing not working with multihead on X11

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P2: Important P2: Important
    • 4.6.3
    • 4.5.0, 4.5.1, 4.5.2, 4.5.3, 4.6.0, 4.6.1
    • GUI: OpenGL
    • None
    • Kubuntu 8.04 32bit / X11 using proprietary NVidia driver (tested with various versions, e.g. 190.53) and multi-screen setup (NO Xinerama, multiple "screen" sections in xorg.conf)
    • 358bbd707bb5e0ce255559e45f8dedb9e9243a9d

      I'm using an PBO for offscreen rendering in a multihead Application on X11, but requesting a PBO with shared context which is located on a screen which is not the primary application screen fails. I have a patch which fixes this issue.

      Details:
      When looking at the source in qglpixelbuffer_x11.cpp, method init(), one can see that the PBO is created using a FBConfig which is for X11->Display, which is in fact the Display the application was started on.
      The QGLWidget to share the context with was created on another Display, which leads to requesting a GL context (for the PBO) which shares with a context from another display (screen). This cannot work and gives a "BadMatch" XError (see also GLX docu).
      Apart from this creating the PBO for the primary screen is wrong.

      The attached patch fixes this issue by using the display and screen from the share widget, if supplied, and falling back to the default values, if not.

      With kind regards, Bjoern Toschi

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

            kjernase Trond Kjernåsen (Inactive)
            bjoerntoschi Björn Toschi
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes