There is garbage on screen with some stretched XRender pictures with radeon driver and enabled EXAPixmaps, see for example MSEide without xorg.conf http://sourceforge.net/projects/mseide-msegui/ MSEgui uses stretched one pixel width or height pixmaps in order to draw linear color gradients. If you add Option "EXAPixmaps" "off" in Section "Device" of xorg.conf display is OK but performance falls. Same problem using NOUVEAU driver. I can't figure out how disable EXAPixmaps for nouveau driver. Reproducible: Always
Created attachment 86093 [details] Image OK
Created attachment 86094 [details] Image showing the issue
Created attachment 86095 [details] Showing the issue with default MSEide options
Comment on attachment 86094 [details] Image showing the issue Running MSEide with -ns option (No skin)
Using Debian stable, testing, sid, Ubuntu 12.04.... Really this happens since KMS was used IIRC. In fact using radeon.modeset=0 fixes it for some ATI cards
MSEgui renders dirty regions first on a pixmap which will be copied to screen by xcopyarea() after completed rendering. It seems the problems with current radeon driver are independent if there are stretched xrender pictures or not.
Created attachment 86142 [details] Test program screenshot
Created attachment 86143 [details] Test program
Attached test program. Press Alt+ArrowDown,Esc. The project is here: https://gitorious.org/mseuniverse/mseuniverse/source/54e47cd378d8ef208df0dbbf69302e9ef85216ca:testcase/graphics/radeon
The same issue using nouveau driver can be solved disabling acceleration. For example: Section "Device" Identifier "Nouveau" Driver "nouveau" Option "NoAccel" "on" EndSection Using radeon, only EXAPixmaps off is required.
Disabling radeon's EXAPixmaps also mostly disables hardware acceleration.
Intel driver is not affected because doesn't use EXA. IIRC using XAA instead of EXA is working fine too so all is pointing to EXA.
Created attachment 97945 [details] bug confirmation
I have same bug.
Created attachment 106606 [details] Test OK
Created attachment 106608 [details] Test not OK
We could simplify the testcase: https://gitorious.org/mseuniverse/mseuniverse/source/testcase/graphics/radeon Running the program in debugger and moving the window shows an image like the attachment "Test not OK". MSEgui draws the button glyph by a xfillrectangle() with the glyph bitmap as stipple mask. It seems that if there follows an immediate xdrawlines() which touches the xfillrectangle() area the distortion happens. Example: xdrawlines() with ((x:24;y:25),(x:130;y:25),(x:130;y:50)) -> distorted, xdrawlines() with ((x:24;y:25),(x:80;y:25),(x:80;y:50)) -> OK. Also "xflush(); sleep(10ms);" or "xsync()" between xfillrectangle() and xdrawlines() prevents the distortion.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/xserver/issues/79.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.