Bug 12520 - EXA greedy mode corruption
Summary: EXA greedy mode corruption
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/Acceleration/EXA (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
Depends on:
Blocks: xorg-server-1.4.1
  Show dependency treegraph
Reported: 2007-09-22 05:57 UTC by Matthieu CASTET
Modified: 2007-11-17 13:41 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

EXA corruption (10.04 KB, image/png)
2007-09-22 05:58 UTC, Matthieu CASTET
no flags Details
xorg log (34.79 KB, text/plain)
2007-09-22 06:00 UTC, Matthieu CASTET
no flags Details
Probable fix, against server-1.4-branch (690 bytes, patch)
2007-09-26 00:48 UTC, Michel Dänzer
no flags Details | Splinter Review

Description Matthieu CASTET 2007-09-22 05:57:30 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).
Comment 1 Matthieu CASTET 2007-09-22 05:58:18 UTC
Created attachment 11682 [details]
EXA corruption
Comment 2 Matthieu CASTET 2007-09-22 06:00:37 UTC
Created attachment 11683 [details]
xorg log
Comment 3 Tilman Sauerbeck 2007-09-22 08:40:18 UTC
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
Comment 4 Alan Swanson 2007-09-23 08:49:02 UTC
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.

Comment 5 Michel Dänzer 2007-09-24 03:40:34 UTC
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?
Comment 6 Michel Dänzer 2007-09-26 00:48:27 UTC
Created attachment 11757 [details] [review]
Probable fix, against server-1.4-branch

Does this patch fix it?
Comment 7 Tilman Sauerbeck 2007-09-26 08:10:44 UTC
I tested the master branch by adding
  pPatOrg->x != 0 || pPatOrg->y != 0
to the condition which fixes the issues for me.
Comment 8 Michel Dänzer 2007-09-27 04:42:52 UTC
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.
Comment 9 Matthieu CASTET 2007-09-30 07:49:26 UTC
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.
Comment 10 Daniel Stone 2007-11-17 13:41:18 UTC
fixed in 1.4 branch

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.