Closed Bug 413583 Opened 17 years ago Closed 16 years ago

cairo xlib buggy_repeat not detected correctly

Categories

(Core Graveyard :: GFX, defect, P1)

x86
Linux

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: zzxc, Assigned: vlad)

References

()

Details

(Whiteboard: [b3: bandaid checked in])

Attachments

(4 files, 1 obsolete file)

Attached file xdpyinfo output
With certain background images, including the "master-vfl31713.gif" image on Youtube, garbage from elsewhere on the screen results on Linux instead of the actual image.  See the URL for an example broken page - it references the broken image both on youtube.com and a backup on my server.  The header with the search box on www.youtube.com is also broken.

Note that the issue doesn't occur with the mozilla.org gif at the bottom.  The issue also does not occur with a "background-repeat: no-repeat" rule.

This regressed between the 2007-01-17 and 2007-01-19 nightly builds, when Cairo was upgraded.
Adding screenshot of URL
I see this as well.  I'm using the radeon driver (that's the free one) on Fedora 8.
Flags: blocking1.9?
Summary: Garbage output with certain background images → cairo xlib buggy_repeat not detected correctly
Matthew says he's using the 'ati' driver (which I assume is 'radeon' by another name?).

What changed in cairo is that the X server started reporting a different version number, without changing the vendor string -- so for a while there it was reporting version 1.x and cairo was setting buggy_repeat on for all servers under 6.8; this was recently fixed to only look at servers > 6.0.

So we have a problem; this may be driver-specific.  I have a radeon machine at work now with ubuntu on it, i'll check this tomorrow.

If this -is- driver specific, I have no idea what to do.  The buggy_repeat path is slow.
Flags: blocking1.9? → blocking1.9+
Priority: -- → P1
Note that we have an easy workaround, if necessary, for the beta: we go back to the old 'broken' variant and unconditionally set broken_repeat to TRUE.

I don't think we have a good way of detecting which driver is in use at runtime (maybe we can fudge it if GLX is enabled and getting the OpenGL renderer string?).
Yeah, I can reproduce this with the ati/radeon driver.  Ugh.
I was asked to describe my configuration: I run X.org 7.2 with the sis display
driver, version 0.9.3.
Sorry, that should be X.org 1.3.0, X11R7.2.
I'm also using the radeon driver with xorg 1.3.0.0
Oh, and the radeon driver is apparently version 6.7.196
I get this with xorg 1.3.0.0 and the intel i810 driver. 
Attached patch beta bandaidSplinter Review
Okay; I do not want to ship a beta with this bug, because in the worst case it can cause X server crashes or other massive system instability.  Instead, this patch enabled the old workaround at the cost of some performance.
Whiteboard: [b2: bandaid checked in]
Whiteboard: [b2: bandaid checked in] → [b3: bandaid checked in]
We're working on fixing this in cairo very soon.
This is on Fedora/Rawhide with the latest xorg-x11-drv-ati and firefox3
packages (upgraded daily)
vlad, is there a bug opened on the cairo and/or X.org side ?
As is, this bug is fixed (AFAIK); there is still an underlying issue here, but we can't fix that on the mozilla side.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: