Red Hat Bugzilla – Bug 458517
XRenderComposite fails to draw masked image on GM965
Last modified: 2009-12-04 12:56:35 EST
Description of problem:
My quarticurve-kwin-theme triggers a bug in the intel driver's XRender implementation: the diagonal stripes in the title bar aren't rendered when using the intel driver. They render just fine on ATI hardware using the radeon driver, or when I use QT_X11_NO_XRENDER=1 on the intel hardware/driver.
I have carefully checked my code, thinking it was a bug there, and finally tracked it down to what I'm fairly sure is a bug in the XRenderComposite implementation. (See "Additional Information" at the end.)
Version-Release number of selected component (if applicable):
(Can also be reproduced with qt-4.3.5-2.fc9 and quarticurve-kwin-theme-0.0-0.4.beta3.fc9.)
Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
Steps to Reproduce:
1. Install above packages on above hardware.
2. Start KDE.
3. In systemsettings, set the window decoration to Quarticurve.
4. Look at the title bar of an active window (i.e. one with a blue title bar).
Gradient only, no stripes.
The stripes are prerendered into a pixmap with a 1-bit mask. AFAICT, this prerendering works just fine, and it doesn't matter anyway what I render there, as soon as the mask is present (and even if everything is set to opaque), it doesn't work.
The prerendered mask is then drawn with this QPainter::drawTiledPixmap:
p2.drawTiledPixmap( r.x() + 2 + 2 + captionWidth, TOP_GRABBAR_WIDTH,
r.width() - 2 - 4 - captionWidth,
titleHeight+1, *titlePix );
QPainter::drawTiledPixmap simply calls the drawTiledPixmap routine from the relevant paint engine. The actual implementation of QX11PaintEngine::drawTiledPixmap can be seen here:
The essential part is that it calls:
pixmap.x11PictureHandle(), XNone, d->picture,
xOff, yOff, 0, 0, xPos, yPos, drawW, drawH);
and this fails on intel (but works on radeon). The way it fails is that it just draws nothing at all.
Created attachment 313865 [details]
Created attachment 313866 [details]
Isn't the attachment in the comment 2 broken?
Broken how? It's a cropped screenshot showing only the title bar because that's where the problem is. It's in PNG format.
OK, I see. Sorry, I misunderstood the original description. Assigning to ajax.
Still broken in Fedora 10.
Since this bugzilla report was filed, there have been several major updates in various components of the Xorg system, including Intel driver, which may have resolved this issue.
To be more precise, Intel has undergone a major rewrite during Fedora 10, 11 and 12 cycles, and whole driver is working a lot better now. Users who have experienced this problem are encouraged to retry with at least Fedora 12 Beta and see if the issue is still relevant.
Please, if you experience this problem on Fedora 12 Beta or up-to-date system running Rawhide, let us now in the comment for this bug, or whether the upgraded system works for you.
If you won't be able to reply in one month, I will have to close this bug as INSUFFICIENT_DATA. Thank you.
We hope to see how many older bugs in Intel driver are still relevant today, in hope that most of them were fixed in rewrite process.
[This is a bulk message for all open Fedora 10 i810-related bugs (39 of them are still open). I'm adding myself to the CC list for each bug, so I'll see any comments you make after this and do my best to make sure every issue gets proper attention.]
This message is a reminder that Fedora 10 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 10. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '10'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 10's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 10 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
Thank you for your bug report.
We are sorry, but the Fedora Project is will soon stop longer releasing bug fixes or any other updates for this version of Fedora. There were so many changes between Fedora 10 and Fedora 12 in Intel driver and X.Org that it's very likely that this bug is fixed. This bug will be set to CLOSED:WONTFIX to reflect this, but please reopen it if the problem persists after upgrading to the latest version of Fedora (version 12), which is available from: