Bugzilla – Bug 12520
EXA greedy mode corruption
Last modified: 2007-11-17 13:41:18 UTC
when using EXA greedy mode, there corruption on mozilla (see attached screenshot).
This appeared with xserver-xorg-core 2:1.4-2 from debian unstable (http://packages.debian.org/changelogs/pool/main/x/xorg-server/xorg-server_1.4-2/changelog)
Also there some instability (random X crash).
Created attachment 11682 [details]
Created attachment 11683 [details]
This bug isn't nouveau specific. It's either a bug in EXA or in pixman. I'm not sure which, so I'll assign it to EXA for now :p
The corruption also appears when using EXA "greedy" with Gnome Nautilus. Any redraws for background damage after moving or closing a window, the damage is always drawn using top left (0,0) of the background. Switching to EXA "always" fixes problem.
This is on a R200 running xorg-server 1.4 release and xf86-video-ati current GIT so definitely not a Nouveau issue. Note bug still assigned to Nouveau Project project though.
The fallback case in exaFillRegionSolid needs to be fixed to use something else than fbFillRegionTiled, so the GC is taken into account properly. Any takers?
Created attachment 11757 [details] [review]
Probable fix, against server-1.4-branch
Does this patch fix it?
I tested the master branch by adding
pPatOrg->x != 0 || pPatOrg->y != 0
to the condition which fixes the issues for me.
Fixed on the master and no-pci-rework branches. Leaving this open though and making it a blocker for 1.4.1 so it'll hopefully end up there.
Debian xorg-server (2:1.4-3) works fine. It got the fix :
* Add 08_exa_fix_exaFillRegionTiled_fallback.diff by Michel DÃ¤nzer to punt
on fallback case not handled correctly in exaFillRegionTiled (backported
from master's c7d6d1f5); closes: #444203.
fixed in 1.4 branch