Details
-
Bug
-
Resolution: Done
-
P2: Important
-
4.5.0, 4.5.1, 4.5.2, 4.5.3, 4.6.0, 4.6.1
-
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
Description
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